Thursday, November 11, 2021

Programming Language and Batty Programming

 Batty Programming - Programming Languages

Using Scratch was a new experience to build “Gone Batty” https://scratch.mit.edu/projects/584673198.   Having done little to no programming or coding in the past, it was a bit of a learning curve.  However, the experience was pleasant an it was easy to get carried away.  It felt like experiences using HyperCard in the late 1980’s and early 1990’s in my elementary school computer lab.  

While using the program, I had difficulty in breaking down to the granular level. As my day to day career and experiences require me to look at the whole picture, breaking down to the step by step level was a challenge.  My other difficulty had to do with timing, in order to make my “sprites” do what I wanted, I had to get the timing correct and spent time playing with timing and position.  In order to overcome these difficulties, I had to force myself to think on the step by step level rather than just the outcome.  Flexing some critical thinking skills and thinking about each step allowed me to look closer at each action and think about the steps that needed to happen to achieve my desired outcome.  To overcome my challenges in timing, it was mostly trial and error, I had to try one thing to see how it affected the next steps in the chain and use some minor addition to add up the seconds.

Having worked with the program, I understand more the level of detail that programmers and coders need to analyze in order to make successful programs. Starting with an idea and working backward to determine all the steps that need to happen in order to achieve the end goal is a level of detail I have not had to work with in some time. The problem-solving skill is impressive as well. As I worked, I would run a test of the program and it would not have the desired outcome. Reviewing and determining where something went wrong was a good exercise for my brain.  Coding and programming are very detailed; however, it is driven by the desire for an end result.

The textbook describes machine language, assembly language and high-level language. Working through the exercises in the text, I found machine language to be the most difficult and time consuming to understand, as it truly is a different language of 1s and 0s, requiring more translation from written commands to binary. Experience in Scratch was most similar to assembly language, but the commands were an easy drag and drop rather than having to write myself.

Each of the programming languages are built on the other.  Early computers worked on machine language, requiring programmers to translate commands into 1s and 0s.  Assembly language built on that, moving to a textual representation that is run through an assembler to translate into machine language for the computer to understand. Further, high level languages, such as Python and C++ are more human readable and able to execute higher commands that compile into assembly and machine language.  Each language builds on the one that precedes it. (Vahid & Lysecky, 2017).

I found the higher-level programming language exercise easiest as it felt like Algebra and it was easier to flow through the commands.  In machine language, I had to reference the ASCII table often and figure out which letters corresponded with which series of numbers. Assembly was slightly easier as it moved into text, however I did find that I would sometimes mis-order the commands. 

As far as we have progressed in technology, I do not see an application where machine programming would be the best choice.  Even the smallest computers have a need for more complex programming. Assembly language would be best used as a teaching method for higher level languages or in applications such as Scratch to help teach programming.  I think high level programming languages are used in most applications today.

I would think that high level programming languages would be easiest to use as they would have the most versatility and capability to achieve desired outcomes. However, I would expect that since there are so many different languages it would be difficult to master all of them and it would make it difficult to determine what language to use for different applications.

 

References

Vahid, F., & Lysecky, S. (2017). Computing technology for all. Retrieved from      zybooks.zyante.com

No comments:

Post a Comment

Defensive Measures

Kostopoulos stated that “every business is a cyber business.” He wasn’t wrong.  In today’s society, every business has some dependence and t...