Post 1: Programming Languages

 

https://scratch.mit.edu/projects/1173474794

Building this program using the site Scratch was a new eye-opening experience for me. This was as new way for me to explore creativity through programming. Scratch uses its colorful interface and blocked coding system to allow users to conjure a list of simple interactive animations without the use of the complex programming rules. I create a simple game at the end of space exploration where the object has to jump over obstacles to avoid attack

My process included dragging and piecing each block together to represent the different programming constructs like loop, motions, and events. This method makes it easy to understand the flow of the program and how each part contributes to the overall fit form and function of the program before running.

Through this experience, I have gained several insights about programming and how programs can and can't run. My first realization was the importance of logic when developing and structuring a program. Even though Scratch is a simplified version for programming it still requires a concise understanding of how events provide certain actions. Throughout the entire project there was a constant cycle of me testing and refining the program, to me this was a key part of the process, regardless of the language used.

Creating an interactive Scratch project titled Moon Mission (Scratch, 2025) provided a valuable and enjoyable introduction to programming. The goal of my project was to guide a rocket ship from Earth to the Moon while integrating sprite movement, costume changes, backdrop transitions, and user interaction. Using approximately 30 blocks, I designed a sequence in which the rocket launches, flies through space, lands on the Moon, and then avoids gliding robots by jumping over them using the spacebar. Each element—gliding sprites, costume changes, keyboard input, and collision-like logic—helped me build a cohesive, animated experience. Although Scratch uses a visual, block-based coding system, it helped me develop foundational programming skills like sequencing, conditional logic, and event handling.

From this exercise, I gained several insights into programming. Most importantly, I learned that successful programming requires breaking down tasks into logical steps. For example, the rocket’s movement and the robots’ gliding required carefully timed sequences and control structures like loops and events. I also learned how programming involves testing and debugging. The robots and Rocketship had man different locations to travel through on each backdrop. This required specific alignments between the x and y axis. Certain areas of the sprites had to be hidden until a specific backdrop was displayed which was pretty cool to set into place as the timing had to be perfect for smooth transitions. The game aspect was basically a duplicate of a certain sprite, but the alignment was the same which made is appear to be only one sprite available. My work though for this was selecting the sprite on the backdrop moving it to a different place the setting is axix of origin

When comparing my Scratch experience to the programming language categories in Section 10.1 of the textbook—compiled, interpreted, assembly, and query languages—I found Scratch most closely aligned with interpreted languages. Like Python or JavaScript, Scratch runs in real time and gives immediate feedback, making it easier to experiment and iterate. In contrast, compiled languages such as C++ require a full build process before errors are revealed, which can be more complex and less forgiving for beginners. Assembly languages are much more technical and require detailed hardware-level understanding, while query languages like SQL are designed for interacting with databases, which did not apply to my project.

Of all the language types, interpreted languages were the easiest for me to understand. Scratch simplified many concepts, but it still mirrored the logic and structure used in interpreted programming environments. The instant feedback and visual nature of Scratch made it easy to see cause and effect, reinforcing the way that code controls behavior. This clarity helped me grasp broader programming concepts that will apply to languages like Python as I advance.

Assembly languages are most effective in situations requiring direct hardware control, such as embedded systems or low-level device drivers. Query languages, like SQL, are crucial in database-driven applications where retrieving, updating, or analyzing structured data is required. Scratch, while not a formal language in these categories, is uniquely effective in education, especially for introducing new learners to fundamental programming logic in a visual way.

Each language type has its own strengths and weaknesses depending on how they are used in scenarios. Compiled languages can be best suited for performance-intensive tasks like software developing game engines and system level apps. Interpreted languages are more scripting driven and used for educational settings due to their flexibility. Query languages like SQL are imperative in database driven when retrieving, updating, and analyzing structured data is required. Scratch helps new learners gain a fundamental understanding of programming logic in an eye-catching way.

Overall, my Explore project (Scratch, 2025) was both intriguing and educational. It served as an accessible foundation for developing my programming logic as my knowledge as my programming experience is limited and learning how different languages serve different purposes when it comes to computing. I now feel more confident in transitioning to text-based programming environments and continuing my exploration of computer science.


Comments