Бурное размножение современных языков программирования (которые, похоже, просто заимствуют друг у друга бессчетные нововведения) приводит к тому, что иногда бывает трудно вспомнить, какой язык вы в настоящее время используете. Это удобное руководство предлагается для общего использования в целях помощи программистам, оказавшимся перед такой дилеммой.
Код:
ЗАДАЧА: Прострелить себе ногу.
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: После того, как вы понимаете, что фактически ничего
не можете сделать на этом языке, вы простреливаете себе голову.