Programming Language Feature Checklist

This document contains a list of programming language features to consider when evaluating a programming language. No one language will have all of these features (they are sometimes even contradictory); a language is not necessarily bad just because it lacks some feature. The purpose of this list is only to help you focus your thinking when reviewing a new language.


These are features (or potential features) of the language itself.


These are things that exist outside of the language proper but that have an impact on the experience of using the language. Note that depending on the language some of these items may be directly supported in the language (and thus really in the first list, above).

Last Revised: 2014-09-29
© Copyright 2014 by Peter C. Chapin <>