Friday, May 22, 2009

Programming Languages Generations "Programming Levels of Abstraction"

Programming Languages Generations "Programming Levels of Abstraction" 
  • 1GL: First Generation progrmmming Language which is about Machine Language and it is read directly by CPU and almost nobody programs with it.
  • 2GL: higher Level of Abstraction and contains the different types of Assembly languages which depends on the computer architecture.
  • 3GL:  more enhancement in the 2GL to be reusable and more user-friendly such as C, Fortran, Java.
  • 4GL: Domain-specific prgramming Language used for Rapid Application Development "Drag & Drop fashion, templates with customization", it is an umbrella term contains many languages such as LabView, Matlab, PL/SQL etc.; it concerns with these objectives Codeless,  Problem Solving and System Engineering.
  • 5GL: The highest level of abstraction which is based on the contraint programming rather than coding algorithms such as Prolog and Mercury.
What I can conclude is that, even if it seems the natural development of programming languages is to be a higher level of abstraction, I think the Highest generation will combine both lowest and highest level of abstraction together in a cyclic hybrid fashion not a finite timeline as may others thought. Therefore, if 6GL will be existed, it will concern about an application template that can be customized for acertain need in a domain and in the same time can be modified to achieve a puropse of another domain.

No comments: