Previous Entry Share Next Entry
Пол Грэхем (Грэм) -- Что решают языки программирования.
bukvodel
 

Paul Grehem -- What Languages Fix

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

Algol: Ассемблер слишком низкоуровнен.
 - Assembly language is too low-level.

Pascal: В Анголе недостаточно типов данных.
 - Algol doesn't have enough data types.

Modula: Pascal слишком хлипок для системного программирования.
 - Pascal is too wimpy for systems programming.

Simula: Ангол недостаточно хорош для симуляций.
 - Algol isn't good enough at simulations.

Smalltalk: В Simula не всё является объектами.
 - Not everything in Simula is an object.

Fortran: Ассемблер слишком низкоуровнен.
 - Assembly language is too low-level.

Cobol: Fortran страшен.
 - Fortran is scary.

PL/1: В Fortran недостаточно типов данных.
 - Fortran doesn't have enough data types.

Ada: В каждом существующем языке чего-нибудь да не хватает.
 - Every existing language is missing something.

Basic: Fortran страшен.
 - Fortran is scary.

APL: Fortran недостаточно хорош для манипуляций массивами.
 - Fortran isn't good enough at manipulating arrays.

J: APL требует собственной раскладки клавиатуры.
 - APL requires its own character set.

C: Ассемблер слишком низкоуровнен.
 - Assemby language is too low-level.

C++: C слишком низкоуровнен.
 - C is too low-level.

Java: C++ is a kludge. Microsoft is going to crush us.
 - C++ это вариантная запись (kludge). И Мелкомягкие собираются сокрушить нас.

C#: Java контролируется Sun.
 - Java is controlled by Sun.

Lisp: Машины Тюринга это неудобный способ для описания вычислений.
 - Turing Machines are an awkward way to describe computation.

Scheme: MacList -- вариантная запись.
 - MacLisp is a kludge.

T: В Scheme нет библиотек.
 - Scheme has no libraries.

Common Lisp: Развелось слишком много диалектов Lisp.
 - There are too many dialects of Lisp.

Dylan: В Scheme нет библиотек, а синтаксис Lisp страшен.
 - Scheme has no libraries, and Lisp syntax is scary.

Perl: Языки оболочек scripts/awk/sed недостаточно похожи на языки программирования.
 - Shell scripts/awk/sed are not enough like programming languages.

Python: Perl -- вариантная запись.
 - Perl is a kludge.

Ruby: Perl -- вариантная запись, а синтаксис Lisp страшен.
 - Perl is a kludge, and Lisp syntax is scary.

Prolog: Программирование недостаточно похоже на логические размышления.
 - Programming is not enough like logic.

 

  • 1

А если вся программа состоит из этих клуджь?

На русском эту штуку можно называть клушей -- погляди какая клуша у него в парсере торчит!


Мне кажется у нас это называется "костыли", судя по определению:

A kludge (or kluge) is a workaround, an ad hoc engineering solution, a clumsy or inelegant solution to a problem, typically using parts that are cobbled together.

  • 1
?

Log in

No account? Create an account