Programming Languages

Language Levels


    In this post, I explored different levels of programming languages. The languages compared were machine, assembly, block, and higher-level. I created a simple program using Scratch and identified any difficulties that I experienced. I further addressed how those difficulties were overcome, along with any insights that came about.

Scratch
    Scratch is a block-level language and allows users to drag and drop program snips that snap together, making a chain. "Scratch helps young people learn to think creatively, reason systematically, and work collaboratively — essential skills for life in the 21st century." (Scratch Foundation). The program provides an easy-to-follow list of color-coded actions to manipulate objects. The nice thing about Scratch is that I could make changes on the fly and remedy issues by trial and error. The one step that was the most significant help was reviewing all the possible options that I could perform. The one challenge I didn't see an answer for was how to see all the code simultaneously vs. the code for each sprite. See my simple project here.

Language Comparison


Machine
    Machine language is based on binary or 1s and 0s and is the only language a CPU understands. Code is read into memory, and the CPU acts on the instructions. Machine language is very fast since it does not need a compiler to be interpreted but is the most difficult for people to understand.

Assembly

    "Assembly language is a textual human-understandable representation of a machine language's 0's and 1's". (Vahid and Lysecky. Sec. 2.9). The purpose of assembly language is to make instructions easier to read and enter. When completed, an assembler converts the code to machine language.

High-level

    "A high-level language is a programming language having higher-level instructions than assembly language, enabling greater programmer productivity." (Vahid and Lysecky. Sec. 2.10). High-level languages allow even more users to create code easily and use a compiler to translate the code to machine language. These languages bring about different strengths and have intended uses. Python is one such language and has "powerful high-level data-processing operations." (Vahid and Lysecky. Sec. 2.11).

My Preference

    Each language level became more human-readable and intuitive, with machine language the most challenging and Scratch the least difficult and intuitive. I prefer the high-level language Python to the others discussed in sections 2.9 – 2.11 or Scratch. I am used to textual-based coding and not block-based. Scratch is very popular and a great way to get students involved in coding due to the graphical user interface. I would expect Scratch to be the most popular and a great way to get the most individuals started coding and provide an excellent foundation to higher-level languages.

-Dennis

References

Scratch Foundation. "Scratch - About." Mit.edu, 2019, scratch.mit.edu/about. Accessed 7 Sept. 2021.

Vahid, Frank, and Susan Lysecky. INT 100: Fundamentals of Information Technology. zyBooks.com, Aug. 2017, learn.zybooks.com/.

Comments