Programming Languages

Programming Languages

Through my experience building a program in Scratch, I encountered and overcame various challenges that deepened my understanding of programming, revealing that while Scratch offers an accessible entry point for beginners, high-level languages like Python provide greater flexibility and efficiency, highlighting the importance of choosing an appropriate programming language based on how complex the task may be.

Building a program using Scratch was an enlightening experience that allowed me to explore programming fundamentals visually, engagingly, and intuitively. According to Montiel & Gomez-Zermeno (2021), “Scratch is a programming language that allows students to create stories, animations, games, and music and share web projects. It is one of the emerging technologies that can be applied to interactive game design, storytelling, animation, and multimedia projects in the classroom (para. 9).”

One of the primary difficulties I encountered while using Scratch was understanding the logic flow of my program. Despite the user-friendly interface, I struggled with organizing my code blocks in a way that would achieve the desired outcomes. For instance, I found it challenging to implement statements effectively. There were moments when my program would not respond as expected, leading to frustration and confusion.

To overcome these challenges, I took a systematic approach. I began by breaking down my project into smaller, manageable tasks. I sketched the game mechanics on paper, detailing how I wanted the game to function. This helped me visualize the sequence of events and the interactions between different sprites. By experimenting with various combinations of blocks and testing them frequently, I learned how to debug my program more effectively.

This exercise gave me valuable insights into programming principles, such as algorithmic thinking and the importance of repetition in the development process. I learned that programming is about writing code, problem-solving, and critical thinking. Debugging became a crucial part of my learning journey; I realized that errors are not setbacks but opportunities to understand the programming better.

Comparing my experience in Scratch with the activities described in Sections 2.8, 2.9, 2.10, and 2.11 of the textbook, I noticed significant differences in the programming languages explored. The textbook delved into machine, assembly, and high-level languages, including Python. Machine language, being the most fundamental, consists of binary code that computers can directly execute, but it is incredibly challenging to read or write. Assembly language, which is slightly more abstract, uses mnemonics to represent machine-level instructions, making it more understandable yet still low-level (Vahid, Lysecky, (2019).

High-level languages like Python are designed to be more user-friendly and closer to human languages, allowing for easier comprehension and development. While Scratch provides a visual programming environment that abstracts away much of the complexity, Python allows for more complex logic and functionality with text-based coding. The ease of understanding high-level languages like Python stood in contrast to the low-level languages, which require a deeper understanding of computer operations.

Of all the programming environments I explored, I found Scratch the easiest. Python, while still relatively easy to learn, requires more attention to syntax and structure. Scratch is highly effective in scenarios involving rapid prototyping or educational purposes. It is particularly beneficial for teaching children the basics of programming concepts without overwhelming them with complex syntax. Conversely, Python is better suited for more advanced applications, such as artificial intelligence, web development, and machine learning, where a more extensive range of functionalities and libraries is beneficial (Dhruv et al., 2020).

Regarding popularity, I believe Python is one of the most popular programming languages today, primarily due to its versatility and applications.

In conclusion, my experience building a program using Scratch was both enlightening and challenging, allowing me to navigate the complexities of programming while overcoming various difficulties. I managed to address the hurdles I faced, which strengthened my skills and deepened my understanding of programming. Each programming language has its distinct scenarios where it excels; for instance, Scratch is particularly effective for educational purposes and prototyping, while Python is favored for its versatility and ease of application development. I believe Python is the most popular programming language today due to its widespread applicability across various applications, including artificial intelligence and web development.


 

References

AJ Dhruv, R Patel, N Doshi. Python: the most advanced programming language for computer science applications https://www.scitepress.org/Papers/2020/103079/103079.pdf

Montiel, H., & Gomez-ZermeƱo, M. G. (2021). Educational challenges for computational thinking in k–12 education: A systematic literature review of “scratch” as an innovative programming tool. Computers, 10(6), 69.

Vahid, F., & Lysecky, S. (2019). Computing technology for all. zyBooks.

Comments

Popular Posts