What Languages Fix

Оригинал Перевод

Кевин Келлехер (Kevin Kelleher) предложил интересный способ сравнивать языки программирования: описать каждый в терминах решаемой им задачи. Удивительно, как хорошо языки могут быть описаны таким образом.

Algol: Ассемблер слишком низкоуровнен.

Pascal: В Алголе недостаточно типов данных.

Modula: Pascal слишком хлипок для системного программирования.

Simula: Алгол недостаточно хорош для симуляций.

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: MacList – вариантная запись.

T: В Scheme нет библиотек.

Common Lisp: Развелось слишком много диалектов Lisp.

Dylan: В Scheme нет библиотек, а синтаксис Lisp страшен.

Perl: Языки оболочек scripts/awk/sed недостаточно похожи на языки программирования.

Python: Perl – вариантная запись.

Ruby: Perl – вариантная запись, а синтаксис Lisp страшен.

Prolog: Программирование недостаточно похоже на логические размышления.