Programming Languages

https://scratch.mit.edu/projects/764573232

  
Introduction

There are many programming languages used in the World today, which was different from when Kathleen Booth developed assembly language in the mid-20th century (Cassel, D (2022). Kathleen Booth, Creator of the First Assembly Language, para. 1-2). From various languages such as BASIC, COBOL, Fortran, C, and C++, there are many options for programmers these days. (Bahar, A. Y et al., 2022, para. 1). One of the more prominent languages used today is Python, which was implemented and released by Guido van Rossum in 1991 ("Python Institute", para. 3). It is used in various jobs and is a great language to learn for anyone interested in programming.

Another starter for future programmers is a website called Scratch, which was created by Mitch Resnik and launched in 2007 ("Celebrating 10 years of Scratch," 2017). It allows future programmers of all ages to create a program with drag-and-drop technology using coded blocks. My reflection paper discusses my experience with using Scratch to develop a program.

Describe your experience building a program using Scratch.

I had a great experience building with Scratch. The application has many options to choose from to give the writer the ability to customize a program to their liking. Scratch put my fears of programming aside by allowing me to take one block at a time and see just how each block interacts with the other. I was able to utilize the various options to create and edit my program to display my idea.

Identify the difficulties that you encountered in Scratch.

There were a few issues I ran into while building with Scratch, one of which was trying to delete a block without deleting the entire strand of blocks below. I had created a twenty-block program and ended up deleting them all by accident when trying to delete one block. The other issue I had was trying to apply a background to the entire string. My background had only applied to a portion of the program, so I ended up starting from scratch.

Explain how you overcame the difficulties.

After starting with a new file, I went back to the previous file and played around with the blocks to see how I could delete one item instead of the entire strand. I found that I could move the one block out from the string of blocks before deleting to not interfere with the blocks I wanted to keep. I tried this strategy with a few different block types, and it was successful. As for the issues with the background, I applied it to the beginning of my project, and it stayed across all blocks I added.

Describe the insights that you gained about programming from this exercise.

By using Scratch to program, I found it was much easier to visualize just how each command interacts with other commands. It made the concept of programming much easier to understand by allowing the movement of blocks to their desired places. This is in contrast to language programming which takes more time to grasp and find any issues and errors in the code. With Scratch, I discovered by moving one block out of place, could have an effect on the outcome of my program. Scratch allowed me to have a better understanding of how that could happen with programming in code and just how important it is to pay attention to every detail.

Compare your experience programming in Scratch with the participation activities in Sections 2.8, 2.9, 2.10, and 2.11 of the textbook that explored machine language, assembly language, and high-level languages, such as Python.

Programming in Scratch was much easier on my first attempt than with the activities in the textbook. I felt I had a better idea with the help of the visualization aspect from Scratch than with the code used in the textbook. After going over the activities a few times, I did have a better understanding of the functionality of the different types of languages, and just crucial it is to pay attention to every little detail. Working with programming languages will take more time and effort to fully understand and have the ability to write a fully functional coded program.

Describe the differences between the programming languages.

In my opinion, there are some differences yet some similarities between the different languages described in sections 2.8 – 2.11. The 4 languages referred to in these sections are machine, assembly, high-level, and Python. The differences between all languages are the human-readable portion. While machine and assembly are on a very basic level and are somewhat easily readable to humans, high-level and Python are more in-depth and can be more complex depending on the output requested. Although assembly and Python look to be very different, I feel these two languages are more comparable than the others in the fact that they are both somewhat easy to figure out what text is needed to achieve a successful program.

Identify which language you found easiest to use. 

I found there were two programs that were easiest to follow among the different types introduced in the textbook. I feel both Assembly and Python were much easier to understand since their language was similar to modern language. Assembly seems to be straightforward forward similar to a conversation. First, you state what you are looking for, and what you want to do with that info, then request to display the info. Python looks to be similar but allows for more complex methods to get multiple results.

Describe scenarios where each type of programming language would be most effective.

Machine language is something that is used on a PC or a server in order to compute the commands from the user. Assembly language might be used for a simple data entry program which is much easier to read and understand. High-level language could be used for more complex items that require much more calculations, like converting numbers or data. I feel Python language is a combination of assembly and high level where it is easy to understand and read while being used for complex calculations, such as displaying analytic data or map info.

Explain which programming language you think is the most popular and why.

I feel Python is most popular these days due to its readability while still being able to complete complex items. It seems to be one of the easier languages to learn which also has many free courses and videos online. I know within my organization, there are many that use Python for their daily tasks. Within my group, more than 50% of the group members are proficient in Python while the others have used it in the past or are currently taking courses to learn the language. I believe Python has a readability factor that isn’t as intimidating as many other languages out there today, while still having the ability to run complex statements.

Conclusion

With so many programming languages available today, the options for any programmer from beginning to veteran are endless. This is much different from when Grace Hooper worked on the committee that defined COBOL in 1959. (Vahid & Lysecky, 2019, para. 11).  The advancement in social media and online training also allows programming enthusiasts to find resources to assist along their programming journey. Sites like ocw.mit.edu (MIT Open Course Ware), Coursera.org, and Khan Academy offer many free courses for various programming languages many of which are introduction courses. (Lee, 2022, The 11 Best Free Online Coding Courses). Having these options and different approaches to programming, such as Scratch, will prepare anyone interested in programming for a successful career.

 

References

Bahar, A. Y., Shorman, S. M., Khder, M. A., Quadir, A. M., & Almosawi, S. A. (2022). Survey on Features and Comparisons of Programming Languages (PYTHON, JAVA, AND C#). 2022 ASU International Conference in Emerging Technologies for Sustainability and Intelligent Systems (ICETSIS), Emerging Technologies for Sustainability and Intelligent Systems (ICETSIS), 2022 ASU International Conference In, 154–163. https://doi.org/10.1109/ICETSIS55481.2022.9888839

Cassel, D (2022). Kathleen Booth, Creator of the First Assembly Language https://thenewstack.io/kathleen-booth-creator-of-the-first-assembly-language/

Lee, J. (2022). The 11 Best Free Online Coding Courses for Computer Programming https://www.makeuseof.com/tag/best-free-online-computer-programming-courses/

Massachusetts Institute of Technology (2017) MIT News

https://news.mit.edu/2017/celebrating-10-years-of-scratch-0511

Python Institute. Python® – the language of today and tomorrow https://pythoninstitute.org/about-python

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

Comments

Popular posts from this blog

From one newbie to another - Let's talk Java

Documenting a Day

Network Security