Programming languages are fundamental to the development of any application spanning desktop applications,web applications,database applications,mobile applications and internet applications.

We have the high level and the low level languages.

A high level programming language is a programming language with strong abstaction from the details of the computer.This abstraction and hiding of details is intended to make the language user friendly as it involves concept from the problem domain instead of those of the machine used.It isolates the execution semantics of a computer architecture from the specification of the program, making the process of developing a program simpler and more understandable with respect to a low-level language.

A high level language does not imply that the language is superior to a low level language.However,in terms of the depth of knowledge of how computers work required to productively program in a given language, the inverse may be true.It refers to the higher level of abstraction from machine language.High level languages deal with variables,arrays,locks,threads,usability,boolean operations and objects.Other features such as string handling routines, object-oriented language features and file input/output may also be present.

High level languages make complex programming simpler, while low-level languages tend to produce more efficient code. It features like more generic data structures, run-time interpretation and intermediate code files often result in slower execution speed, higher memory consumption and larger binary size.Hence, code which needs to run particularly quickly and efficiently may be written in a lower-level language, even if a higher-level language would make the coding easier.Examples of high level languages are visual basic,c#,cobol,java,pascal,c++,fortran e.t.c

A low level programming language is a language that provides little or no abstraction from a computer's instruction set architecture.It is sometimes described as being "close to the hardware."
It does not need a compiler or interpreter to run; the processor for which the language was written is able to run the code without using either of these.It has the advantage that they can be written to take advantage of any peculiarities in the architecture of the central processing unit (CPU) which is the "brain" of any computer. Thus, a program written in a low-level language can be extremely efficient, making optimum use of both computer memory and processing time. However, to write a low-level program takes a substantial amount of time, as well as a clear understanding of the inner workings of the processor itself. Therefore, low-level programming is typically used only for very small programs, or for segments of code that are highly critical and must run as efficiently as possible.A single low level language instruction translates to a single machine language instruction.
All assembly languages are low-level languages.Hence an assembly language is nothing more than a symbolic representation of machine code, which also allows symbolic designation of memory locations. Thus, an instruction to add the contents of a memory location to an internal CPU register called the accumulator might be add a number instead of a string of binary digits (bits).
If an assembly-language program needs to be changed or corrected, it is necessary to make the changes to the source code and then re-assemble it to create a new object program.Assembly language is a more human readable representation of the machine code, where the machine instructions are represented as mnemonics rather than binary digits. Assembly language has a 1:1 relationship with machine code as long as the program is not self-modifying. Before an assembly program can be run by a computer, it must be transformed to machine code. A program that does this translation is known as an assembler. In the early days of computing, assembly language was extensively used, but today it is mainly used for very time critical parts of programs, the core of operating systems, as well as in very small computers, like the chip on a smartcard.Machine code and assembly language are called first and second generation programming languages respectively. A programming language that has arithmetic expressions, looping constructs, functions, and other constructs that save the programmer from dealing with the machine instructions directly is known as a third-generation programming language.

However,before a program can be executed on a computer, it must be translated to machine code. Alternatively it can be simulated by another program, called an interpreter. A compiler is a program that translates a programming language, called the source programming language into another programming language, called the destination language. Usually the source language is a high level language, while the destination language is machine code. An interpreter may require that the source programming language be compiled into an intermediate form before interpretetion, called byte code. This is a more low level language, for which it is easier to write an interpreter. In the Java programming language this is a separate step, while in other cases it is performed as an integral part of the interpreter. Examples of such programming languages are Perl and Python. CommonLisp is an exception to the above: it's both interpreted and compiled.


No responses found. Be the first to comment...

  • Do not include your name, "with regards" etc in the comment. Write detailed comment, relevant to the topic.
  • No HTML formatting and links to other web sites are allowed.
  • This is a strictly moderated site. Absolutely no spam allowed.
  • Name: