Research on Programming Languages

Why did we move from punch cards to programming languages? What does that tell you about the purpose of programming languages?

We moved from punch cards to programming languages to save time, reduce errors, and increase accuracy and productivity. Because they were made of paper, punch cards were prone to damage. Losing, misorganizing, or even bending a card could cause mistakes and result in data or software loss. Additionally, unlike punch cards, programming languages use commands in a human language, English, which makes the code easier to read and understand.

This shows that the main purpose of programming languages is to make it easier for humans to communicate with computers while saving time and minimizing errors.

There are hundreds of different programming languages out there. Why do you think we need so many?

As technology advances, new problems and issues arise, and new tools are needed to solve them. Programming languages often come from specific needs. For example, Google developed Go in 2009 because the languages they were using at the time slowed projects down. Go was designed to be faster and more readable for their work. Another example is JavaScript, created in 1995 by Netscape for front-end development so that web developers and designers could quickly build and deliver websites. Today, JavaScript is used not only for front-end work but also for back-end and mobile development.

Another reason we have so many programming languages is the wide variety of roles in computer science. Different jobs require different tools. For example, a data scientist mainly uses R, Python, and MATLAB, while web developers rely on HTML, CSS, JavaScript, and PHP. In addition, new languages are sometimes created to improve existing systems and software, making them more efficient and easier to use.

What are some drawbacks of a programming language you use? How would you like it to be different? Think of specific examples.

I use Python. While I like how readable it is, I find some calculations in Python confusing. For example, mixing floats and integers always returns a float (e.g., 3 * 2.0 gives 6.0 instead of just 6). Or with powers, 2 ** 3 gives an integer, but 4 ** 0.5 gives a float (2.0). As a beginner, it’s hard to predict when the answer will switch to a float.

Another drawback is that Python sometimes feels too forgiving. For example, I can write code with mistakes like adding a string to a number, and instead of telling me right away, Python only shows the error when I run the program. This can be frustrating at times. So I would appreciate the early warnings.

If you were going to create a new programming language, how would you start? What do you need to define?

To create a new programming language, like previous developers, I first need to have a specific problem or task in mind that this language would help solve. My decisions afterward–such as which programming language to use to develop it or whether it will be compiled or interpreted–would all depend on its intended purpose.

Next, I would need to define the language’s syntax and rules. I would also need to decide on its data types, control structures (like loops and conditionals), and built-in functions or libraries that make it useful for the tasks I had in mind. Finally, I would need to consider readability, so other programmers can learn and use the language effectively.

Sources:

1- From Punch Cards to Python: Grace Hopper’s A-0 compiler paved the way for modern programming languages article

2- Why Are There So Many Programming Languages? article

3- I wrote a programming language. Here’s how you can, too. article

4- Why Are There so Many Programming Languages article