← Back to home

Dr. Giselle Reis Lecture — Research

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

Question

Punch cards required a lot of labor and were very easy to mess up. Programming languages, on the other hand, are similar to the English language and are much simpler to use than punch cards. So, coding languages exist to make writing code easier and simpler, making the programmer's life much easier.

Source: quantumzeitgeist.com — From Punch Cards to Python

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

Different types of tasks require a different set of tools — for example, building a website and controlling a robot need very different things. And as time goes on, people get tired of old programming languages and think they can build a better one.

Source: stackoverflow.blog — Why Are There So Many Programming Languages?

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

One drawback is that languages that are easy to write tend to be slow, like Python, while languages that are fast tend to be harder to write, like C — so you can't have both speed and ease of use, you have to choose between them.

Another drawback is that some languages, like Python, catch your mistakes too late. Python doesn't force you to declare types for your variables, so you can accidentally pass the wrong type into a function and you won't know there's a mistake until you actually run the code.

So I'd like it to have faster execution and some kind of type checking that tells me if I made a mistake early.

Sources: codecademy.com — Understanding the GIL in Python ellow.io — Advantages and Disadvantages of C Language

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

First, I would have to choose the purpose of my programming language, like whether it's for web development or something else. Then I'd have to decide what the code actually looks like when someone writes it — for example, what will writing a for loop or an if statement look like. I'd also have to create a translator for my language that takes the code and turns it into something the computer can process. Then I'd need to set up whatever the code needs while it's running, and lastly I'd have to test my language and fix it until it works the way I intended.

Source: jdoodle.com — How to Create a Programming Language

For more information please visit: