Programming Languages


    With so many programming languages available, trying to keep them all straight can be overwhelming. From my experience so far, it seems like a lot of programming is trial and error.

    Building my program in Scratch took some time as I started over four or five times before I got the hang of things. I am very much a tactile learner, so being able to “play” with the program and try out how each command works was great for me. I enjoyed being able to see how things were turning out as I added each block. The difficulty I kept having was my characters seemed to have minds of their own and as I set them to move, they would also rotate to end up upside down. They were also bunching up in the middle of the screen. Setting the coordinates of their starting positions, setting them to bounce off the edges of the screen and then setting the same ending coordinates as they started from solved the problems I was having initially.

    During my initial struggle with Scratch, the following phrase was repeating in my head. “When stuck, students may wish to take solace that everyone struggles. Like the child learning to walk, each fall hurts, but know that each fall brings one closer to learning a powerful skill.” (Vahid & Lysecky, 2019, 1.7) Knowing that I wasn’t alone in my struggles was definitely a comfort!

    With Scratch, you can see what each code block does as you are adding or removing it and the instructions for those blocks are in plain English, easy to understand. The programming languages in sections 2.8 through 2.11 were not as easily understood for me.

    Machine language was the most difficult for me to understand and I still don’t feel like I have a good grasp on it. How anyone can stare at all those 1’s and 0’s all day and not go blind or insane is beyond me.

    Assembly language is a godsend in that it is more human-readable than machine language. Initially, I kept looking at the sample problem “Add M[7] M[5] M[6]” (Vahid & Lysecky, 2019, 2.9) the way you would read a regular math problem, (x + y = z) , then had to wrap my head around the M[7] actually being the result of the rest of the problem.

    High-level language, like Python, seems to be more methodical and pattern-based than machine language and assembly language. The only experience I’ve had with Python though was the exercises in the book, so I could be way off base in my impression. Python overall makes the most sense to me of the three that I was able to experiment with through the book exercises.

    I believe the high-level languages are most popular as they are easier to learn than assembly or machine languages and seem more intuitive than the others.

    All-in-all, I’m fascinated by the different languages for programming and have my work cut out for me in learning them all. I look forward to the challenge though!

Click the space bar to start animation. 


References:
Scratch. (n.d.). https://scratch.mit.edu/ 

Vahid, F., & Lysecky, S. (2019). Computing technology for all. zyBooks.

Comments