AKB Forums

Go Back   AKB Forums > Entertainment > Fun
Home Register Blogs FAQ Members List Calendar Downloads Arcade Mark Forums Read

Fun Посмеемся

Troubles when posting message? Click here! :: Проблемы с отправлением сообщения? Нажмите сюда!

Reply
 
LinkBack Thread Tools Display Modes
Old Jul 28, 2004, 11:01   #1
Moderator
 
Gates's Avatar
 
Join Date: Feb 2002
Location: Armenia
Posts: 5,174
Rep Power: 8
Reputation: 218
Send a message via ICQ to Gates
КРАТКОЕ РУКОВОДСТВО ПРОГРАММИСТА ПО ЯЗЫКАМ ПРОГРАММИРОВАНИЯ

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

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

C: Пользуясь возможностями C, вы эффективно простреливаете себе левую ногу. Через пару дней встает задача прострелить себе правую ногу. Вы слегка модифицируете программу, и при отладке простреливаете последовательно: левую ногу Кернигана, правую ногу Ричи, свою правую руку (но продолжаете отлаживать левой рукой), процедуру синтаксического анализа компилятора (от чего теряются некоторые забавные конструкции языка, но дело, кажется, начинает идти на лад), и, наконец, винчестер в области FAT.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Модула-2: После того, как вы понимаете, что фактически ничего не можетесделать на этом языке, вы простреливаете себе голову.
__________________
Gates is offline   Reply With Quote Quote selected
Old Jul 29, 2004, 12:53   #2
Moderator
 
Gates's Avatar
 
Join Date: Feb 2002
Location: Armenia
Posts: 5,174
Rep Power: 8
Reputation: 218
Send a message via ICQ to Gates
- Представьте, что вы _подробно_ описываете надевание штанов:"взять штаны
так, чтобы ширинка была спереди, а задний карман - сзади; нагнуться,
опустить руки до уровня коленок..." и т.д. ЭТО и есть программирование!

- Что такое программирование на языке ассемблера?
- Представьте, что вы описываете надевание штанов очень подробно, в
виде:"сократить такую-то мышцу, растянуть такую-то"...

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

- Чем отличаются эффективный и неэффективный алгоритмы?
- Если, надев штаны по своему описанию, вы обнаружили, что ширинка
застегнута у вас на затылке или что вы не можете ее застегнуть совсем
(из-за стянутых штанами рук) - значит, вами была допущена ошибка в
программе.

- Что такое ошибка, приводящая к зависанию компьютера (мегаклоп)?
- Если, надев штаны, вы обнаружили, что задохнулись - значит, в описании
вы допустили мегаклоп.

- Зачем нужно проверять входные данные на соответствие требованиям
программы?
- Перед тем, как надеть штаны, выверните их наизнанку. Если вы их и
наденете наизнанку - значит ваша программа не проверяет входные данные.

- Что такое оптимизация программы?
- Сначала вы читаете один из вариантов надевания штанов, а потом пытаетесь
сделать его более эффективным. Hапример, меняете последовательность :
"распороть штаны, приложить все куда нужно и затем сшить по старым швам"
на любую другую, менее трудоемкую.

- Что такое переносимость?
- Это когда по вашему алгоритму можно надеть любые штаны на любого
человека.

- Что такое крах системы?
- Исчезновение ваших штанов - как результат вашей деятельности"
__________________
Gates is offline   Reply With Quote Quote selected
Reply


Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Бизнес для девушек - краткое руководство Завен Григорян Fun 6 Nov 16, 2004 07:36
Как завести дома программиста Ellis Fun 4 Aug 27, 2003 06:56
"Мужчина (Руководство пользователя)" Malu Adult Zone 3 Jun 15, 2003 17:05


All times are GMT. The time now is 04:24.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
This board was founded on September 29, 2001
Powered by Viper Internet

Affordable Web Hosting | ParevNet

Buy text link