Си плюс минус: различия между версиями

Материал из Абсурдопедии
Перейти к навигации Перейти к поиску
Нет описания правки
дописал C++0x
Строка 12: Строка 12:


Попробовали ли вы когда-нибудь сесть и поработать над проектом на C<math>\pm\!\,</math>? Я расставил достаточно ловушек, чтобы просто так работали только тривиальные проекты. Под конец проекта получается что одни и те же операторы в разных модулях означают совершенно разные вещи. А теперь попробуйте соединить все эти модули в единое целое, особенно если у вас их штук 100. Боже, я иногда не могу удержаться от смеха, когда слышу о проблемах разных компаний, которые не могут сделать так, чтобы их модули общались между собой.
Попробовали ли вы когда-нибудь сесть и поработать над проектом на C<math>\pm\!\,</math>? Я расставил достаточно ловушек, чтобы просто так работали только тривиальные проекты. Под конец проекта получается что одни и те же операторы в разных модулях означают совершенно разные вещи. А теперь попробуйте соединить все эти модули в единое целое, особенно если у вас их штук 100. Боже, я иногда не могу удержаться от смеха, когда слышу о проблемах разных компаний, которые не могут сделать так, чтобы их модули общались между собой.
== C++0x ==
<div style="clear: right; border: solid #aaa 1px; margin: 0 0 1em 1em; font-size: 90%; background: #f9f9f9; width: 300px; padding: 4px; spacing: 0px; text-align: left; float: right;">
<div style="float: left;"> [[Изображение:WikiSU.png|50px]]</div>
<div style="margin-left: 60px;">Для людей с оригинально извращённым чувством юмора так называемые эксперты из [[Википедия|Википедии]] предлагают статью под названием '''''[http://ru.wikipedia.org/wiki/C%2B%2B0x C++0x]'''''.</div>
</div>
C++0x (читается: це крест крест круг крест-набоку) — это будущий стандарт языка '''C<math>\pm\!\,</math>''', вместо ныне существующего ISO/IEC 666, который был опубликован в 666 и дополнен в 1666 году.
=== Предполагаемые изменения стандарта ===
При разработке каждого раздела будущего стандарта, комитет [[Ктулху]] использовал ряд правил:
* Оператор многоточие "''...''" может встречаться не только в качестве последнего параметра функции
* Допустима перегрузка операторов комментария (''//'' и ''/* */'')
* Допустима перегрузка оператора фигурные скобки ''{}''
* Допустима перегрузка оператора скобки ''()'' не только при вызове, но и при объявлении функции
* Стандартная библиотека реализует все мыслимые алгоритмы; доступ к ним осуществляется посредством вышеназванных правил (система угадывания параметров шаблонов гарантирует, что в случае использования оператора "''...''" будет выбран наиболее подходящий по смыслу алгоритм, не противоречащий комментариям)
'''Пример:'''
<pre>
#include <...>
... main(...)
{
    ... // read some file;
    ... // write some file;
    return ...;
}
</pre>


== Ссылки ==
== Ссылки ==

Версия от 22:47, 12 мая 2008

My life is NULL and void
~ t.A.T.u. про программирование на C±
Любой человек, даже с половиной мозга, может понять что объектно-ориентированное программирование интуитивно, нелогично и неэффективно.
~ Бьярн Страуструп про ООП
Типичной ошибкой программиста на С± является выбор С± в качестве языка программирования.
~ Александреску про Типичные ошибки C±
Автору С± место в дурке или на погосте
~ Луговский про Бьярна Страуструпа
Логотип С±

C± — эзотерический язык программирования, разработанный Bjarne Stroustrup (имя непереводимо, скорее всего, означает Беня Мёртвый Страус) для написания коммерческих программ, чтобы при возможной утечке кода его было невозможно разобрать, реверсинженирить и тем более скомпилировать и отладить. Разработка была успешно применена для создания ОС семейства Necrosoft Windows, отладить которую и по сей день не могут несколько тысяч сотрудников компании. До сих пор не существует ни одного работоспособного компилятора C±. Вопрос «как оно компилируется» остаётся открытым; многие предполагают, что в этом им помогает сам Сотона.

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

Bjarne Stroustrup о программировании на C±

Попробовали ли вы когда-нибудь сесть и поработать над проектом на C±? Я расставил достаточно ловушек, чтобы просто так работали только тривиальные проекты. Под конец проекта получается что одни и те же операторы в разных модулях означают совершенно разные вещи. А теперь попробуйте соединить все эти модули в единое целое, особенно если у вас их штук 100. Боже, я иногда не могу удержаться от смеха, когда слышу о проблемах разных компаний, которые не могут сделать так, чтобы их модули общались между собой.

C++0x

Для людей с оригинально извращённым чувством юмора так называемые эксперты из Википедии предлагают статью под названием C++0x.

C++0x (читается: це крест крест круг крест-набоку) — это будущий стандарт языка C±, вместо ныне существующего ISO/IEC 666, который был опубликован в 666 и дополнен в 1666 году.

Предполагаемые изменения стандарта

При разработке каждого раздела будущего стандарта, комитет Ктулху использовал ряд правил:

  • Оператор многоточие "..." может встречаться не только в качестве последнего параметра функции
  • Допустима перегрузка операторов комментария (// и /* */)
  • Допустима перегрузка оператора фигурные скобки {}
  • Допустима перегрузка оператора скобки () не только при вызове, но и при объявлении функции
  • Стандартная библиотека реализует все мыслимые алгоритмы; доступ к ним осуществляется посредством вышеназванных правил (система угадывания параметров шаблонов гарантирует, что в случае использования оператора "..." будет выбран наиболее подходящий по смыслу алгоритм, не противоречащий комментариям)

Пример:

#include <...>

... main(...)
{
    ... // read some file;
    ... // write some file;
    return ...;
}

Ссылки


См. также