«Д» — значит «Домашняя»

Языки программирования

Краткое руководство программиста по языкам программирования.

Бурное размножение современных языков программирования (которые, похоже, просто заимствуют друг у друга бессчетные нововведения) приводит к тому, что иногда бывает трудно вспомнить, какой язык вы в настоящее время используете. Это удобное руководство предлагается для общего использования в целях помощи программистам, оказавшимся перед такой дилеммой.


ЗАДАЧА: Прострелить себе ногу.



C: Вы простреливаете себе ногу.


C++: Вы случайно создаете дюжину экземпляров объекта "вы" и всем им простреливаете ногу. Срочная медицинская помощь оказывается невозможной, так как вы не можете разобраться, где настоящие объекты, а где - те, которые только указывают на них и говорят: "А вот - я!".


Фортран: Итерактивно вы простреливаете каждый палец ноги, а когда пальцы заканчиваются, загружаете следующую ногу и продолжаете. Когда пули заканчиваются, вы все равно продолжаете попытки прострелить себе ноги, потому что не имеете возможности обработать такую особую ситуацию.


Паскаль: Транслятор не позволит вам прострелить себе ногу.


Ada: После тщательного описания пакета "нога", вы пытаетесь одновременно зарядить пистолет, нажать курок, завопить и выстрелить себе в ногу. В ходе попыток обнаруживается, однако, что вас постигла неудача, так как ваша нога оказалась неверного типа.


Кобол: Hаводите ПИСТОЛЕТ COLT 45 на HОГА.СТОПА, Затем помещаете РУКА.КИСТЬ.ПАЛЕЦ на ПИСТОЛЕТ.КРЮЧОК и HАЖИМАЕТЕ. Затем возвращаете ПИСТОЛЕТ в КОБУРУ. ПРОВЕРЬТЕ, нуждаются ли шнурки в повторном связывании.


LISP: Вы простреливаете себе отросток, который держит пистолет, с помощью которого вы простреливаете себе отросток, который держит пистолет, с помощью которого вы простреливаете себе отросток, который держит пистолет, с помощью которого вы простреливаете себе отросток, который держит пистолет, с помощью которого вы простреливаете себе отросток, который...


Форт: Hога простреливать себе вы.


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


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


Visual Basic: Hа самом деле вы будете только выглядеть, как будто ваша нога прострелена. Однако в процессе реализации вы получите столько удовольствия, что подобные мелочи вас не озаботят.


HyperTalk: Поместите первую пулю пистолета в ступню левой ноги вас. Сообщите результат.


Motif: Вы затрачиваете несколько дней на построение UIL - описания вашей ноги, пули, ее траектории и замысловатой резьбы по слоновой кости на рукоятке пистолета. Когда вы наконец-то управились и готовы нажать на курок, пистолет закупоривается.


APL: Вы простреливаете себе ногу, затем тратите весь день на то, чтобы представить себе, как это сделать с меньшим количеством символов.



Снобол: Если вам удастся, прострелите себе левую ногу. Если не удастся, то прострелите себе правую ногу.


Unix:
% Ls
Foot.c foot.h foot.o toe.c toe.o
% Rm * .o
Rm: .o no such file or directory
% Ls
%



Параллельный Euclid: Вы простреливаете себе чью-то чужую ногу.


Язык управления заданиями IBM/370: Вы посылаете свою ногу в управляющую информационную систему с приложением документа на 400 страниц, точно описывающего, как именно вы хотите быть простреленным. Через три года ваша нога возвращается с глубоким ожогом.


Paradox: Не только вы можете прострелить себе ногу, но и ваши пользователи.


Access: Вы пытаетесь прицелиться в вашу ногу, но в результате простреливаете все Борландовские дистрибутивные дискеты.


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


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


Модула-2: После того, как вы понимаете, что фактически ничего не можете сделать на этом языке, вы простреливаете себе голову.