As a coder or a programmer, everyone is aware of what is programming languages. A programming language is a computer language a programmer uses to develop software programs, scripts, or other instructions for computers to execute.
Although many languages share similarities, each has its own syntax. Once a programmer learns the languages rules, syntax, and structure, they write the source code in a IDLE. Then, the programmer often compile the code into machine language that can be understood by the computer. Scripting languages, which do not require a compiler, use an interpreter to execute the script.
So, adding in this there are many programming languages are there for different purposes and for different problems.
Now let’s see different types of programming languages.
Types of programming languages
According to the given problem statements the programming languages can be divided into more easy manner as –
- High level (most common) – It is also abbreviated as HLL. A high-level language is a computer programming language that is easy to understand and easy to use. It is more like a human-like language and less like machine language. The first high-level languages were introduced in the 1950s. Today, high-level languages are in widespread use. Examples of high-level languages include BASIC, C, C++, COBOL, FORTRAN, Java, Pascal, Perl, PHP, Python, Ruby, and Visual Basic.
- Low-level – A low-level language is a programming language that provides little or we can say no abstraction of programming concepts and it is more like writing actual machine instructions. Two examples of low-level languages are assembly and machine code.
- Declarative – Declarative programming is a computer programming paradigm by which the developer defines what the program should accomplish rather than explicitly defining how it should go about doing so. This approach lends itself naturally to the programmatic definition of formal logic systems and has the benefit of simplifying the programming of some parallel processing applications. Examples are – ABSET, Absys, Alpha, Ant, ATS etc.
- Imperative – Imperative programming is a paradigm of computer programming where the program describes steps that change the state of the computer. Unlike declarative programming, which describes “what” a program should accomplish, imperative programming explicitly tells the computer “how” to accomplish it. Programs are written this way often compile binary executables that run more efficiently since all CPU instructions are themselves imperative statements. The examples are – Ada, Algol
- Procedural – A procedural language is a computer programming language that follows, in order, a set of commands. Examples of computer procedural languages are BASIC, C, FORTRAN, Java, and Pascal. Using a procedural language to create a program can be accomplished using a programming editor or IDE, like Adobe Dreamweaver, Eclipse, or Microsoft Visual Studio. These editors help users develop programming code using one or more procedural languages, test the code, and fix bugs in the code.
- General-purpose / domain-specific – A general-purpose language is a programming language that is capable of creating all types of programs. For example, C is a good example of a general-purpose language. A language that is not a general-purposed language is called a DSL (domain-specific language). For example, HTML, Logo, MATLAB are examples of domain-specific languages.
- Object-oriented / concurrent – object-oriented programming, also known as OOP or OO programming, is a programming language paradigm. In an object-oriented program, the code can be structured as reusable components, some of which may share properties or behaviors. Object-oriented programming can improve the developer’s ability to quickly prototype software, extend existing functionality, refactor the code, and maintain it as it’s developed.
- Answer set – Answer set programming, also known as ASP, is a declarative programming paradigm that is used to solve NP-hard computing problems. It reduces extremely difficult problems into simplified, stable problem models, and attempts to solve them using specialized programs known as answer set solvers. An example of an answer set programming language is AnsProlog, which is a specialized version of Prolog that avoids infinite loops when solving extremely difficult problems.
So till now we have discussed many programming languages now here is a table of example of these programming languages –
Note -Languages marked with an asterisk (*) in the list above are not technically a programming language. They are markup, style sheet, and database management languages that are included in the list for those who may consider them as a programming language.
Those who are new to computer programming may find the list above overwhelming. Figuring out where to start depends on the type of computer programming you want to do.
We have different programming languages available since different languages were invented to solve different problems. Each language has its own unique characteristics that would make it suitable to solve a particular problem. The next thing may surprise you that how many languages we have in our world ?
The answer is 591 !! Yes you read it right we have 591 different programming languages for different problems in the world.
What are the top programming languages?
There are many ways this question could be answered. However, i feel that the best method is to rely on the data from GitHub, a service that hosts over 96 million software projects. In the chart below, GitHub shows the top 10 programming languages from 2014 to 2018.
In the chart, you can see the top 10 languages so now let’s have a look into the purpose of these popular languages.
Purpose of invention of popular programming languages
|Programming Language||Purpose of invention (or use cases)|
|Python||Python was invented by Guido van Rossum in 1991 and developed by Python Software Foundation. The goal behind the invention of this language was to simplify writing and reading code. Most programming languages were using special characters for separating code blocks, and hence, the readability of those languages was pretty bad.|
Python introduced the use of indentation with its notable use of significant whitespace to enhance code readability [Source].
|Java||Java was created at Sun Microsystems, Inc., by James Gosling & team in 1991 to solve the problem of platform dependency. Back in the old days, a program written on one operating system was not capable of running on another operating system. |
Java was introduced as a platform-independent language that lets programmers write once, run anywhere (WORA) to have as few implementation dependencies as possible. Programs written in Java gets compiled to bytecode that can run on any Java virtual machine (JVM) regardless of the underlying computer architecture [Source].
|PHP||PHP was invented in 1994 by Rasmus Lerdorf to create web applications. Rasmus wrote many common gateway interface (CGI) programs in C to maintain his personal homepage, by working with web forms and communicating with databases.|
That is why this language was called Personal Home Page(PHP). Later, it was renamed to Hypertext preprocessor [Source].
|Swift||Apple invented Swift language in 2014 to create the best available language for uses, ranging from systems programming to mobile and desktop apps, scaling up to cloud services. |
Swift is the best option available for iOS app development. It was designed to make writing and maintaining correct programs easier for the developer. It is safe, fast (that’s why the name swift), and expressive [Source].
|C||C programming language was created by Dennis Ritchie in the 1970s to make utilities running on Unix. Later, it became very popular and was used in several applications, including the re-implementation of the kernel of the Unix operating system.|
The C language is pretty close to the hardware, and hence, it was fast in execution. Yet, the language was simple enough for developers to do tasks easily. C has a lot of applications. The language is used on various platforms such as embedded systems and even supercomputers [Source].
|C++||Bjarne Stroustrup developed C++ in the early 1980s to make a programming language that allows doing high-level abstraction, but efficiently enough, and close enough to the hardware for really demanding computing tasks. |
C++ was developed by taking inspiration from C programming language and SIMULA (an object-oriented programming language), by combining the features of both. C++ is a stupid fast language and is used for high-performance tasks [Source].
|C#||C# (C Sharp) was developed in 2000 by Anders Hejlsberg at Microsoft as a rival to Java (it is pretty similar to Java though). Microsoft saw the potential of Java in the 90s and wanted to make some changes in the language. Sun Microsystems, Inc., sued Microsoft in October 1997 for incompletely implementing the Java 1.1 standard. |
Hence, Microsoft decided to stop using Java and created their own programming language. That gave birth to C# and the popular .NET framework [Source].
|Ruby||Ruby was created in the mid-1990s by Yukihiro Matsumoto from Japan. The goal behind the invention of Ruby was to make programming fun and productive.|
Ruby is a language that is more close to humans, not machines. The goal was to make software to be understood by humans first and computers second. Later, a popular web framework called Ruby on Rails was created, which is used for web application development by many programmers [Source].
Now, after reading the reasons for the invention of the popular programming languages, you must have understood why so many different programming languages are out there. Different tasks need different tools. However, some programming languages may overlap and can be used for the same purpose.
Also, different people have different choices. Some developers like Python’s simplicity, where some others prefer Java’s structure.
Ultimately, all the programming languages are similar when it comes to a broad perspective. All of them are tools to enable communication between humans and computers. They convert what we write into machine code (0s and 1s) so that computers can understand our instructions.
Now, after reading the article you might be still confused that why still we need different programming languages, if we need for different purposes we can modify it so why still there are many languages? So, let’s now look into this..
Why do we still need multiple types of programming languages.
Let’s discuss all the points-
- Different kind of jobs and developers requires different languages according to the necessity.
- We can’t mix or combine the languages as maybe this will create languages more complex to understand and all.
- There are so many programming languages not all of them will meet a developer or a company’s goals. Different developers have their own goals and priorities, and some programming languages are better suited for certain types of tasks than others. Like a dentist can only able to solve the problem related to mouth, he will not able to do a surgery.
As far we have discussed about different programming languages, so to sum it up, the main reason why there are so many programming languages is that different problem requires different tools to solve them. Every programming language has its pros and cons. We can’t say which one is the best or which is the worst. As a programmer it’s our choice and the demand of that time that which programming language we want to learn.
I hope this article was a helpful resource for you and i was able to answer your question.