КРАТКОЕ РУКОВОДСТВО ПРОГРАММИСТА ПО ЯЗЫКАМ ПРОГРАММИРОВАИЯ
Бурное размножение современных языков программирования (которые, похоже, просто заимствуют друг у друга
бессчетные нововведения) приводит к тому, что иногда бывает трудно вспомнить, какой язык вы в настоящее время
используете. Это удобное руководство предлагается для общего использования в целях помощи программистам,
оказавшимся перед такой дилеммой.
ЗАДАЧА: Прострелить себе ногу.
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: После того, как вы понимаете, что фактически ничего не можете сделать на этом языке, вы
простреливаете себе голову.
Автор: David Ruggiero
Osiris Technical Services, Seattle WA
Перевод: Yuri Fomin