Кевин Келлехер бағдарламалау тілдерін салыстырудың қызықты тәсілін ұсынды: олардың әрқайсысын өзі шешетін мәселе тұрғысынан сипаттау. Таңқаларлығы, осы тәсілмен қаншама тілді және қаншалықты дәл сипаттауға болады.
Algol: Ассемблер тілі тым төменгі деңгейлі.
Pascal: Algol-да деректер типі жеткіліксіз.
Modula: Pascal жүйелік бағдарламалау үшін тым әлсіз.
Simula: Algol модельдеу (симуляция) үшін жеткілікті деңгейде жақсы емес.
Smalltalk: Simula-дағының бәрі бірдей объект емес.
Fortran: Ассемблер тілі тым төменгі деңгейлі.
Cobol: Fortran қорқынышты.
PL/1: Fortran-да деректер типі жеткіліксіз.
Ada: Қолданыстағы әрбір тілде бірдеңе жетіспейді.
Basic: Fortran қорқынышты.
APL: Fortran массивтермен жұмыс істеуге жеткілікті деңгейде жақсы емес.
J: APL өзіндік таңбалар жиынын талап етеді.
C: Ассемблер тілі тым төменгі деңгейлі.
C++: C тым төменгі деңгейлі.
Java: C++ — шала-шарпы құрастырылған былжырақ. Ал Microsoft бізді таптап тастағалы жатыр.
C#: Java Sun компаниясының бақылауында.
Lisp: Тьюринг машиналары — есептеулерді сипаттаудың қолайсыз тәсілі.
Scheme: MacLisp — шала-шарпы құрастырылған былжырақ.
T: Scheme-де кітапханалар жоқ.
Common Lisp: Lisp-тің диалектілері тым көп.
Dylan: Scheme-де кітапханалар жоқ, ал Lisp синтаксисі қорқынышты.
Perl: Shell скрипттері/awk/sed бағдарламалау тілдеріне жеткілікті деңгейде ұқсамайды.
Python: Perl — шала-шарпы құрастырылған былжырақ.
Ruby: Perl — шала-шарпы құрастырылған былжырақ, ал Lisp синтаксисі қорқынышты.
Prolog: Бағдарламалау логикаға жеткілікті деңгейде ұқсамайды.