In nowadays , the computer world has changed very dramatically - speed , size , capacity ...etc. The development of the computer world has changed from the first generation to the fifth , or even the sixth generation . From a very low level language such as assembly to the high level languages such as Java , Access ......etc . For more details about the generation trend of the programming languages , please refer to my partner's article2. Although we have nearly more than 100 programming languages now , such as C++ , Cobol , Fortan , PL/SQL ...etc , we can still classify them into three main catagories :
But what are the main reasons for languages such as C++ or LISP being popular ? It is better to discuss some of the existing programming languages by their characteristics and features to find out the reasons for popularity . We will discuss C/C++ , LISP , Pascal and Oberon by listing out the pros and cons of using that language .
"C" is a low level , weakly typed , static , non-modular , non-generic , non-reflective
"C" was designed in the late 70's as a portable assembler for the PDP-11 series , and it is still the state of the art in that area , although , as a system programming language , it is more adapted to the PDP-11 than to modern architectures.
In the late 80's , the small and elegant 'K&R' C has become the prey of an ANSI standards commitee ; it has now become ANSI Standard C. In the 80's, C has become the language of choice for general-purpose programming. In an attempt to add the features of general-purpose Object-Oriented Languages to C , Bjorne Stroustrup created C++ .
LISP is a self-extending , higher-order , dynamically typed strict , non-pure functional language
with lazy data structures . It is the second oldest Programming language ( being completed
1962 ) , but also one with the nicest semantics . It's a good experimental
platform for just any kind of computing; it has got very good support , including free
portable development environments , integrated structured editors , and efficient
"optimizing " compilers . Unfortunately , LISP syntax uses a very clean but unusual
notation called 'Cambridge Polish' which makes it quite unpopular with many programmers.
Common LISP is a huge monolithic language , with hundreds of built-in constructs for a megabyte worth of run-time system . However , the advantages of programming in Common LISP cannot be overestimated : everything a programmer usually needs is in the library , the object system is well integrated with the type system and condition system . Common LISP is now an ANSI Standard .
Pascal was invented by Niklaus Wirth in the early 70s and became very popular, not only as a teaching language but also for systems prorgamming and certain appliactions . It is safe , reliable , featuring strong data-typing and syntax with encourages top-down design and structured programming . It was standardized by BSI and ISO in the early 80s .
Oberon , the successor of Modula-2 , is both a programming language and a novel programming environment of designed by Niklaus Wirth and J.Gutknecht at ETH Zurich . It is a general-purpose programming language that evolved from Modula-2. It's principal new feature is the concept of type extension . It permits the construction of new data types on the basis of existing ones and provides relations between them .
Due to the fact that Oberon is a relatively new language, not many people are yet familar with this language , so there is less support for programs written in it at present. Actually Oberon is not popular yet !
After discussing the above languages , we see the followings are the typical features for popular/standrad languages
Conclusions for designing new high-level programming languages
Being efficient as an interpreted language , it may serve as a shell language as well as a programming language ; being powerful , and easy to specialize through standard libraries, it also replaces samll utility languages (awk , perl ...etc). Finally , being high-level and knowing of relations between objects , it is easily adaptated to an AI language . So there is no more need to learn a different language for every application . The same language is used for everything , no need to learn new syntaxes each time.
Programming Language Choice Practice and Experience by Mark Woodman
Programming Language Critiques: Pascal , C ,C++ ,and C-Linda by Jim Baseny May 1995
The Programming Language Oberon - Make it as simple as possible , but not simpler by A.Einstein
Press Release 15th October ,1992 Fourth Generation Programming Language for Engineers and Scientists by firstname.lastname@example.org
Smalltalk, C++ , and OO Cobol : The Good , the Bad and the Ugly by 1995 Jeff Sutherland and Object Magzine
My partner's Johan article2
My first article - An Introduction to an Industry Standard Programming Language - C++