A Survey of Programming Languages

Abhisheyk Gaur
3 min readDec 7, 2021

--

While thousands of programming languages have been created, not all of them have been developed for widespread use, some have been created as part of an academic thesis, and others have faded into obscurity because they were limited to specific computer systems or simply did not have enough support. With that, we end up with only a handful of programming languages being considered powerful enough and popular enough to compete for the mindshare of coders.

Programming languages can be grouped into compiled languages and interpreted languages. Compiling is the process by which a language is translated into machine code — a form which can be understood by computers.

Interpreted languages are compiled to an intermediate language instead of being compiled to machine code directly. During runtime, when a computer language is actually used, the intermediate language is compiled to machine code. The advantage of interpreted languages is they do not have to be recompiled to machine code when modifications are made. The disadvantage of interpreted languages is that they are slower than compiled languages.

Some examples of compiled languages are C, C++, and assembly languages. Popular interpreted languages are Java, PHP, and JavaScript.

Another way to group programming languages is by level of abstraction, or how close a programming language is to way the machine works. In general, the higher the level of abstraction, the easier it is to learn a programming language. A low level of abstraction requires a computer programmer to think more like a computer than a person, so programs are harder to write. On the other hand, balancing the difficulty of learning them, programming languages with low levels of abstraction are considered more powerful because they allow greater control of the machine or computer.

The lowest level of abstraction of all programming languages belongs to assembly languages. Assembly languages are only a step above machine code and are compiled. Although powerful, assembly languages are notorious for being hard to learn and write. They are, however, particularly useful when memory is limited. These languages can be found in the heart of operating systems and graphics drivers.

Next to assembly languages in abstraction is C. Created by Dennis Ritchie in the 70s, C is still considered a low level language but is much more coder-friendly. C is a general-purpose language that can be used for a variety of programming projects. It is regarded as powerful, but comparatively prone to bugs because it requires programmers to be extremely detail-oriented and attentive. C, for example, relies on programmers to manage memory, something that higher abstraction languages do not require. The power and speed of C, on the other hand, cannot be matched by many later languages, so this language remains popular.

C++ is a language that was meant to be an improvement of C by allowing programmers to adopt a style of programming called object-oriented programming (OOP). OOP allows programmers to think of program components as real world objects with distinct properties and defined ways to communicate with other programmatic objects. The older way of programming was known as functional programming, which looks at programs as a collection of functions.

C# and Java comprise the next generation of programs. The former is from Microsoft, while the latter is from Sun Microsystems (but now belongs to Oracle). Both languages are general-purpose, interpreted, and object-oriented. These languages can be used for both desktop and web application development. Java is also a popular language for creating mobile applications. These languages come with vast libraries. Libraries are already existing code that programmers can access to add features to their programs.

JavaScript and Python have increasingly become popular. JavaScript started out as a scripting language embedded into web pages in order to provide pages with interactive capabilities. It has since become a popular general-purpose programming language with a variety of programming frameworks based on it, as well as the capability to run on servers, not just web pages. Python is renowned as an easy to learn language that is particularly favored for working with the latest technologies like machine learning, artificial intelligence, and data science.

--

--

Abhisheyk Gaur
0 Followers

Abhisheyk Gaur - Principal Engineer @Amazon