Why do we need so many computer programming languages?

There is no “one language to rule them all”.
Various computer programming languages ​​have been designed to solve particular problems.
This is likely to happen more often in the age of generative AI and quantum computing.

It is common knowledge that there are so many computer programming languages. What is not so easily understood is Why the coding is already complex enough; shouldn’t developers be able to read from the same book?

Since the dawn of computer programming there have been language variants. Is it simply because, as one Reddit user says, developers LOVE to reinvent the wheel?

A computer programming language for everyone

Attempts were made to develop a coding language that could be used universally. In 1964, PL/I was designed by IBM, with no intention of ever needing, say, a PL/II. Back when programming used to use punched cards, One Good Programming Language would also simplify the development process.

Work on the PL/I specification began in 1964, and work on the first compiler began in 1966. Theoretically, PL/I would bring together the power of three different programming languages:

  • FORTRAN The Scientific Programming Language (1954)
  • COBOL The Business Programming Language (1959)
  • ALGOL Primarily a research language, but with innovative paradigms and features (1958)

(Note: In the early days of computing, programming languages ​​could simply be called by what they did: FORTRAN = formula translator, COBOL = Common Business Oriented Language, ALGOL = algorithmic language.)

This seemed reasonable enough. Combining three to make one didn’t seem to be the mammoth task it turned out to be:

Source: ACM Communications

This theorist forgets that establishing PL/I would not just be a development effort, but actually a system conversion. Yes, the new language would require developers to start using a new language, but, and this might seem obvious, they would have to stop using FORTRAN, COBOL and ALGOL. This in turn would mean converting existing code bases and solutions to PL/I.

In short, there was more than initially anticipated. Compounding this problem was the fact that the three languages ​​that PL/I set out to merge were themselves evolving in real time. A conversion of the system was, realistically, unsustainable.

Although it failed to achieve its primary goal, PL/I has been a relatively successful computer programming language. It was taught at the college level and was reportedly used in the development of the Multics operating system and the S/360 version of the Saber airline reservations system, among others.

A toolbox of computer programming languages

So, is the inability to implement a universal computer programming language soon why there isn’t one today? Apart from anything else, a good developer is not only productive but is able to use language features creatively. If there are edge cases to be found, developers will mostly find them at scale.

Pushing a language to its extremes means uses the original authors would not have anticipated. This means that problems arise, are solved, and then a new language is born. A current programming language may not address the specific problems that arise due to the nature of the language’s capabilities. So, just as technology evolves, so do the languages ​​it runs on.

FORTRAN, created by John Backus, is the oldest programming language still in use today.

If we really split the hair, the first programming language was written on a piece of paper by Ada Lovelace in 1843. About a century later, Konrad Zuse developed the first real programming language called Plankalkl (Plan Calculus). Among other things, that language allowed for the creation of procedures, which stored pieces of code that could be called repeatedly to perform routine operations.

Just because new languages ​​start out as solutions to a specific problem, though, doesn’t mean they aren’t more widely applicable. Some notable examples of programming languages ​​developed from specific needs include:

  1. c Dennis Ritchie and Bell Labs created C in 1972 to overcome the problems of older languages. They first used it to run the Unix operating system. Today it can run on almost all types of software and hardware.
  2. C++ Bjarne Stroustrup created C++ in 1985 for two main reasons. The first reason was to update the functionality of the C programming language and the second reason was to make it accessible for everyone to use in all fields.
  3. PHP PHP was created in 1994 by Rasmus Lerdorf and he initially used it for a personal project. He later improved the language and released it to the public, and developers started using it heavily for web development.
  4. Go Google created Go in 2009 because the languages ​​it worked with at the time were too slow and awkward for certain tasks. Additionally, Google wanted a programming language that was fast in performance but still relatively easy to read.
  5. javascript Netscape created JavaScript in 1995. It initially created it for front-end development, so that both web developers and designers could learn and build website features in a short amount of time. We now use it for backend, frontend, and mobile development.

Javascript and PHP, along with Python and Perl, are derivatives of C. Swift, developed by Apple in 2014, was a replacement for C, C++ and Objective-C, meant to be easier to use and allow less room for error . Swift’s versatility means it can be used for desktop, mobile and cloud applications.

The history of computer programming languages ​​is convoluted.

Languages ​​are born, evolve and die out in the computer world.

Fun one: Rust started out as a personal problem. In 2006, Graydon Hoare was a 29-year-old programmer working for Mozilla. This meant that when the elevator in his apartment building where he lived on the 21stst floor kept breaking, he knew it was due to crashes caused by problems with how a program uses memory.

The software in elevators and similar devices is written in C++ or C languages, which notoriously allow programmers to write code very quickly, but also make it easy for memory bugs to be accidentally introduced.

Hoare began writing a new computer language that he hoped would make it possible to write small, fast code without memory bugs. He named it Rust after a group of mushrooms that he says are too engineered to survive.

As of early 2023, Rust was used by 2.3 million programmers.

The evolution of computer programming languages ​​visualized, just like a family tree. Source: Museum of the History of Computer Science.

Ultimately, asking why there are so many computer programming languages ​​is like asking why a handyman needs a comprehensive toolbox; programmers need different things depending on what they’re setting out to achieve.

Sure, the corkscrew on your Swiss Army knife works, but wouldn’t you choose to use a purpose-built, ergonomic one if you had the choice?

If the 1980s taught us anything, it was that it took a different programming language to blow up the world than it took to improve your grades or take the day off.

#computer #programming #languages
Image Source : techhq.com

Leave a Comment