Programming Languages: A Scratch Experiment and Language Comparison

 

Programming Languages: A Scratch Experiment and Language Comparison


Overview of the Scratch Project

For this project, I decided to make a simple game of catch the ball that would last 30 seconds.  Each time the ball touched the bowl, the score would increase.  Each time you click the green flag, the game resets.  I did not want to bite off more than I could chew, so I kept it simple.

What I Learned About Programming

I have done some programming with Python before.  I enjoy the way the process goes from writing pseudo code to writing code to seeing results.  This project was different as it felt linear. When you pressed the green flag, it appeared multiple times and triggered different things simultaneously, but it was not within the exact code string.

Comparing Scratch Experience to Compiled, Interpreted, Assembly, and Query Languages

According to Professor Flores of University of Arizona, "Scratch is a visual, block-based programming language designed to make coding accessible and fun, especially for beginners and younger learners" (J. Flores, personal communication, September 18, 2025).

Scratch has a lower barrier to entry.  Being so visual makes starting the process reasonably straightforward for your first programs.  Compiled languages like C or C++ go from source to the compiler to machine code to run.  This makes performance and optimization better.  It also makes error detection clear at the time of compilation.

Interpreted languages like Python and JavaScript are executed by an interpreter, which is great for rapidly prototyping.  Scratch was similar to the way you use logic in Python.

Assembly language is human-readable mnemonics mapped to machine instructions.  It has excellent hardware control but a steep learning curve.  Scratch and Assembly are at opposite ends of the spectrum in many ways.

Lastly, query languages state what you want from the data and what to do with it.  Hard to compare to Scratch as the purposes of them are different.

Language I Found Easiest and Why

I would pick Python as the easiest, as I have experience writing scripts for network and security automation.  It would have been easier if I had spent some time with Scratch, but it still would not have allowed me to do what I needed to do in a professional environment.

When to Use Each Language Type

Compiled code should be used when performance and real-time are important.  Things like embedded firmware and graphics engines are examples.  (Compiler, 2025)

Interpreted languages are perfect for scripting, automation, and prototyping.

Assembly is used for device drivers and microcontroller code.  It is also used in the cyber world for reverse engineering.

Query is mainly used in the database world to make analytics dashboards. (Ousterhout, 2010)

Which Programming Language is the Most Popular in my Opinion and Why

I would say that Python right now is one of the more popular languages.  This are some of the reasons why.

Easy to Learn & Readable

  • Python uses plain-English keywords (if, for, print) and has simple syntax, which makes it less intimidating for beginners compared to languages with heavy punctuation (like C++ or Java).
  • Code looks clean and close to pseudocode, which makes it easier to understand and maintain.

Versatility Across Fields

  • Python works for many domains: web development (Django, Flask), data science (pandas, NumPy), machine learning (TensorFlow, PyTorch), automation, cybersecurity scripting, and more.
  • This “do-everything” nature means people can stay in one language as they branch into different tech areas.

Strong Community & Libraries

  • Python has one of the largest open-source communities, which means tons of tutorials, Q&A on Stack Overflow, and shared code.
  • Its library ecosystem saves time: for example, instead of writing math or database functions from scratch, you import numpy or sqlite3.

Interpreted & Interactive

  • Being interpreted means you can run code right away (no compiling step), making it great for rapid testing and prototyping.
  • Tools like IDLE, Jupyter Notebooks, and REPLs let you experiment interactively.

Bridges Block-Based Learning

  • For you, Scratch → Python felt like a natural step: loops, variables, and conditionals look very similar in Python, just with text instead of blocks.


References

Compiler. (2025, Aug 22). Encyclopedia Britannica. https://www.britannica.com/technology/compiler

Ousterhout, J. (n.d.). SQL: A language for creating and manipulating relational databases (Stanford lecture notes). Stanford University. https://web.stanford.edu/~ouster/cgi-bin/cs142-fall10/lecture.php?topic=sql


Comments