12Programming Languages
The only way to learn a new programming language is by writing programs in it.
—Dennis Ritchie
The C language combines all the power of assembly language with all the ease-of-use of assembly language.
—Mark Pearce
What You Will Learn in This Chapter:
- Why you cannot always pick your language
- Language generations: 1GL, 2GL, 3GL, 4GL, and (you guessed it) 5GL
- Language families such as imperative, procedural, declarative, functional, and object-oriented
- Considerations for picking a language
It seems that a programming language, once created, never dies. It may go dormant for a while, but sooner or later some hobby programmer will disinter it from a dusty archive or ancient cyber-tomb just to experiment with it.
There are hundreds of different programming languages floating around in the aether waiting for you to discover them. There are thousands if you count all of the variations, dialects, and idioms. Sometimes languages spawn new versions through improvement over time while older versions persist because they are still in use by older programs. Other times dialects are invented to work for a very narrowly defined problem. For example, Emacs Lisp is a Lisp-based scripting language used inside the Emacs text editor. (Emacs may seem like a strange name, but it's much better than what it originally stood for: Editor MACroS.)
This chapter provides background so you'll know what it means if a team member says that you should use a low-level 5GL language ...
Get Beginning Software Engineering, 2nd Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.