Си
Что у гранда не спроси —
Он, как попка, — «си» да «си»,
Ну а сам всё налегает
На селедку иваси!~ Дарт Херохито. «Лирические хокку (сборник)»
СИ — Система Издевательств над Программистами. Она же святая сила Си. Применяется для Систематизирования, Издевательства и Программирования. Окончание аббревиатуры было опущено из соображений политкорректности. Основные единицы измерения — попугай, пол-литра, (*int((*int)(int[])))(int, int**) и (начиная с C++) int**((__stdcall std::priority_queue<int, std::vector<int>, std::greater<int> >::** const& myptr)(std::priority_queue<int, std::vector<int>, std::greater<int> >::size_type[], volatile const long unsigned long int *const*&)).
История создания С[править]
Система издевательств над программистами была создана самими программистами фирмы Bell Laboratories. Bell Laboratories занималась созданием колоколов. В 1950 году Bell Laboratories создала вычислительный центр для математизации процесса изготовления колоколов. В этом центре и родился С.
Предыстория (Язык A)[править]
В 1950—1955 годах группа программистов под руководством Айвена Беллоу (Ivan Belou) создала программы Bell Model (модель колокола) и Air Model (модель окружающей среды). Группа уже собиралась приступать к Ringer Model (модели звонаря), но тут разразился скандал: Беллоу был застигнут за игрой в Звездные Войны на рабочем месте и с позором уволен. Перед уходом Беллоу удалил все исходные тексты программ и с тех пор никто не смог их воссоздать, между тем как приложения нуждались в обновлении. Но об этом временно пришлось забыть.
Группе программистов было поручено создать Ringer Model (модель звонаря), которая управлялась бы человеком с клавиатуры компьютера. Для управления и был создан командный язык, получивший название — Язык A. Название язык получил в честь ноты «ля» (латинское обозначение «A»), которую издаёт камертон.
Язык B[править]
Модели нуждались в отладке, однако оказалось, что без Беллоу никто это сделать не мог.
Тогда руководство Bell Model приняло несколько судьбоносных решений:
- Расширить вычислительный центр
- Создать систему для изготовления заплаток на модели (patches)
- Никогда не увольнять талантливых программистов, даже если они играют в игры на рабочем месте.
В 1957 году группа программистов Bell Laboratories создала язык B, позволивший худо-бедно ставить заплатки. Язык был настолько плох, что никому и в голову не пришло бы использовать его вне фирмы. Он и с поставленными руководством фирмы задачами еле-еле справлялся. Однако никто не собирался его дорабатывать, так как все программисты до единого играли в Тетрис и Звездные Войны.
Язык C[править]
Игры тоже были плохие. В частности двум любителям Asteroids — Кену Томпсону и Деннису Ритчи — никак не удавалось победить Главного Пирата и долететь до Астероида Сокровищ, что, конечно же, объяснялось исключительно недостатками игры. Кен и Ден пытались пропатчить игру с помощью фирменного языка B, однако язык B не справлялся с этой задачей.
Тогда Томпсон и Ритчи приняли исторические решения:
- переставить игру на главный сервер
- создать язык C, который сможет пропатчить игрушку.
Так был создан язык Cи Исходный — Предтеч, Переплёт Книги Бэшей, Великий последователь Би и Юникс.
Главными особенностями языка С являются
- Возможность написать любую, даже саму сложную, программу одной строкой.
- Порождение любым компилятором предупреждений, количество которых превосходит число команд.
Так, например, стандартная программа «Превед Медвед»:
main() { printf("Ы?\n"); }
порождает 9 предупреждений на компиляторах ANSI C.
- Инструкция {P@$c@l mu$t di++e} позволяет снизить число предупреждений компилятора на треть и одновременно избавиться от возможной критической ошибки «Critical Error! Memory leak is absent!», если такая всё-таки возникла.
- Возможность создания функций из чисел путём приведения типов (т. н. «чёрная магия»):
if (cmd[1] == RESET) // если принятая команда RESET
{((void(*)(void))0)();} // что-то из черной магии
- Обязательное использование инструкции {%i++;&(#$)@}{%==;(@#)!=$;} возле каждого оператора во избежание критической ошибки «Critical Error! The buffer will not be overflowed!»
- Число ошибок в коде равно числу операторов.
Наиболее эффективной программой на языке Си (по версии Международной ФедяРации Какеров) является следующая:
main(){while(1);}
Язык С ±, Cи плюс минус, Си приплюснутый[править]
Создан программистом Бджарне Строуструпом после усовершенствования языка С под собственные нужды. В частности, по сравнению с С было сделано следующее:
- Автодобавление инструкции, вызывающей переполнение буфера.
- Автодобавление инструкции, вызывающей утечку памяти.
- Инструкция {P@$c@l mu$t di++e} заменена на class public:{(De|phi++)-- mu$t di++e}protected:{P@$c@l mu$t di++e} в связи с концепцией ООП.
- Инструкция {%i++;&(#$)@}{%==;(@#)!=$;} заменена на class public:{%i++;&(#$)@}protected:{%==;(@#)!=$;} в связи с концепцией ООП.
- Поддержка инструкции class public:{B|ue $creen 0f De@th}&{Bi++|| G@te$}=={f0rever}. Добавлена по просьбе Билла Гейтса для совместимости с Windows.
Си выходит в широкий мир[править]
С этого момента разработками программистов Bell Laboratories заинтересовались хакеры всего мира. Наёмные Хакеры Necrosoft, Beerland и других компаний украли разработки Bell Laboratories, довели их до ума и выпустили на международный рынок с новыми названиями.
Managed C++[править]
Используется исключительно менеджерами Necrosoft и включает средства удалённой отладки мозга индусских программистов. Ко всем достоинствам обычного C++ добавлена способность подвисать для сборки мусора (то есть конфиденциальной информации о вас, лицензионном статусе ваших программ и/или сексуальных предпочтениях вашего кота) и передачи собранного куда следует.
Си--[править]
Оригинальное название языка Си++, используемое промоутерами для продажи того же самого под другим названием. Коварные промоутеры продукта посчитали, что переделав название на противоположное, они обманут наивных потребителей и добьются большей популярности. Что, собственно, у них и получилось.
C#, «До диез», Си за решёточкой[править]
Язык создан в 2000 году наёмными хакерами Necrosoft, пребывающих в заключении за кражу исходников Bell Laboratories.
Язык C# молодой, но двунаправленный: борется одновременно за второе место по показателю ошибки/минута и за первое место с Windows ХРеново написано за обладание москами населения земли в рамках программы Некрософт - НЕТ!!!.
В 2001 году нотное издательство «Edition Peters» совместно с фирмой «Мелодия» подала на хакеров в суд за кражу бренда C#. «C# — это до диез, а не хакерская штуковина!» — был озаглавлен их иск. Однако адвокатам наёмных хакеров удалось выиграть дело. Их доводы были таковы: во-первых, хакеры уже сидят за решеткой, во вторых, знак «#» больше похож на тюремную решётку, чем на диез. Однако, на Necrosoft C# иначе чем «до диез» не называют, хотя для всего остального мира C# — это «си за решёткой».
Программистов, работающих с данным языком, принято называть лабухами.
Си в пупырышках[править]
Неизвестен, не найден и не будет найден пока Necrosoft не наиграется с Си за решёточкой.
Язык D[править]
А программисты Bell Laboratories создали язык D. Широкий мир его пока не видел, но из хорошо информированных источников известно, что по показателю ошибки/минута он занял почётное первое место в прошлом году, опередив С Исходный и Си Плюс Минус. Однако Волшебники АлексАдрейкис и Брайт с ЦифровогоМарса проводят испытание магической второй версии D 2.0 которая обещает быть приемником С в новом столетии.
«СИ» большими буквами[править]
Существует мнение, активно разлагающее моск широкого круга узких безумных ученых, что С не есть СИ и СИ происходит от названия Съезд Интернационала марксистов-джедаистов. В начале они собрались, чтобы найти решение, о том, как выполнить 13-летку за 6,66 года, но один из представителей этого кружка Лень-Ын предложил следующую классификацию, которую почему-то назвали СИ. По этой системе T=δ*t. Для удобства приняли единицу измерения величины Т лет, а t — год, таким образом ученые подсчитали, что коэффициент δ=1,(951). Это число было засекречено и открыто только в 1951 г. уже после смерти г-на Лень-Ына.