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
Post a Comment