Thursday, November 2, 2023

Post 1 - Programming Languages (Week 1 Assignment)

 

Building a program from or with Scratch, while easy, efficient, user-friendly, and quick, seemed to lack the one thing that most programming languages offer: complexity and customizability. Scratch offered plenty of customization options, which can get complex depending on the task, but was designed with the intended audience of children and beginners. Anyone with any amount of programming knowledge in languages such as C#, C++, Python, or Java will find that Scratch seems convoluted and difficult to use, with its drag-and-drop coding taking more time than typing the code out by hand. Though Scratch would take significantly less time to master than a programming language like Java or Python, it offers less reusability and long-term applications. Scratch programs can only be opened and edited in Scratch itself, much like other languages, but Scratch can only interact with the data and resources that you give it, whereas more complex programming languages can interact with files that you’ve never even opened, data you’ve never even seen, or text you’ve never read.

            Some of the difficulties I encountered when using Scratch were the layout of the options on the left side menu of the page, which were organized but fairly limited, the value or random input system, and the timing of the blocks of your code. Some of these can be overcome, others are merely limitations of the programming language and need to be accepted.

            Using Scratch helped me gain an understanding with a visual aid of the order in which code executes as well as how code blocks directly integrate with others.

            The main difference between a programming language like Scratch and more complex languages is what the program can interact with. As mentioned in the first paragraph, more complex languages can open files for the user, and extract data from files as specified by a user, all with unlimited customizability. Languages like assembly can even directly communicate with the computer’s hardware.

            In my experience, Python has been the easiest to use, aside from its indentation system, which most people will often find frustrating when compared to the bracket systems of other languages.

            Python is best for data collection, artificial intelligence, and machine learning. JavaScript is most used in web applications with its sister languages like TypeScript. C and C++ are commonly used for operating systems and video games or video game engines. Every language excels and fails in certain areas compared to others and each has a specific use application.

            I believe JavaScript to be the most popular since most full-stack developers are fluent with JavaScript or “JS” and most full-stack development training focuses on JS.

            In conclusion, Scratch is an excellent teaching tool for beginners seeking to understand how code interacts with itself and outside sources, and form an understanding that can be utilized and implemented in other more complicated languages.

No comments:

Post a Comment

Newbie to Another Newbie

Applying Algorithmic Design and Data Structure Techniques  in Developing Structured Programs (in Java) In the introductory phases of program...