Programming Language Classification

Posted by: Kirk Knoernschild on 2009-03-30 11:21:00.0

Below is a table that shows some popular and emerging programming languages classified according to the following:

  • Type system - Dynamic or Static type system
  • Problem space - A General Purpose language versus a Domain Specific Language
  • Runtime environment - A Managed environment (ie. garbage collection, etc.) or an Unmanaged environment.
  • Paradigm - Object-Oriented, Procedural, Functional, Imperative, or Declarative

Is this a relevant classification scheme? Are languages classified correctly? Are certain qualified languages missing from the list? How would you modify this list?


be the first to rate this blog


About Kirk Knoernschild

Kirk is an industry analyst at Burton Group. For 15 years, he has worked in the trenches on real software projects. He takes a keen interest in design, architecture, application development platforms, agile development, and the IT industry in general, especially as it relates to software development.

In 2002, Kirk wrote the book Java Design: Objects, UML, and Process, published by Addison-Wesley. He has also written numerous whitepapers and articles, including The Agile Developer column for The Agile Journal. Kirk is the founder of Extensible Java, a growing resource of component design pattern heuristics for Java that can easily be applied to most other platforms, including .Net. Kirk has trained thousands of software professionals, teaching courses on UML, Java J2EE technology, object-oriented development, component based development, software architecture, and software process. He enjoys hacking in a variety of languages, including Java, .Net, Ruby, and PHP.