PL Research

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

Punch cards were labor-intensive and error-prone. It was hard to change, store and debug code. Everything required manual intervention and checking. Those issues highlighted necessity for making programming more efficient. Later first PL were developed with the emphasis on increasing abstraction to make programming more accessible to a broad audience. This demonstrated that general purpose of PL is making human work easier.


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

Specific problems require specific solutions. One PL cannot suit every type of problem, so people keep creating PLs that target specific tasks and prioritize specific features based on the requirements of those tasks. So mostly, one PL is tied to a domain where it is used. For example, C++ and C# are used to create videogames, whereas Java and Kotlin are suitable for mobile app development. This approach helps to advance PLs as technologies advance.


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

Python's interpreted nature makes it slower than compiled languages like C++ or Java. Because Python is a high-level language, it's not as close to the hardware, which adds to its slower performance at runtime. May use compiler instead of interpreter maybe. To translate to machine code at once, not line by line.


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

Define task it needs to solve, domain, priorities (speed or simplicity or memory usage or etc.). Define key words , syntax and rules, semantics. Build compiler or interpreter to translate it to machine code.


Resource1

Resource2

Resource3