Programing Languages
Week 1 Paper
Using Scratch to develop a program was interesting to say the least. Being someone
who was still learning the basics of programming, Scratch made it easier for me by allowing
me to focus on logic and creativity rather than syntactic code. My project consisted of a
character (sprite) traveling around the screen, changing costumes, talking at instances, and
loping these actions to create a basic animation. I used event blocks to start the animation,
motion blocks to get the sprite to move, and control blocks to deal with repetition. It was
excellent for a drag-and-drop setup, and anticipating the result as I worked along made it a
fun and engaging experience, yet frustrating at times.
Insights Gained from Scratch
The biggest thing I took out of this exercise is that programming is all about
problem-solving and logical thinking. Scratch is not like "real" code, but it does teach
fundamental programming ideas like sequencing (in which order commands are executed),
loops (repetition), and events (triggers that cause actions). These are basic concepts that can
be used with any programming language. Working with Scratch caused me to become aware
of the way programs are structured and how computers carry out instructions one step at a
time. It also instilled in me an appreciation for testing and debugging, even in a graphical
context, my sprite did not always behave the way I wanted it to, and I had to consult back and
tweak the logic and even then I still struggled.
3
Comparing Scratch with Traditional Languages
The comparison when I think back over my experience working in Scratch versus the
participation exercises in Section 10.1 of our textbook, which explored compiled, interpreted,
assembly, and query languages. Scratch is much easier to work with since it does away with
the need to learn syntax and instead constructs logic with the help of visual elements. For
example, compiled languages like C++ or Java must be written in exact punctuation, requiring
the program to be compiled before it can run. (
TestOut Corp)
If you have a tiny error, the whole
program might not work. Translated languages like Python are a little more relaxed and
easier to test but must be typed precisely. Assembly language is much more complex and
low-level, it speaks directly to the computer hardware and is not for amateurs. Query
languages like SQL are easier in some ways, especially regarding data manipulation. But it is
still limited to tasks like database management.
(
TestOut Corp)
Ease of Use and Language Preferences
Among all the languages and environments, I have been exposed to until this point, I
found Scratch to be the most natural. It does away with the apprehension of error and lets
new learners focus on learning to code without worrying about a lot of extraneous variables.
However, every type of language has its place. Compiled languages shine when performance
matters, like in game development, software development, or developing apps that must run
quickly and responsively. Interpreted languages are great for scripting, batch jobs, or data
4
science, because they can be easily coded and experimented with. Assembly language is saved
for when low-level hardware control is needed. Query languages are the best option when
dealing with structured data in databases, IE: running reports or retrieving customer data.
Conclusion
In short, Scratch was a great introduction to programming learning, however limited
with the blocks available. It allowed me to experiment and develop self-confidence without
too much regard for technicalities. Above all, though, it gave me a good foundation in
understanding how programming works, which will stand me in good stead as I learn more
advanced programming languages in the future. However, I think that I’d be more interested
in using a language like Python in the future.
References
Scratch. (n.d.).
Scratch - Imagine, program, share
. MIT Media Lab
Comments
Post a Comment