Featured Post

Tech Topic Connection - IT Certifications for IT Careers

IT certifications are an integral part of the IT industry, providing professionals with proof of their knowledge and skills. They connect to...

Programming Languages

       
         In an effort to make learning to code easier, fun, and geared to a younger audience, a free program called Scratch was created. The program especially helps in learning to “think” in code; meaning, to understand how to construct the sequence of events to perform the desired outcome. Another aspect of Scratch that a user quickly realizes is that, just like standard coding, the program does not reset for you to the beginning of your code. You would have to set up a code for that as well. You can create stories and games with Scratch. I chose to make a story with Scratch, inspired by my daughter, who just started attending kindergarten and is a big fan of mermaids. At first glance, it could be hard to compare Scratch with the common types of programming languages but upon examining it closer, you’ll see that programming languages are still at the heart of the program with a user friendly interface. 

       Without a doubt, there is a learning curve when using Scratch, even though it is aimed towards younger kids. If one is simply going in and manages to recognize you need to put the blocks together, then it would surely take a long time to master how to use the various types of blocks. Although there is still an element of trial and error, I utilized watching several how-to YouTube videos, one from someone that works at Scratch. As stated earlier, it won’t reset for you so you must either reposition all the sprites and backdrops back to the starting position each time you want to test it or think of ways to incorporate that into the coding. One interesting thing about coding is that there could be several ways to achieve the same result, based on preference and knowledge. 

        Another similarity I notice is that the Scratch blocks equate to the standard coding language instructions. For example, adding in machine language would be similar to connecting two blocks. After hitting run, that would produce the output or effect you see in Scratch. I would compare the human readable nature of assembly language to the labels on the blocks in Scratch, although the program is at a much higher level than machine and assembly language. Scratch is most closely related to high-level language in that it can handle more complicated instructions such as using if-then statements, is more abstract than the other languages. Scratch uses a drag and drop system, which is different from any of the languages. It prioritizes ease of use over the unlimited possibilities of coding, although there are a substantial variety of options. Scratch and other high-level languages are easiest to use because they use human language and are more intuitive. High-level languages are also more popular because of their ease of use and understandability by a wider audience. More people can learn to code now without having long term training. 

     Different programming languages excel in specific scenarios. Machine language is crucial for optimizing embedded systems and controlling hardware. For example, writing binary instructions directly for a microcontroller to control a robotic arm's precise movements. This ensures maximum efficiency and direct hardware control, crucial for real-time applications. Assembly language offers fine-tuned hardware control and system-level tasks such as developing an operating system kernel that manages memory and hardware resources efficiently. Assembly allows close interaction with hardware components and fine-tuning of low-level operations. High-level languages are ideal for efficiently building complex software, while visual programming languages shine in teaching beginners and enabling interactive projects. High-level languages abstract complex tasks like database management and user authentication, enabling rapid development and maintainability. 

     Coding with programming languages is no easy task, especially as a beginner. Scratch was created to introduce programming concepts to children or anyone that would like a basic understanding of how it works. The main appeal of Scratch is you get to use creativity and trial and error to make one of a king stories or games. The only issue I really see is that if people start using these simpler to understand coding, then I wonder if we will one day forget how the foundational concepts work like with machine language if we are so far removed from actually typing the code. I certainly don’t think Scratch should replace high-level language, but it does pose an interesting application of the concepts. Scratch could also be compared to programs such as Wix, where novice users can build their own website. You don’t need any knowledge of coding, only the ability to drag and drop where it’s desired.

Here is the Scratch story I created: A Magical First Day of Kindergarten for Mermaid

No comments:

Post a Comment