Back

Programming Languages

1. Before modern programming languages, early technicians wrote assembly code - which was human readable - and manually translated the assembly code into binary code, by punching holes into punch cards. These cards were put into a punch card reader, and the machine would read and execute the code. This method was wildly inefficient, with no guarantee of the originally written code being bug-free, and the punch cards had to be in perfect shape. The process of punching in holes and submitting it into the machine would have to be repeated had a miniscule error occurred - like missing a hole. That was time consuming, and the machine took time to execute the code, so the programmer wouldn't even know if his code was sound in under a second like we have the privilege of doing today. Computer scientists J. Presper Eckert and John W. Mauchly set about creating a punch card replacement after the development of ENIAC at UPenn. ENIAC was developed for military use, but the two men set their minds on commercial applications. They invented the world's first code compiler, for a language called 'Short Code'. Nowadays, the majority of programs used by the world today are created via compiled code.

(ref 1) (ref 2)

2. There are hundreds of programming languages out there, with more being created every year. The first and main reason that new programming languages continue to roll out is the continuous advancement of technology. Early programming languages were not able to solve specific problems that arise because of the languages' limited capabilities, so people or companies came up with a new programming language that are better suited to solve these problems, and the cycle continues. For instance, the language C was created to mitigate the shortcomings of older programming languages back in 1972, and was first used to run the Unix operating system. There's also the fact that different languages fulfill the needs of different developers; you wouldn't find a data scientist using PHP, the same way you wouldn't find a web developer using R. It all depends on the need.

(ref)

(Sometimes, their made for fun! Like the esoteric languages, LOLCODE and Rockstar)

3. I can't speak on the drawbacks of programming languages much as I haven't used much outside of Python and Java, and I've learnt the basics of C. But since we're using mainly python this semester, python has a relatively slow runtime, with a large memory consumption, a price for its simplicity.

4. When we as humans code, we code with high-level languages that use terms and go in an order that is human-readable. This code is nonsensical to computers, hence a compiler needs to be developed so that the high-level language is converted into a machine-readable, lower-level language. If not a compiler, instead, an interpreter could be developed, and interpreters are programs that can read high-level code and execute commands based on what it reads. These are the programs where you would need to define what basic functions do, what the key words will be, which characters do what, etc.

(ref)