Post #1: Programming Languages
Scratch Introduction
There are many programming languages out there, each with
its own advantages and disadvantages. Knowing which language to choose from can
be a difficult challenge. The first step is understanding the different types
of programming languages and what they do. This paper will describe my
experience building a program using Scratch, identify difficulties I
encountered using Scratch, explain
how I overcame those difficulties, explain programming insights gained from
trying Scratch, compare Scratch with programming in other
languages in the textbook, identify some differences between programming
languages, describe which language I found easiest, describe when each
programming language may be best, and describe why I think machine language is
the most popular programming language.
Questions
Describe your experience building a program using
Scratch.
My experience building a program with Scratch was interesting. Scratch
is geared towards children and the very beginnings of programming. The visual
aspects and the drag-and-drop functionality make it great for the earliest
beginners. However, there were also some logic functions that would allow the
programs to get more complex and involved.
The link to the Scratch project is https://scratch.mit.edu/projects/725794321/editor.
Identify the difficulties that you encountered in Scratch.
One difficulty that I encountered with Scratch was debugging. As far as I could tell there was no real debugging
functionality. The only programming language I really have experience with is
VBA and VBA allows a user to step through the programming line-by-line in an
effort to see what each line of code does and where debugging may be necessary.
There is also an instant window where I can get more details. This did not seem
to be offered in Scratch.
Explain how you overcame the difficulties.
After experimenting a bit with Scratch, I decided to try to make a more complex program.
Unfortunately, the more complex code I ‘wrote’ did not work and I decided to
try to debug it. This is where the lack of debugging capabilities became a
problem. To overcome the difficulty, I simply tossed what I had been working on
and started over. This time, I added functionalities in one at a time, ran the
program, and checked for problems. In this way, if I did encounter a problem, I
knew that it must be related to the last bit of code.
Describe the insights that you gained about
programming from this exercise.
The main insight here was to see how programming is taught
to beginners. This is not a 3-inch-thick HTML for Dummies book (one book
on my shelf), but rather an interactive learning experience. Another insight
was to see how early logic is introduced in programming. It makes sense, but
something that I might have thought would come later in the learning process.
Compare your experience programming in Scratch with
the participation activities in Sections 2.8, 2.9, 2.10, and 2.11 of the
textbook that explored machine language, assembly language, and high-level
languages, such as Python.
My experience programming in Scratch as compared to the other languages practiced in the book
was very eye-opening. On the one hand, it was interesting to try to use some
machine language and see how that worked. On the other end of the spectrum was Scratch which was a very high-level
language.
Describe the differences between the programming
languages.
The comparison between languages taught in this chapter was
mainly between low-level machine language and high-level Python. This was a
good lesson because a programmer may have no idea how their program actually
works on a computer. The languages went from 1’s and 0’s to languages similar to
normal English. I will probably never learn or need to know machine language,
but it is nice to have an understanding of what it is, how it works, and how
higher languages are assembled into machine language.
Identify which language you found easiest to use.
The language I found easiest to use was Python. This is not
a surprise because, as authors conducting a comparative study of Python noted,
Python is designed to be easy for beginners. “Python uses very simple English
and it is very easy to learn. It was built with the concept of a beginner”
(Khoirom et el, 2020, p. 4385). The simplicity of Scratch was nice, but I prefer something I can type and edit as
needed. Scratch was too locked into
its limited number of functions whereas Python allowed a much wider range of
uses.
Describe scenarios where each type of programming
language would be most effective.
There are such a wide variety of programming languages, each
useful in their own right. “Nowadays, there are many programming languages
available and each one of them is better than the other in their own aspects”
(Khoirom et al, 2020, p. 4384). It would therefore be very difficult to say
definitively which language is better. When writing queries, a specific
language like SQL might be best. Another course I am taking discusses R
for data analysis. Python, as noted above, is great for beginners and has
become very popular recently (Khoirom et al, 2020). Even writing formulas in
Excel may be the best for certain purposes, specifically many math operations.
Explain which programming language you think is the
most popular and why.
For this prompt, the term popular would need to be a
little better described. If popular is the most well-liked, then it may be
Python or Java. If popular is the most used, it must be machine
language. This is based on how computers work, no matter what higher level
language is used, it all comes down to binary code understood by computers.
“However, because a CPU only understands 0's and 1's, instructions must be just
0's and 1's, such instructions known as machine language” (Vahid & Lysecky,
2019, sec. 2.8). This may be a bit of a trick, but no matter what language is
used, it will eventually become machine language.
As for the most well-liked, it would not be machine
language. This is because people do not naturally think in 1’s and 0’s, and
using machine language is difficult and avoided because of “the inordinate
amount of effort required to write and debug machine language programs”
(Lampson, 1965, p. 141). For this reason, higher-level languages have been
developed. I don’t know which is the most liked, but as Khoirom et al say,
Python and Java are among the most popular (2020).
Conclusion
This is a beginning look at programming for beginners. There
is much room to grow from here. However, introductions to machine language,
assembly language, Python, and Scratch
was a great place to start. This paper described experimenting with Scratch,
identified specific challenges with using Scratch,
explained possible solutions to those problems, explained lessons learned from
trying Scratch, compare the
programming languages practiced in the textbook with Scratch, discussed differences between programming languages,
identified the language I thought was easiest, talked about when different
programming languages may be better, and described why machine language is
probably the most commonly used programming language.
References
Khoirom, S., Sonia, M., Laikhuram, B., Laishram, J., &
Singh, T. D. (2020). Comparative analysis of Python and Java for beginners. Int.
Res. J. Eng. Technol, 7(8), 4384-4407.
https://iopscience.iop.org/article/10.1088/1742-6596/423/1/012027/meta
Lampson, B. W. (1965, November). Interactive
machine-language programming. In Proceedings of the November 30--December 1,
1965, fall joint computer conference, part II: computers: their impact on
society (pp. 141-149). https://dl.acm.org/doi/abs/10.1145/1464013.1464036
Vahid, F., & Lysecky, S. (2019). Computing technology
for all. zyBooks.
Comments
Post a Comment