Programming Languages: Initial Thoughts and Practical Applications

Scratch is an entry level programming language. Despite its beginner friendly looks, Scratch still manages to cover the basics. Although not explicitly a coding language when compared to Java or Python, its capabilities fit the general definition. This definition being “system of notation which allows programmers to write code that a computing device can run” (CompTIA, 10.1.2).


The Learning Process

As with most coding languages, the difficulty came in applying its syntax. I needed to learn how the operators interacted with each sprite and what combination of operators performed what I wanted. Although time consuming, the program building process was simple. The visual nature of the language made it easier to learn the syntax, as most of it could be done on deduction alone. The variables and logic were organized well, and the puzzle piece setup acted as a fantastic analogy for code. 

There were certain things I was unable to do, however. My intention was to make the cat run between two points for a while, then run to the center and announce that it is done. The third green orb would act as a form of RNG and teleport a ball as it gets touched by the cat, creating a loop movement loop for the cat. I wanted to hide the Green Orb as it was simply a data point the system used, but any attempt to hide it broke the script and I am not sure why.   


Introspection

Going through with the activity showed me the importance of planning and following the basic development workflow. Knowing how code needs to be structured is just as important as knowing what you want the code to do. The hardest part of the assignment was placing the correct code into the right loops. Interactions between sprites needed to be made for each sprite. As time went on, I realized that project complexity was exponential. At first, all I wanted was a cat to walk towards each ball one at a time. Once the cat touched the ball, the ball would teleport it to a new location. To reposition the ball, the “move to a random position” function was used. Testing resulted in the ball moving to the screen edge, which looked bad. A workaround with a third ball was eventually developed, the “RNG” mentioned earlier. However, during my first runs of this, both balls would eventually overlap on the Green orbs position. This story goes on and on, but overtime I realized the scope was getting too big and stopped.  

Standard code is more complex than Scratch. What makes Scratch useful is its visual representation of code. In standard languages most code is very abstract, but Scratch has variables, functions, and operations in the form of physical shapes. It follows the fundamental engineering principle: “if it should not fit there, make sure it cannot fit there”. Standard languages do not have this luxury. For better or worse, anything can be placed on a line of code and ran. Whether it is interpreted by the machine or not is how well you apply syntax and specific language quirks. Scratch has training wheels in that sense, as you cannot incorrectly write a function or variable. Since everything is color coordinated, code accidentally placed in the wrong area is often obvious or at least easier to notice too. 

If you would like to view my Scratch project, it can be downloaded HERE. Once it is done, you will need to open it from the Scratch Website.


Types of Code

Compiled Languages make up almost all the EXE files we use online. A game, app, or service that is ran on a computer likely runs a compiled language. Consider the web browser that was used to download and open this assignment. The websites themselves do not run a compiled language, but the app that opens these websites needs to be efficient enough to access the World Wide Web fast and reliably. (CompTIA) 

Interpreted Languages are slower, but much more generalized. If the web browser needs to be reliable, the website just needs to work. Each website needs to open on different web browsers and operating systems, so interpreted languages are a one-size-fits-all solution for them. (CompTIA) 

Assembly Language is the closest thing to machine language, before outright using machine language. Each line of assembly code translates directly to a line of code the CPU interprets (Team, E.,2024, April 11). Due to direct access to hardware, assembly can be used to create code that boots operation systems or runs high resource processes like ray tracing very efficiently.  

Query Languages are specialized languages designed to pull data from databases (CompTIA). My job uses Query searches everywhere. Specific patient information from Epic systems or data points for troubleshooting from SCCM and Active Directory make up day to day work at my hospital.



Works Cited 

CompTIA. (n.d.). CertMaster Learn Tech+. Learning Platform | CompTIA. https://labsimapp.testout.com/v6_0_675/index.html/productviewer/1215/1.0/e2363228-53bb-4e27-87e7-26cd1de40137?nonce=p6KmmZSErS2mjDdMRNtkV0csccnmTrcGEV3pyZLyHmA 

GeeksforGeeks. (2024, February 21). What are operators in programming?. GeeksforGeeks. https://www.geeksforgeeks.org/operators-programming/ 

Team, E. (2024, April 11). Assembly language: Low-level programming. NETWORK ENCYCLOPEDIA. https://networkencyclopedia.com/assembly-language-low-level-programming/#Key-Applications

Comments

Popular posts from this blog

A Timeline of Hardware History

Java: A Relic Still in use Today

Navigating a Network