pg.gimran.org

Что исправляют языки

Перевод эссе Пола Грэма «Что исправляют языки». Оригинал: https://paulgraham.com/fix.html. Машинный перевод (Gemini).

Translation of Paul Graham's essay 'What Languages Fix'. Original: https://paulgraham.com/fix.html. Machine translation (Gemini).

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

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: Программирование слишком мало похоже на логику.