The Different Types of Programming Languages - Learn the Basics
The progression of computer programming languages was made possible by the programmer's search for efficient translation of human language into something that can be read and understood by computers. The languages generated, called machine code, have high levels of abstraction, which hide the computer hardware and make use of representations that are more convenient to programmers.
As programs evolve and become more sophisticated, programmers found out that certain types of computer languages are easier to support. As expected in a dynamic discipline, there is no standard for categorizing the languages used in programming. There are, in fact, dozens of categories. One of the most basic ways to categorize the languages is through a programming paradigm, which gives the programmer's view of code execution. Among the languages classifications according to programming paradigm are:
o Object-Oriented Programming Languages
Known as the newest and most powerful paradigms, object-oriented programming requires the designer to specify the data structures as well as the types of operations to be applied on those data structures. The pairing of data, and the operations that can be done on it is called an object. A program made using this language is therefore made up of a set of cooperating objects instead of an instructions list.
The most famous object-oriented programming these days are C#, C , Visual Basic, Java, and Python.
o Structured Programming Languages
An exceptional type of procedural programming, structured programming provides programmers with additional tools to handle the problems created by larger programs. When using this language, programmers are required to cut program structure into small pieces of code that can easily be understood. Instead of using global variables, it employs variables that are local to every subroutine. Among the popular features of structured programming is that it doesn't accept GOTO statement which is usually associated with the top-down approach. Such approach starts with an opening overview of the system with minimal details about the various parts. To add these details, design iterations are then included to complete the design.
Commonly used structured languages include C, Pascal, and ADA.
o Procedural Programming Languages
Procedural Programming involves a list of operations the program needs to complete to be able to attain the preferred state. It is a simple programming paradigm where every program comes with a starting phase, a list of tasks and operations, and an ending stage. Also called imperative programming, this approach comes with small sections of code that perform certain functions. These sections are made up of procedures, subroutines, or methods. A procedure is made up of a list of computations that should be done. Procedural programming lets a part of the code to be used again without the need to make several copies. It achieves this by dividing programmatic tasks into small sections. Because of this, programmers are also capable of maintaining and understanding program structure.
Among the known procedural languages are BASIC and FORTRAN.
These are the different types of computer programming languages that you can consider when planning to make a computer program. Procedural programming splits the program's source code into smaller fragments. Structured languages require more constraints in the flow and organization of programs. And object-oriented programs arrange codes and data structures into objects.
To learn more about computer programming, including how you can get started creating your own programs in the next few minutes, Check Out,
http://beginnerscomputerprogramming.com
Article Source:
http://EzineArticles.com/4277916
Classification of Programming Languages
Computer programming language can be classified into two major categories:
•Low Level
•High Level
Low Level Languages
The languages which use only primitive operations of the computer are known as low language. In these languages, programs are written by means of the memory and registers available on the computer. As we all know that the architecture of computer differs from one machine to another, so far each type of computer there is a separate low level programming language. In the other words, Programs written in one low level language of one, architectural can’t be ported on any other machine dependent languages. Examples are Machine Language and Assembly Language.
Machine Language
In machine language program, the computation is based on binary numbers. All the instructions including operations, registers, data and memory locations are given in there binary equivalent.
The machine directly understands this language by virtue of its circuitry design so these programs are directly executable on the computer without any translations. This makes the program execution very fast. Machine languages are also known as first generation languages.
A typical low level instruction consists essentially of two parts:
•An Operation Part :
Specifies operation to be performed by the computer, also known as Opcode.
•An Address Part :
Specifies location of the data on which operation is to be performed.
Advantages
Machine language makes most efficient use of computer system resources like storage, registers, etc. the instruction of a machine language program are directly executable so there is no need of translators. Machine language instruction can be used to manipulate the individual bits in a computer system with high execution speed due to direct manipulation of memory and registers.
Drawbacks
Machine languages are machine dependent and, therefore, programs are not portable from one computer to other. Programming in machine language usually results in poor programmer productivity. Machine languages require programmers to control the use of each register in the computer’s Arithmetic Logic Unit and computer storage locations must be addressed directly, not symbolically. Machine language requires a high level of programming skill which increases programmer training costs. Programs written in machine language are more error prone and difficult to debug because it is very difficult to remember all binary equivalent of register, opcode, memory location, etc. program size is comparatively very big due to non-use of reusable codes and use of very basic operations to do a complex computation.
Assembly Language
Assembly language are also known as second generation languages. These languages substitutes alphabetic or numeric symbols for the binary codes of machine language. That is, we can use mnemonics for all opcodes, registers and for the memory locations which provide us with a facility to write reusable code in the form of macros. Has two parts, one is macro name and the other is macro body which contains the line of instructions. A macro can be called at any point of the program by its name to use the instruction. A macro can be called at any point of the program by its name to use the instructions given in the macro repetitively.
These language require a translator known as “Assembler” for translating the program code written in assembly language to machine language. Because computer can interpret only the machine code instruction, once the translation is completed the program can be executed.
Advantages
Assembly language provide optimal use of computer resources like registers and memory because of direct use of these resources within the programs. Assembly language is easier to use than machine language because there is no need to remember or calculate the binary equivalents for opcode and registers. An assembler is useful for detecting programming errors. Assembly language encourages modular programming which provides the facility of reusable code, using macro.
Drawbacks
Assembly language programs are not directly executable due to the need of translation. Also, these languages are machine dependent and, therefore, not portable from one machine to another. Programming in assembly language requires a high level of programming skills and knowledge of computer architecture of the particular machine.
High Level Languages (HLL)
All high level language are procedure-oriented language and are intended to be machine independent. Programs are written in statements akin to English language, a great advantage over mnemonics of assembly languages require languages use mnemonics of assembly language. That is, the high level languages use natural language like structures. These languages require translators (compilers and interpreters) for execution. The programs written in a high level language can be ported on any computer, that is why known they are known as machine independent. The early highlevel language come in third generation of languages, COBOL, BASIC, APL, etc.
These languages enable the programmer to write instruction using English words and familiar mathematical symbols which makes it easier than technical details of the computer. It makes the programs more readable too.
Procedures
Procedures are the reusable code which can be called at any point of the program. Each procedure is defined by a name and set of instructions accomplishing a particular task. The procedure can be called by its name with the list of required parameters which should pass to tat procedure.
Advantages of High Level Languages
These are the third generation languages. These are procedure-oriented languages and are machine independent. Programs are written in English like statements. As high level languages are not directly executable, translators(compilers and interpreters) are used to convert them in machine language equivalent.
Advantages
1)These are easier to learn than assembly language.
2)Les time is required to write programs.
3)These provides better documentation.
4)These are easier to maintain.
5)These have an extensive vocabulary.
Limitation of Programming language
1)A long sequence statements is to be written for every program.
2)Additional memory space is required for storing compiler or interpreter.
3)Execution time is very high as the HLL programs are not directly executable.
Article Source:
http://wschools.blogspot.com/2010/02/classification-of-programming-languages.html