Programming languages are the formal language, with a set of instructions which provides the desired output. For implementing various algorithms in our machines we started using the Programming language. A set of specific instructions are used in programmable machines, rather than general programming languages. Computer programming languages are used to communicate with a computer. Each and every Programming languages are based on certain syntactic and semantic rules.
Computers work with digital representation. only understand the presence of a 0 or 1 as off or on. So to communicate with the computers we have to give the instruction in Binary which is nearly impossible, so here comes the programming language to save us. we wrote the instructions in English following some general syntactical rule of a programming language and later this transformed into the machine code by some process and tells the computer to do some specific operation.
Day by day the rising demands for computing power and productivity was the key factor for the development of more powerful, cheaper, and faster business machines, supercomputers and various programmed devices, with the variety of applications and types of computers, every time there arouses a need for specific programming languages to complete specific tasks. A complete categorical list of all types of programming languages is given below. There is no strict classification scheme for programming languages. Thus, we can see a language as an example of more than one programming language.
Let’s Understand these programming languages one by one. As the list is very large so it is impossible to discuss all of these in details. Here I’m writing the brief intoduction with example for all of these various programming languages.
- Compiled Languages:
A compiled language is a programming language in which we use a compiler to compile and execute our code. the compilers are generally a translators that generate machine leve code from our written source code.
- Visual Basic
- Interpreted Languages:
An interpreted language is a programming language in which without compiling a program into machine-language instructions we can execute instructions directly and freely. The interpreter executes the program line by line.Interpreted a language gives many additional flexibility over compiled implementations like, platform independence, dynamic scoping, dynamic typing etc.
- Scripting Languages:
Scripting languages are programming languages that control an application. Scripts which can be executed independently over any other application. They are widely used in the application that they control and are used in automation.
- Windows PowerShell
- Game Maker Language
- Markup Languages:
A markup language is an artificial language that used for annotating a document so that it is syntactically distinguishable from the text, the text that define how the text is to be displayed.
- Procedural Languages:
Procedural (imperative) programming implies specifying the steps that the programs should take to reach to an intended state. A procedure is nothing but a set of instructions that can be referenced through a procedure call. this help in the reuse of code. This type of programming makes the programs structured and easily traceable for program flow.
- Functional Languages:
Functional programming languages define every computation as a mathematical evaluation. They focus on the application of functions.Some of the functional programming languages are pure functional language but many so-called functional languages are impure, containing imperative features, they are not pure function languages.
- Pure Functional
- Impure Functional languages:
- C++ (since C++11)
- Logic-based Programming Languages:
Logic programming is a type of programming paradigm which is largely based on formal logic. logic -based programming are set of sentences in logical form, which express facts and rules about a problem domain.
- Object-Oriented Languages:
Object-oriented programming (OOP) is a high-level programming paradigm based on the concept of “objects”, which may contain data, in the form of fields, often known as attributes. In OOP, computer programs binds related data and functions into an object and implements objects and their associated procedures to create software programs.
- Dataflow languages:
Dataflow programming languages rely on representing the flow of data. In a dataflow language, a stream of data gets passed from instruction to instruction for execution. The Conditional execution jumps the data and in procedure calls, it routes the data to a different location.
- Hartmann pipelines
- Pure Data
- Embeddable languages:
It is mainly dynamic scripting and programming language. it can be also used as a platform-independent general-purpose programming language. Embedded languages are of two types:
- Srever Side
- Client Side
Client-side embedded languages aim to provide dynamic nature to web pages, which reduces the overhead of recontacting the server.
Server-side embedded languages are much more flexible. generating additional markup dynamically is the main aim of having fragments of server-side code. when the page is served, server-side embedded in a web page is the code automatically discarded and replaced by the output.
- Client side
- Machine languages:
These languages are directly executable by a compute Central Processing Unit. Machine languages are typically coded in bit patterns, represented in octal or hexadecimal forms.
- IBM System/360
- Sun, Oracle SPARC
- System languages:
These are for low-level languages used in memory management or task management. A system programming language generally used for system programming, for example, languages designed for writing system software, usually require different approaches of development compared to application software.
- Concurrent Languages:
These languages are constructed for concurrency in Message passing languages. For example, Java shows shared-memory concurrency.
- Multiparadigm languages:
These types of languages support more than one programming languages or programming paradigm. Multiparadigm languages allow using more than one programming style. No specific language solves all the problems in the easiest or efficient that’s why we use Multiparadigm languages.
- Extension languages:
These languages are used as an extension to other languages. Extension programming languages are embedded into another program and used to harness its features in extension scripts.
- Iterative languages :
These languages are built around or offering generators.
- Hardware description languages:
These programming languages are used in electronics, a hardware description language or HDL is used to describe the structure, design, and operation of electronic circuits or digital logic circuits. Amoung various most popular and well-supported HDL varieties used in industry are Verilog and VHDL.
- Analog circuit’s HDLs:
- Digital circuit’s HDLs
- Advanced Boolean Expression Language(ABEL)
- Altera Hardware Description Language(AHDL)
- Analog circuit’s HDLs:
- Visual languages:
In Viual Languages users can specify programs in a 2-D or more way instead one-dimensional (text strings) in visual languages we use graphical elements and figures to develop a program.
- List-based languages:
List-based languages are based on the list data structure.
- Synchronous languages:
These programming languages are used in programming reactive systems. A programming reactive systems is the systems which gets interrupted and respond instantly. some of these systems are also called real-time systems and are used widely.
- Macro languages:
These languages are used to transform one source code file into another. Macro is a short piece of text which can expands into a larger one. Macro languages are often used to preprocess the source code. Preprocessors supply facilities like file inclusion etc.
- cpp (the C preprocessor)
- ML/I (general purpose macro processor)
- Query languages:
These languages are used in databases and information systems to make queries.
- Metaprogramming languages:
Metaprogramming is the writing of programs that write or manipulate other programs, including themselves, as their data or that do part of the work that is otherwise done at run time during compile time.
- Emacs Lisp
- Rule-based languages:
Rule-based languages instantiate rules when activated by conditions in a set of data. Some set which gets selected and the statements which belonged to those rules get executed.
- Constraint Handling Rules
- Numerical analysis Languages:
In Numerical analysis we analyzes and implements algorithms for numerical solutions to solve huge problems of realistic mathematical models involving continuous variables. we use the following programming languages in Numerical Analysis.
- Syntax handling languages:
These languages assist with generating lexical analyzers and parsers for context-free grammars.Example:
- Coco/R (EBNF with semantics)
- GNU bison (FSF’s version of Yacc)
- GNU Flex (FSF version of Lex)
- lex (Lexical Analysis, from Bell Labs)
- Parsing expression grammar (PEG)
- Non-English-based languages:
There are several programming languages which are developed in different language other than the English language. language is not a barrier in this case.
- Chinese BASIC – Chinese
- Fjölnir – Icelandic
- Language Symbolique d’Enseignement – French
- Lexico – Spanish
- Rapira – Russian
- XML-based languages:
These languages are used to transfer XML documents to into human readable format.