Programming Languages
Greetings reader! Today, we're going to talk a bit about programming languages!
We communicate in many different ways, whether through spoken word, physical gestures, or written communication. The world of
computers is no different in that all the parts need to have a way to
communicate with each other to perform specific tasks. The result is our smooth experience when using a laptop, desktop computer, or smartphone. To get
that result, many different programming languages are used to create what we see
as an end user. The purpose of this paper is to describe my experience with a few
different programming languages and their purpose.
My experience with programming started with this
course. I have had a couple of decades of experience using computers, but never
have I really got down to actual programming language. It is different from building a computer. When building a computer, I have clearly labeled
parts that I can fit together, whereas, with some of these programming
languages, a simple mistake with a misplacement of a one or zero could cause
the whole thing to fail. For this reason, I thoroughly enjoyed using the
Scratch program. You can find the link to my scratch project at the bottom of the page. The program has clearly labeled building blocks I can
piece together to perform specific actions. I encountered minor
difficulties when using Scratch, such as something not working quite how I
expected or multiple things executing simultaneously, but it taught me to be
incredibly specific on what I need to happen, which is the point. I
was able to overcome these difficulties by simply running the program multiple
times and tweaking certain things to see what the outcome would be. I learned a lot about the mentality needed for programming, and I must be very intentional with everything I do. I cannot just expect the program
to care for every mistake I make. That said, Scratch was a cakewalk compared to the participation activities. I found myself being easily confused when using the machine, assembly, and high-level languages. I had to store much of the information needed to complete what I was doing in my head
as I moved forward rather than it being clearly labeled. I imagine this
changes with time and becoming more familiar with the languages.
The differences between the types of languages lie in their complexity and application. Machine language is the most basic building block
of programming language. It is the literal entry of what the computer needs
to understand what to do. According to Gundurao, early programming was extremely time-consuming and was carried about by direct machine language with a person putting in ones and zeros. (Gundurao 2010) Using this language by itself was
“effective” at the time because it was the only choice. Now, machine language would be used for extremely simple tasks, and most applications would at least use assembly and, more likely, high-level programming languages. The evolution
of this was to use the computer itself as a translator of sorts; this gave
birth to assembly language. Assembly language is like having a translator for
machine language that makes the language readable and easier to
understand. With the language being easier to understand and thus create, it
saved a lot of time and allowed for bigger applications. High-level languages
are the evolution of assembly language. Rather than having a basic translator
who can simply understand and repeat, it is like having someone fluent in a
language who can not only instantly interpret that language but do it much more efficiently so that more work can be done. It allows for more complex
commands that can take care of multiple things using those building blocks and
assembly languages that have been created over time. High-level programming
languages are most effective for building actual computer programs, games, apps
for phones, or web design. Through the participation activities, I found the assembly language easiest to use. I do not feel that I have
enough experience to be genuinely comfortable with the high-level language so
it was easier to slowly go through the assembly language.
I think that the most popular programming languages are high-level
languages such as Python. This is the case because it allows users to program more at once. If machine language is creating the product, and the
assembly language is loading it onto the train, I consider
the high-level programming languages to be giant train loads of the product
being sent to where it needs to be. I do not hear much about assembly
languages in the real world, but I hear plenty about Python or C++.
According to Wassberg, programs written in C run fast and perform at a high
level. (Wassberg 2020) So it is no wonder that it is popular today, where people need everything done as fast as possible.
I also believe that it may be the most popular as a sort of self-fulfilling
prophecy. The more the language is used, the more that code is shared in that language, so it is used even more. High-level languages are easier to use because they benefit from years of evolution that attempt to make
programming easier for the programmer.
Final Thoughts
Overall, my experience with these programming
languages has been a positive one. I have enjoyed seeing how complex programming is, even if it is daunting. I enjoyed Scratch and will introduce it to my children so they can get a head start on the idea
of programming. It is incredible and nothing short of being our version of magic to see these things interact. Watching a
bunch of ones and zeros become something as magnificent as a computer-generated
movie or video game fascinates me. I cannot wait to see how these
languages evolve and how AI will make programming easier for
the average person.
References!
Gundurao, H. K., Manjunath, N. S., & Nachappa, M.
N. (2010). Computer technology and computer programming. [electronic
resource] : a text book of computer science (Rev. ed.). Himalaya Pub. House.
Wassberg, J. (2020). Computer programming for absolute
beginners : learn essential computer science concepts and coding techniques to
kick-start your programming career. Packt.
Scratch
Project Link: https://scratch.mit.edu/projects/1000846157

Comments
Post a Comment