The following table summarizes the principal types of programming languages.
Programming languages have evolved considerably over the years. The newer languages are easier to use and faster, and the techniques of structured programming have improved the conceptual and organizational aspects of programming. Much of the progress, of course, is due to the vast increases in the speed of the hardware. If developers thirty years ago had attempted to employ the much higher level of abstraction that is now typical with 4GLs and OOT, the sheer amount of code that would have to have been loaded into memory, not to mention its relatively slower speed of execution, would have brought their systems to a halt. Because it can support software approaches that are easier to develop and maintain, today's more powerful hardware dramatically facilitates fast software development. Offsetting this, however, is the increasing complexity of today's programs, both as separate assemblages of code and as programs that must interact with other programs over networks. There has been much hope that object-oriented technology and the associated new ways of thinking about programming would save the day. OOT has helped and will continue to be valuable, but software reliability is still a major issue. We'll discuss this at the end of the next chapter, after completing a discussion of databases and other kinds of applications software.
Summary of programming languages | ||||
---|---|---|---|---|
Language | Generation | Variants | Strengths | Weaknesses |
Machine | 1 | One for each CPU type | This is what the machine executes. It is almost never used directly by programmers because the strings of 1s and 0s are impossible to work with. | |
Assembly | 2 | One for each CPU type | Gives best speed of execution; used for games, sectins of programs that use of a lot of CPU cycles | Hard to work with; porting to a new CPU means starting all over |
High level | 3 | |||
Basic | Available for almost all systems | Easy to use | Inefficient | |
Fortran | Popular for scientific aplications | Specialized | ||
Cobol | Rich set of techniques for business applications | Specialized | ||
C | Closest to assembly language in speed | Hard to work with | ||
4GL | 4 | |||
Database | Available for almost all systems | Greatly simplifies development of database applications | Specialized | |
Markup | HTML and XML are becoming the core programming languages for Web documents and applications | Specialized | ||
Object | ||||
Java | Available for almost all systems | Facilitates reuse of code; works well over networks | Slow learning curve; slower execution on machine |
3.19.31.73