A programming language is a formal language, which comprises a set of instructions that produce various kinds of output. Programming languages are used in computer programming to implement algorithms. It is a vocabulary and set of grammatical rules for instructing a computer or computing device to perform specific tasks. The term programming language usually refers to high-level languages, such as BASIC, C, C++, COBOL, Java, FORTRAN, Ada, and Pascal.
Each programming language has a unique set of keywords (words that it understands) and a special syntax for organizing program instructions.
Types of programming languages:
- Procedural Programming Language
The procedural programming language is used to execute a sequence of statements that lead to a result. Typically, this type of programming language uses multiple variables, heavy loops and other elements, which separates them from functional programming languages. Functions of procedural language may control variables, other than function’s value returns. For example, printing out information.
- Functional Programming Language
Functional programming language typically uses stored data, frequently avoiding loops in favor of recursive functions. The functional programing’s primary focus is on the return values of functions, and side effects and different suggests that storing state is powerfully discouraged.
- Object-oriented Programming Language
This programming language views the world as a group of objects that have internal data and external accessing parts of that data. This programming language aims to think about the fault by separating it into a collection of objects that offer services that can be used to solve a specific problem. One of the main principles of an object-oriented programming language is encapsulation that everything an object will need must be inside of the object. This language also emphasizes reusability through inheritance and the capacity to spread current implementations without having to change a great deal of code by using polymorphism.
- Scripting Programming Language
These programming languages are often procedural and may comprise object-oriented language elements, but they fall into their category as they are normally not full-fledged programming languages with support for the development of large systems. For example, they may not have compile-time type checking. Usually, these languages require tiny syntax to get started.
- Logic Programming Language
These types of languages let programmers make declarative statements and then allow the machine to reason about the consequences of those statements. In a sense, this language doesn’t tell the computer how to do something but employing restrictions on what it must consider doing.
Top Programming Languages of 2019
Python is an interpreted, high-level, general-purpose programming language. Created by Guido van Rossum and first released in 1991, Python’s design philosophy emphasizes code readability with its notable use of significant whitespace.
Java is a general-purpose programming language that is class-based, object-oriented, and designed to have as few implementation dependencies as possible. It is intended to let application developers write once, run anywhere (WORA), meaning that compiled Java code can run on all platforms that support Java without the need for recompilation. Java applications are typically compiled to bytecode that can run on any Java virtual machine (JVM) regardless of the underlying computer architecture. The syntax of Java is similar to C and C++, but it has fewer low-level facilities than either of them. As of 2019, Java was one of the most popular programming languages in use according to GitHub, particularly for client-server web applications, with a reported 9 million developers.
Go, also known as Golang, is a statically typed, compiled programming language designed at Google by Robert Griesemer, Rob Pike, and Ken Thompson. Go is syntactically similar to C, but with memory safety, garbage collection, structural typing, and CSP-style concurrency.
Elixir is a functional, concurrent, general-purpose programming language that runs on the Erlang virtual machine. Elixir builds on top of Erlang and shares the same abstractions for building distributed, fault-tolerant applications. Elixir also provides productive tooling and extensible design.
Ruby is an interpreted, high-level, general-purpose programming language. It was designed and developed in the mid-1990s by Yukihiro “Matz” Matsumoto in Japan. Ruby is dynamically typed and uses garbage collection.
Kotlin is a cross-platform, statically typed, general-purpose programming language with type inference. Kotlin is designed to interoperate fully with Java, and the JVM version of its standard library depends on the Java Class Library, but type inference allows its syntax to be more concise.
Scala is a general-purpose programming language providing support for functional programming and a strong static type system. Designed to be concise, many of Scala’s design decisions aimed to address criticisms of Java.
Clojure is a modern, dynamic, and functional dialect of the Lisp programming language on the Java platform. Like other Lisps, Clojure treats code as data and has a Lisp macro system. The current development process is community-driven, overseen by Rich Hickey as its benevolent dictator for life.
The above-provided list is in accordance with the google report of 2019. Henceforth there may be other programming languages too.
- The conclusion drawn from the experimentation is that there are no standard criteria from which one language could be proved better than the other.
- A healthy comparison can be done based on different evaluation resources available.
- The choice of language mainly depends on the problem domain and the resource available
- No language is better than other
- Every language has its pros and cons
- Selection mainly depends on the problem domain and resources available.
- All approaches have their advantages and disadvantages, with many supporting arguments and Case-studies.