Си: различия между версиями
→Язык B: орф. |
|||
| (не показано 36 промежуточных версий 24 участников) | |||
| Строка 1: | Строка 1: | ||
{{qdh|Что у гранда не спроси —<br />Он, как попка, — «си» да «си»,<br />Ну а сам всё налегает<br />На селедку иваси!|Лирические хокку (сборник)}} | {{qdh|Что у гранда не спроси —<br />Он, как попка, — «си» да «си»,<br />Ну а сам всё налегает<br />На селедку иваси!|Лирические хокку (сборник)}} | ||
'''СИ''' | [[Файл:Си.jpeg|мини|справа|330px]] | ||
Применяется для [[Систематизирование|Систематизирования]], [[Издевательство|Издевательства]] и [[Программирование|Программирования]]. Окончание аббревиатуры было опущено из соображений [[политкорректность|политкорректности]]. Основные единицы | '''СИ''' — '''Система Издевательств над Программистами'''. Она же святая [[сила]] Си. | ||
Применяется для [[Систематизирование|Систематизирования]], [[Издевательство|Издевательства]] и [[Программирование|Программирования]]. Окончание аббревиатуры было опущено из соображений [[политкорректность|политкорректности]]. Основные единицы измерения — [[Попугай (единица измерения)|попугай]], [[пол-литра]], (*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*&)). | |||
== История создания С == | == История создания С == | ||
| Строка 10: | Строка 10: | ||
=== Предыстория (Язык A) === | === Предыстория (Язык A) === | ||
В 1950—1955 годах группа программистов под руководством Айвена Беллоу (Ivan Belou) создала программы Bell Model (модель колокола) и Air Model (модель окружающей среды). Группа уже собиралась приступать к Ringer Model (модели звонаря), но тут разразился скандал: Беллоу был застигнут за игрой в Звездные Войны на рабочем месте и с позором уволен. Перед уходом Беллоу удалил все исходные тексты программ и с тех пор никто не смог их воссоздать, между тем как приложения нуждались в обновлении. Но об этом временно пришлось забыть. <br /> | В 1950—1955 годах группа программистов под руководством Айвена Беллоу (Ivan Belou) создала программы Bell Model (модель колокола) и Air Model (модель окружающей среды). Группа уже собиралась приступать к Ringer Model (модели звонаря), но тут разразился скандал: Беллоу был застигнут за игрой в Звездные Войны на рабочем месте и с позором уволен. Перед уходом Беллоу удалил все исходные тексты программ и с тех пор никто не смог их воссоздать, между тем как приложения нуждались в обновлении. Но об этом временно пришлось забыть. <br /> | ||
Группе программистов было поручено создать Ringer Model (модель звонаря), которая управлялась бы человеком с клавиатуры компьютера. Для управления и был создан командный язык, получивший | Группе программистов было поручено создать Ringer Model (модель звонаря), которая управлялась бы человеком с клавиатуры компьютера. Для управления и был создан командный язык, получивший название — Язык A. Название язык получил в честь ноты «ля» (латинское обозначение «A»), которую издаёт [[камертон]]. | ||
=== Язык B === | === Язык B === | ||
| Строка 22: | Строка 22: | ||
=== Язык C === | === Язык C === | ||
Игры тоже были плохие. В частности двум любителям | Игры тоже были плохие. В частности двум любителям Asteroids — Кену Томпсону и Деннису Ритчи — никак не удавалось победить Главного Пирата и долететь до Астероида Сокровищ, что, конечно же, объяснялось исключительно недостатками игры. Кен и Ден пытались пропатчить игру с помощью фирменного [[Би|языка B]], однако язык B не справлялся с этой задачей. <br /> | ||
Тогда Томпсон и Ритчи приняли исторические решения: | Тогда Томпсон и Ритчи приняли исторические решения: | ||
# переставить игру на главный сервер | # переставить игру на главный сервер | ||
# создать язык C, который сможет пропатчить игрушку. | # создать язык C, который сможет пропатчить игрушку. | ||
Так был создан язык '''Cи Исходный''' | Так был создан язык '''Cи Исходный''' — Предтеч, Переплёт [[Книга Бэшей|Книги Бэшей]], Великий последователь [[Би]] и [[Юникс]]. | ||
Главными особенностями языка С | Главными особенностями языка С являются | ||
* Возможность написать любую, даже саму сложную, программу одной строкой. | * Возможность написать любую, даже саму сложную, программу одной строкой. | ||
* Порождение любым компилятором предупреждений, количество которых превосходит число команд. | * Порождение любым компилятором предупреждений, количество которых превосходит число команд. | ||
Так, например, стандартная программа «Превед Медвед»: | Так, например, стандартная программа «Превед Медвед»: | ||
main() { printf(" | main() { printf("Ы?\n"); } | ||
порождает 9 предупреждений на компиляторах ANSI C. | порождает 9 предупреждений на компиляторах ANSI C. | ||
* Инструкция {P@$c@l mu$t di++e} позволяет снизить число предупреждений компилятора на треть и одновременно избавиться от возможной критической ошибки «Critical Error! Memory leak is absent!», если такая всё-таки возникла. | |||
* Возможность создания функций из чисел путём приведения типов (т. н. «чёрная магия»): | |||
<code>if (cmd[1] == RESET) // если принятая команда RESET <br /> | |||
{((void(*)(void))0)();} // что-то из черной магии </code> | |||
* Обязательное использование инструкции {%i++;&(#$)@}{%==;(@#)!=$;} возле каждого оператора во избежание критической ошибки «Critical Error! The buffer will not be overflowed!» | |||
* Число ошибок в коде равно числу операторов. | |||
Наиболее эффективной программой на языке Си (по версии Международной ФедяРации Какеров) является следующая: | |||
<br /><code>main(){while(1);}</code> | |||
=== Язык С ±, Cи плюс минус, Си приплюснутый === | === Язык С ±, 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, | С этого момента разработками программистов Bell Laboratories заинтересовались хакеры всего мира. Наёмные Хакеры Necrosoft, Beerland и других компаний украли разработки Bell Laboratories, довели их до ума и выпустили на международный рынок с новыми названиями. | ||
=== Managed C++ === | === Managed C++ === | ||
| Строка 52: | Строка 65: | ||
Язык создан в 2000 году наёмными хакерами [[Necrosoft]], пребывающих в заключении за кражу исходников Bell Laboratories. <br /> | Язык создан в 2000 году наёмными хакерами [[Necrosoft]], пребывающих в заключении за кражу исходников Bell Laboratories. <br /> | ||
Язык C# молодой, но двунаправленный: борется одновременно за второе место по показателю ошибки/минута и за первое место с [[Windows ХР]]еново написано за обладание москами населения земли в рамках программы [[Некрософт - НЕТ!!!]]. <br /> | Язык C# молодой, но двунаправленный: борется одновременно за второе место по показателю ошибки/минута и за первое место с [[Windows ХР]]еново написано за обладание москами населения земли в рамках программы [[Некрософт - НЕТ!!!]]. <br /> | ||
В 2001 году нотное издательство [[«Edition Peters»]] совместно с фирмой [[«Мелодия»]] подала на хакеров в суд за кражу бренда C#. «C# | В 2001 году нотное издательство [[«Edition Peters»]] совместно с фирмой [[«Мелодия»]] подала на хакеров в суд за кражу бренда C#. «C# — это [[до диез]], а не хакерская штуковина!» — был озаглавлен их иск. Однако адвокатам наёмных хакеров удалось выиграть дело. Их доводы были таковы: во-первых, хакеры уже сидят за решеткой, во вторых, знак «#» больше похож на тюремную решётку, чем на диез. Однако, на [[Necrosoft]] C# иначе чем «до диез» не называют, хотя для всего остального мира C# — это «си за решёткой». | ||
Программистов, работающих с данным языком, принято называть [[Как правильно:Лабать панк-рок|лабухами]]. | Программистов, работающих с данным языком, принято называть [[Как правильно:Лабать панк-рок|лабухами]]. | ||
| Строка 59: | Строка 72: | ||
=== Язык D === | === Язык D === | ||
А программисты Bell Laboratories создали язык D. Широкий мир его пока не видел, но из [[Узкие Круги|хорошо информированных источников]] известно, что по показателю ошибки/минута он занял почётное первое место, опередив С Исходный и Си Плюс Минус. | А программисты Bell Laboratories создали язык D. Широкий мир его пока не видел, но из [[Узкие Круги|хорошо информированных источников]] известно, что по показателю ошибки/минута он занял почётное первое место в прошлом году, опередив С Исходный и Си Плюс Минус. | ||
Однако Волшебники АлексАдрейкис и Брайт с ЦифровогоМарса проводят испытание магической второй версии D 2.0 которая обещает быть приемником С в новом столетии. | |||
== «СИ» большими буквами == | |||
Существует мнение, активно разлагающее моск широкого круга узких безумных ученых, что С не есть СИ и СИ происходит от названия Съезд Интернационала марксистов-джедаистов. В начале они собрались, чтобы найти решение, о том, как выполнить 13-летку за 6,66 года, но один из представителей этого кружка Лень-Ын предложил следующую классификацию, которую почему-то назвали СИ. По этой системе T=δ*t. | |||
Для удобства приняли единицу измерения величины Т лет, а t — год, таким образом ученые подсчитали, что коэффициент δ=1,(951). Это число было засекречено и открыто только в 1951 г. уже после смерти г-на Лень-Ына. | |||
== См. также == | == См. также == | ||
* [[Сионизм]] | * [[Сионизм]] | ||
* [[Cu]] | |||
{{ | {{ноты}} | ||
[[Категория: | [[Категория:Компьютер]] | ||
[[Категория:Языки]] | [[Категория:Языки]] | ||
[[Категория:Слова из двух букв]] | |||