1.1, h31 (ok), 23:12, 22/12/2011 [ответить] [﹢﹢﹢] [ · · · ]
| +2 +/– |
Внезапно так. Почему ни одного срача, ни одной новости о черновиках? Или все просто используют C89 и не жужжат?
| |
|
2.2, klalafuda (?), 23:18, 22/12/2011 [^] [^^] [^^^] [ответить]
| +4 +/– |
Вы таки предполагаете, что многие из читателей ОпенНета им действительно пользуются? До степени чтобы устраивать здесь срач на эту тему? :)
| |
|
3.5, Аноним (-), 23:19, 22/12/2011 [^] [^^] [^^^] [ответить]
| +8 +/– |
Си устаканился в 99, теперь ма-а-аленькие плюшки доделывают. Какой срач-то?!
| |
|
4.6, klalafuda (?), 23:22, 22/12/2011 [^] [^^] [^^^] [ответить]
| –8 +/– |
> Си устаканился в 99, теперь ма-а-аленькие плюшки доделывают. Какой срач-то?!
Я имею ввиду язык C как таковой :)
| |
|
5.7, Аноним (-), 23:28, 22/12/2011 [^] [^^] [^^^] [ответить]
| +6 +/– |
Эм... Вы ещё придумайте холивар про то, что компьютеры опасны - излучают смертельные дозы радиации!
| |
|
6.8, klalafuda (?), 23:36, 22/12/2011 [^] [^^] [^^^] [ответить]
| +13 +/– |
Ну вообще то так и есть - это чистая правда. Указанный научный факт вывели ещё бухгалтера в середине 90х, обсаживая свои CRT мониторы кактусами. Которые как известно оное вредное излучение поглащают и преобразуют в полезное.
| |
|
7.14, Аноним (-), 23:51, 22/12/2011 [^] [^^] [^^^] [ответить]
| +22 +/– |
> Которые как известно оное вредное излучение поглащают и преобразуют в полезное.
Особенно если их сожрать.
| |
|
|
5.12, Аноним (-), 23:41, 22/12/2011 [^] [^^] [^^^] [ответить]
| +3 +/– |
> Я имею ввиду язык C как таковой :)
А что - си? На си написаны все современные операционки. Не знать его - глупо и сильно ограничивает возможности. Тем более что на том же синтаксисе основана еще дюжина более-менее общеупотребительных языков.
| |
|
|
7.86, Мужик32 (ok), 12:55, 23/12/2011 [^] [^^] [^^^] [ответить]
| +/– |
Ну ты лолка. Про виндовс не знаю (код закрыт), а ядро макос 10 написано на СИ. Да и ядро виндовс скорее всего тоже.
| |
|
|
9.208, arisu (ok), 23:03, 23/12/2011 [^] [^^] [^^^] [ответить] | +1 +/– | ой, вот только не надо про языки хуже, чем xkb, придумать сложно, наверное ... текст свёрнут, показать | |
|
8.273, PnD (??), 21:44, 24/12/2011 [^] [^^] [^^^] [ответить] | +/– | Все что снизу там на C, включая по ходу железный уровень Во всяком случае, ещ... текст свёрнут, показать | |
|
7.134, Аноним (-), 15:37, 23/12/2011 [^] [^^] [^^^] [ответить]
| +/– |
> Не все, винда на крестах
Ну да, щаз. Ядро и многие либы вполне себе на си.
> макось на obj-c
См. выше про винду.
| |
|
|
7.76, dq0s4y71 (??), 12:24, 23/12/2011 [^] [^^] [^^^] [ответить]
| +/– |
Аноним видимо имел ввиду операционки промышленного уровня. А так можно вспомнить и какой-нибудь JNode, написанный на джаве, или Singularity, которая вообще на С#... Oo
| |
|
6.282, oops_ (?), 17:18, 26/12/2011 [^] [^^] [^^^] [ответить]
| +/– |
>> Я имею ввиду язык C как таковой :)
> А что - си? На си написаны все современные операционки. Не знать
> его - глупо и сильно ограничивает возможности. Тем более что на
> том же синтаксисе основана еще дюжина более-менее общеупотребительных языков.
Да. да.. к сожалению миллионы леммингов похоронили уже не одну хорошую идею.
| |
|
|
|
|
2.4, Аноикс (?), 23:18, 22/12/2011 [^] [^^] [^^^] [ответить]
| +1 +/– |
> Почему ни одного срача, ни одной новости о черновиках? Или все просто используют C89 и не жужжат?
Ретроградим на Ц89, не жужжим.
| |
2.10, Аноним (-), 23:38, 22/12/2011 [^] [^^] [^^^] [ответить]
| –1 +/– |
> Или все просто используют C89 и не жужжат?
Я использую C99, он не так уж отличается от C1x :)
| |
|
3.20, loper (?), 01:04, 23/12/2011 [^] [^^] [^^^] [ответить]
| +6 +/– |
Я использую ASNI Си.
Меня наверно уже поджидают динозавры, но я не знаю зачем нужен С99 не говоря о С11.
Милости прошу, уткните меня носом в спеки которые убедят меня выучить новые версии в которых описаны преимущества вышестоящих.
з.ы. в гугле не забанен, просто хочу советов экспертов.
| |
|
4.26, Аноним (-), 02:05, 23/12/2011 [^] [^^] [^^^] [ответить]
| +1 +/– |
> Я использую ASNI Си.
Хоть K&R, кому-то жалко чтоли?
> Милости прошу, уткните меня носом в спеки которые убедят меня выучить
> новые версии в которых описаны преимущества вышестоящих.
Однострочный комент как в C++ (удобнее для вырубания единичных строк). Inline функции тоже не вредно иногда.
| |
4.61, ASM (??), 11:01, 23/12/2011 [^] [^^] [^^^] [ответить]
| +/– |
В ASNI нет многих прелестей, самые частовстречаемые:
* snprintf нет в ANSI C.
* единый вид коментов /* */, т.е. КО утверждает что "//" коментить нельзя
А так там много ещё минусов
| |
|
|
6.139, Аноним (-), 15:41, 23/12/2011 [^] [^^] [^^^] [ответить]
| +/– |
> ANSI приучает к порядку.
Ага, только ставить комент в начале и конце строки в 2 раза менее удобно чем только в начале. А как только вы поюзали такой комент - это уже не менее чем C99, в котором такое было регламентировано. Более старые компилеры просто не обязаны жрать это.
| |
|
7.286, PereresusNeVlezaetBuggy (ok), 03:00, 27/12/2011 [^] [^^] [^^^] [ответить]
| +/– |
>> ANSI приучает к порядку.
> Ага, только ставить комент в начале и конце строки в 2 раза
> менее удобно чем только в начале.
Дело даже не в этом: всё равно у программиста комментирование-раскомментирование на шоткатах. А вот то, что если вы хотите закомментировать какой-то участок, который уже содержит комментарий, то в случае с /*...*/ всё либо сломается, либо будет уродливо выглядеть. Здравствуй, #if 0, ага.
| |
|
|
|
4.92, xxx (??), 13:12, 23/12/2011 [^] [^^] [^^^] [ответить] | +4 +/– | Ну я например во всю использую - анонимные массивы - инициализацию полей структ... большой текст свёрнут, показать | |
|
5.140, Аноним (-), 15:44, 23/12/2011 [^] [^^] [^^^] [ответить]
| +3 +/– |
> В целом, т.к. Си до сих пор широко используется, то развитие радует.
А куда он денется? Прошла куча времени, а для системного программирования по прежнему не придумали более хорошего языка. K&R зачетно отожгли в свое время.
| |
|
6.166, xxx (??), 16:48, 23/12/2011 [^] [^^] [^^^] [ответить]
| +/– |
> А куда он денется? Прошла куча времени, а для системного программирования по
> прежнему не придумали более хорошего языка. K&R зачетно отожгли в
> свое время.
Так вот возможно стоило бы запилить, простой, лаконичный, без недостатков Си, без необходимости тянуть груз совместимости, но простым подключением сишных либ. А то сплошь одни Ява клоны выпускают.
| |
|
|
8.170, xxx (??), 18:07, 23/12/2011 [^] [^^] [^^^] [ответить] | +/– | Нет, я вообще имел ввиду простое, допускающее автоматизацию, создание биндингов... текст свёрнут, показать | |
|
7.176, Anonymouse (?), 19:06, 23/12/2011 [^] [^^] [^^^] [ответить]
| +/– |
>Так вот возможно стоило бы запилить, простой, лаконичный, без недостатков Си, без необходимости тянуть груз совместимости, но простым подключением сишных либ.
Какой ты гениальный парень! Осталась сущая фигня - взять и сделать! К завтра успеешь?
:)
| |
7.211, adolfus (ok), 23:19, 23/12/2011 [^] [^^] [^^^] [ответить]
| +/– |
>> А куда он денется? Прошла куча времени, а для системного программирования по
>> прежнему не придумали более хорошего языка. K&R зачетно отожгли в
>> свое время.
> Так вот возможно стоило бы запилить, простой, лаконичный, без недостатков Си, без
> необходимости тянуть груз совместимости, но простым подключением сишных либ. А то
> сплошь одни Ява клоны выпускают.
Запилили уже. D называется. Вот только опять забыли арифметическое ветвление сделать. Типа
compare(a, b: less(), equal(), greater());
Ну еще переходы по значению переменной типа "метка", дополнительные точки входа, механизм сопрограмм и дальние переходы.
| |
|
|
9.257, arisu (ok), 13:46, 24/12/2011 [^] [^^] [^^^] [ответить] | +/– | как минимум синтаксис ограничен с двоеточием удобней а вот, кстати, взять исхо... текст свёрнут, показать | |
|
|
7.267, Tumba (?), 15:10, 24/12/2011 [^] [^^] [^^^] [ответить]
| +/– |
Не говорите глупостей. А куда вы денете аппратные плюшки? LowEndian, BigEndian - адресное пространство 32/64бит?
java потому и "такая java" что там под каждую архитектуру лепят JVM внутри у которых позволено не запариваться.
| |
|
|
|
4.174, BratSinot (?), 18:55, 23/12/2011 [^] [^^] [^^^] [ответить]
| +/– |
*) Однострочные коменты
*) Переменные можно объявлять в любом месте, а не только в начале.
*) Комплексный тип данных и функций
*) long double функции
*) long long int
*) inline функции
*) Объявление переменных вида: for(unsigned int ecx=0;;)
*) В некоторых моментах более строгие правила
и т.д.
| |
|
5.175, BratSinot (?), 19:02, 23/12/2011 [^] [^^] [^^^] [ответить]
| +/– |
Еще забыл что можно делать так:
unsigned int a;
scanf("%u", &a);
unsigned char tmp[a];
| |
|
6.207, Ytch (?), 23:02, 23/12/2011 [^] [^^] [^^^] [ответить]
| +1 +/– |
> Еще забыл что можно делать так:
> unsigned int a;
> scanf("%u", &a);
> unsigned char tmp[a];
Жесть жестяная. У вас бесконечные патрон^W стек? Если такое есть в ваших проектах, скажите их названия, чтоб держаться от них подальше.
| |
|
7.249, ACCA (ok), 09:41, 24/12/2011 [^] [^^] [^^^] [ответить]
| +1 +/– |
>> Еще забыл что можно делать так:
>> unsigned int a;
>> scanf("%u", &a);
>> unsigned char tmp[a];
> Жесть жестяная. У вас бесконечные патрон^W стек? Если такое есть в ваших
> проектах, скажите их названия, чтоб держаться от них подальше.
Угу. Нужно было собрать статистику выделения памяти за десять минут, аппроксимировать полиномом, экстраполировать на предполагаемое время жизни процесса, зарезервировать 10% под root процессы, а потом разрешить захватить немного стека.
Что только не придумают, чтобы man limits.conf не читать...
Я хочу A байтов памяти. Грёбаный hello_world должен или отдать их мне или сдохнуть по нарушению защиты памяти, а не рассказывать, что он думает про то, сколько стека положено захватывать в фашистской деревне.
| |
|
6.243, Аноним (-), 06:41, 24/12/2011 [^] [^^] [^^^] [ответить]
| +/– |
> scanf("%u", &a);
> unsigned char tmp[a];
Нормальный такой г@внокод, эталонный: выделение памяти под массив, объем которого контролируется внешними сущностями чуть более чем полностью. И никакой вам валидации ввода. Т.е. жри сколко хошь. В теории. На практике при вводе больших чисел будут лулзы :)
| |
|
7.258, arisu (ok), 13:48, 24/12/2011 [^] [^^] [^^^] [ответить]
| +1 +/– |
> На практике при вводе больших чисел будут лулзы :)
на практике при больших числах шарик, как и полагается, лопнет. с чего ты решил, что автора не устраивает такой вариант?
| |
|
|
5.209, Ytch (?), 23:04, 23/12/2011 [^] [^^] [^^^] [ответить]
| +/– |
> *) Переменные можно объявлять в любом месте, а не только в начале.
> ...
> *) Объявление переменных вида: for(unsigned int ecx=0;;)
Это одно и то же.
| |
|
6.210, arisu (ok), 23:10, 23/12/2011 [^] [^^] [^^^] [ответить]
| +1 +/– |
>> *) Переменные можно объявлять в любом месте, а не только в начале.
>> …
>> *) Объявление переменных вида: for(unsigned int ecx=0;;)
> Это одно и то же.
нет. одно дело, когда декларации могут быть перемешаны с кодом, и совсем другое — декларации в инициализационных выражениях (с соответствующим scope).
| |
|
7.215, Ytch (?), 23:58, 23/12/2011 [^] [^^] [^^^] [ответить]
| +/– |
>>> *) Переменные можно объявлять в любом месте, а не только в начале.
>>> …
>>> *) Объявление переменных вида: for(unsigned int ecx=0;;)
>> Это одно и то же.
> нет. одно дело, когда декларации могут быть перемешаны с кодом, и совсем другое — декларации в инициализационных выражениях (с соответствующим scope).
Оба приведенных вами случая подходят под "Переменные можно объявлять в любом месте". Что конкретно имел ввиду автор я не в курсе, но выразился он именно так.
| |
|
|
|
|
|
|
1.3, Аноним (-), 23:18, 22/12/2011 [ответить] [﹢﹢﹢] [ · · · ]
| +1 +/– |
Изучаю не так давно Си, пришлось под специфичное железо писать исключительно АНСИ-89... Как же мне это открыло глаза на мир! Теперь не берусь что-то делать на плюсах, пока не упрусь с пределы Си99. Юнион в структурах - это гуд, как-то не догадывался юзать))
| |
|
2.11, Аноним (-), 23:40, 22/12/2011 [^] [^^] [^^^] [ответить]
| +4 +/– |
> Как же мне это открыло глаза на мир! Теперь не берусь
> что-то делать на плюсах, пока не упрусь с пределы Си99.
C++ имеет смысл только в заведомо больших и масштабных проектах, имхо. Где преимущества ООП имеют хоть какие-то шансы проявить себя.
| |
|
3.21, Аноним (-), 01:09, 23/12/2011 [^] [^^] [^^^] [ответить]
| –7 +/– |
>C++ имеет смысл только в заведомо больших и масштабных проектах, имхо. Где преимущества ООП имеют хоть какие-то шансы проявить себя.
У вас видимо опыта недостаточно потому что обстоят дела с точностью до наоборот. С++ имеет смысл использовать в небольших программах. В больших и сложных системах (тем более в развивающихся) С++ вам создаст проблем.
| |
|
4.23, Аноним (-), 01:21, 23/12/2011 [^] [^^] [^^^] [ответить]
| +7 +/– |
Какие диаметрально противоположные мнения))
Я совсем не вижу смысла использовать Си++ в проектах, где достаточно Си-шных либ (читай - везде, кроме проприетарщины).
Писать на плюсах, как мне кажется, можно только в хорошо сработанной команде, используя ограниченное количество технологий ООП...
Где я не прав?
| |
|
5.30, Аноним (-), 02:22, 23/12/2011 [^] [^^] [^^^] [ответить]
| +/– |
> Я совсем не вижу смысла использовать Си++ в проектах, где
> достаточно Си-шных либ
Относительно крупные проекты чувствительные к производительности на плюсах в ряде случаев лучше писать. Скажем игры всякие - там объекты могут заметно упростить дело. Их обычно на плюсах пишут, хотя маньяки типа Кармака и на си могут :)
| |
5.43, Аноним (-), 09:08, 23/12/2011 [^] [^^] [^^^] [ответить] | +2 +/– | Я же вам пишу что у вас недостаточно опыта недостаточность не в длину - а в ... большой текст свёрнут, показать | |
|
6.45, dRiZd (?), 09:26, 23/12/2011 [^] [^^] [^^^] [ответить]
| +/– |
Полностью Вас поддерживаю, у меня тоже были не единичные случаи такого рода.
Asm,C + какой-нибудь скриптовый язык - наше все! :)
| |
6.52, Анон (?), 10:18, 23/12/2011 [^] [^^] [^^^] [ответить]
| +3 +/– |
Если в итоге у Вас получилась архитектура, которую сложно преобразовать под новые требования, проблема либо в требованиях (кардинально отличаются от всего, что было до этого), либо в архитектуре, которая изначально оказалась не гибкой.
При чем тут ООП?
| |
|
7.65, PGI520BK (?), 11:40, 23/12/2011 [^] [^^] [^^^] [ответить]
| +/– |
Почитай классиков.
"При пользовании ООП __ВСЕ__ классы, их свойства и методы должны быть тщательно проработаны __ДО НАЧАЛА__ кодирования". Уж не помню кто, но кто-то из основоположников UML.
| |
|
|
9.128, Аноним (-), 15:21, 23/12/2011 [^] [^^] [^^^] [ответить] | +1 +/– | Для фанатов Гради Буча расскажу историю на тему нестандартного применения ООП Н... большой текст свёрнут, показать | |
|
|
|
|
11.96, Ваня (?), 13:23, 23/12/2011 [^] [^^] [^^^] [ответить] | +/– | В ООП архитектура определяется на уровне классов и интерфейсов В функциональном... текст свёрнут, показать | |
|
|
13.114, Ваня (?), 14:35, 23/12/2011 [^] [^^] [^^^] [ответить] | +/– | Попробуйте писать её первой строкой резюме и в письмах своему руководителю заказ... текст свёрнут, показать | |
|
|
|
16.274, Аноним (-), 22:20, 24/12/2011 [^] [^^] [^^^] [ответить] | +/– | Вы правы Лапшу на С поддерживать очень мерзко Еще очень невозможно простоить с... большой текст свёрнут, показать | |
|
|
|
|
12.212, Ytch (?), 23:23, 23/12/2011 [^] [^^] [^^^] [ответить] | +/– | Дело не совсем в том Просто последовательность операторов функций, обрабатывающ... большой текст свёрнут, показать | |
|
13.219, Ваня (?), 00:21, 24/12/2011 [^] [^^] [^^^] [ответить] | +/– | Я не знаю что пишете вы, но рассмотрим напр математическую формулу class Опера... большой текст свёрнут, показать | |
|
14.287, Линус (?), 18:44, 01/01/2012 [^] [^^] [^^^] [ответить] | +1 +/– | Ваши суждения - глупы Все делается через указатели на функции - а-ля виртуальны... текст свёрнут, показать | |
|
|
|
|
|
|
8.116, Аноним (-), 14:39, 23/12/2011 [^] [^^] [^^^] [ответить] | +/– | Сами читайте про эти костылеобразные технологии до тех пор пока не поймете что о... большой текст свёрнут, показать | |
8.186, arisu (ok), 19:46, 23/12/2011 [^] [^^] [^^^] [ответить] | +/– | Алана Кея, например чтобы заплакать от тоски и перестать уже считать плюсанутые... текст свёрнут, показать | |
|
7.132, Аноним (-), 15:29, 23/12/2011 [^] [^^] [^^^] [ответить]
| +/– |
>Если в итоге у Вас получилась архитектура, которую сложно преобразовать под новые требования, проблема либо в требованиях (кардинально отличаются от всего, что было до этого), либо в архитектуре, которая изначально оказалась не гибкой.
>При чем тут ООП?
Гибкость архитектуры и проблемы в требованиях - это все чушь академическая. Особенно в контексте того что эти аргументы часто при разработке минимум второстепенные. Проблема именно в ООП, так как не дает решать задачи. Вам не удастся меня убедить ничем, потому что в Си таких проблем там не найдете.
| |
|
|
9.263, arisu (ok), 14:01, 24/12/2011 [^] [^^] [^^^] [ответить] | +1 +/– | proof or GTFO и да, на 171 сплошь и рядом 187 тоже пруф нет, структуры и ф... текст свёрнут, показать | |
9.272, Аноним (-), 20:47, 24/12/2011 [^] [^^] [^^^] [ответить] | +1 +/– | Помню себя как программиста когда еще был хеллоуворлдщиком но не осознавал этого... текст свёрнут, показать | |
|
|
|
6.57, Аноним (-), 10:46, 23/12/2011 [^] [^^] [^^^] [ответить]
| +1 +/– |
У вас много общих слов без конкретных примеров. Как у классика - "вы ставите проблемы космического масштаба..." ну и далее по тексту.
> У ООП есть непреодолимые проблемы
Это какие конкретно?
(остальной бессвязный поток сознания комментировать трудно)
| |
|
7.111, Аноним (-), 14:18, 23/12/2011 [^] [^^] [^^^] [ответить]
| +/– |
>У вас много общих слов без конкретных примеров. Как у классика - "вы ставите проблемы >космического масштаба..." ну и далее по тексту.
>> У ООП есть непреодолимые проблемы
>Это какие конкретно?
>(остальной бессвязный поток сознания комментировать трудно)
А вы не рефлексируйте на сообщение - а прочтите вдумчиво и найдете конкретный (но обобщенный) пример. Если не хотите разбираться/думать сами - я вам на блюдечке хрен приподнесу. Информации в сообщении достаточно (при наличии достаточного реального опыта программирования).
| |
|
|
9.213, Аноним (-), 23:32, 23/12/2011 [^] [^^] [^^^] [ответить] | +/– | Вы - либо невнимательный читатель, либо плохо понимаете содержание, либо плохо в... большой текст свёрнут, показать | |
|
|
|
|
|
Часть нити удалена модератором |
14.227, arisu (ok), 00:41, 24/12/2011 [^] [^^] [^^^] [ответить] | –2 +/– | конечно, бессмысленен ты так и будешь повторять то, что я сказал, пытаясь при э... текст свёрнут, показать | |
|
|
|
|
10.216, Аноним (-), 00:00, 24/12/2011 [^] [^^] [^^^] [ответить] | +1 +/– | Слушайте, вы издеваетесь Прошу заметить, что на 5 43 я как раз и отвечал, там н... большой текст свёрнут, показать | |
|
11.237, Аноним (-), 03:48, 24/12/2011 [^] [^^] [^^^] [ответить] | +/– | давай так сначала въезжаешь в содержание сообщении а потом уже поговорим Да пл... большой текст свёрнут, показать | |
|
|
|
|
|
6.74, name (??), 12:12, 23/12/2011 [^] [^^] [^^^] [ответить]
| +/– |
а не могли бы вы подсказать какую-то литературу, где можно почитать о проектированию больших и сложных систем на С? а то С++/ООП/UML более-менее знаю, а вот на С - не шарю
| |
|
7.112, Аноним (-), 14:21, 23/12/2011 [^] [^^] [^^^] [ответить]
| +/– |
>а не могли бы вы подсказать какую-то литературу, где можно почитать о проектированию больших и сложных систем на С? а то С++/ООП/UML более-менее знаю, а вот на С - не шарю
Поверьте, вам это (пока) не нужно.
| |
7.130, Аноним (-), 15:25, 23/12/2011 [^] [^^] [^^^] [ответить]
| +1 +/– |
к примеру Reza Azimi "Organizing Large C programs" (презентация, но основные моменты расписаны)
| |
7.142, Аноним (-), 15:47, 23/12/2011 [^] [^^] [^^^] [ответить]
| +2 +/– |
> проектированию больших и сложных систем на С? а то С++/ООП/UML более-менее
> знаю, а вот на С - не шарю
Если вы думаете что знаете си++ и при этом не знаете си - вы себя где-то очень жестоко нае...ли, сами того не осознавая.
| |
|
8.173, xxx (??), 18:24, 23/12/2011 [^] [^^] [^^^] [ответить] | +/– | Если вы думаете что знаете Java и при этом не знаете асма - вы Если вы думает... текст свёрнут, показать | |
|
|
6.220, adolfus (ok), 00:21, 24/12/2011 [^] [^^] [^^^] [ответить] | +3 +/– | gt оверквотинг удален С -- язык, имеющий к ООП крайне отдаленное отношение ... большой текст свёрнут, показать | |
6.268, Сергей (??), 17:13, 24/12/2011 [^] [^^] [^^^] [ответить]
| +/– |
> и решил закончить писать на С++.
Ну и дурак. Для начала научись использовать данный тебе инструмент. Неумелое использование инструмента не по месту не означает, что инструмент плох.
| |
|
7.276, Аноним (-), 08:48, 25/12/2011 [^] [^^] [^^^] [ответить] | +/– | Есть тип людей которые позволяют себе судить о чем-либо не разобравшись в вопрос... большой текст свёрнут, показать | |
|
|
7.285, Аноним (-), 22:52, 26/12/2011 [^] [^^] [^^^] [ответить] | +/– | Согласен Однако здесь работает тот же принцип Большаие возможностри требуют б... большой текст свёрнут, показать | |
|
|
|
4.27, Аноним (-), 02:08, 23/12/2011 [^] [^^] [^^^] [ответить]
| +1 +/– |
> сложных системах (тем более в развивающихся) С++ вам создаст проблем.
Да ну бросьте, игрушечники пишут огроменные и архисложные пепелацы с приличной производительностью на плюсах. На сях такое писать можно и подзадолбаться, хотя маньяки типа кармака на си осиливают запросто.
А в мелких программах этим наворотам с классами, шаблонами и прочим просто негде развернуться и они больше мешают чем помогают.
| |
|
5.137, Аноним (-), 15:39, 23/12/2011 [^] [^^] [^^^] [ответить]
| +/– |
> маньяки типа кармака на си осиливают запросто.
Последнее, что написал Кармак на Си - это был Quake 3. Уже DOOM III был на C++.
| |
|
6.138, Аноним (-), 15:40, 23/12/2011 [^] [^^] [^^^] [ответить]
| +/– |
добавлю: можете также почитать его мысли по этому поводу в его .plan-файлах. Собсно, ничего хорошего о выборе Си в качестве основного языка для Q3 он там не говорит.
| |
6.144, Аноним (-), 15:50, 23/12/2011 [^] [^^] [^^^] [ответить]
| +/– |
> Последнее, что написал Кармак на Си - это был Quake 3. Уже
> DOOM III был на C++.
А тем не менее xonotic и по сей день очень недурен. Тут вам и вагон современных эффектов, и текстуры с нормальным разрешением, и просто доставляющий геймплей. И орава маппаров которые делают годные карты, аццки допиливают скрипты на QuakeC и прочая. В общем дело Кармака живет и как видим на этом вполне можно сделать весьма годную игру, если захотеть :)
| |
|
|
|
3.29, Аноним (-), 02:14, 23/12/2011 [^] [^^] [^^^] [ответить]
| +6 +/– |
> C++ имеет смысл только в заведомо больших и масштабных проектах, имхо. Где преимущества ООП имеют хоть какие-то шансы проявить себя.
Использовать преимущества ООП можно (и нужно) не смотря на язык разработки (ли ж бы был аналог struct).
Правильно организованный код на С, написанный опытным программистом, получается проще и легче в сопровождении,
чем код на C++/Java/C#, написанный пионером, начитавшимся Гради Буча и на каждом углу кричащим "ООП!".
| |
|
4.40, Вова (?), 08:51, 23/12/2011 [^] [^^] [^^^] [ответить] | +5 +/– | согласен почти полностью, хотя и настораживает непринужденное использование обор... большой текст свёрнут, показать | |
|
5.67, PGI520BK (?), 11:46, 23/12/2011 [^] [^^] [^^^] [ответить]
| +1 +/– |
>> Настоящий профессионал умеет писать нечитабельный код на любом языке.
В мемориез :)
| |
|
6.91, pavlinux (ok), 13:08, 23/12/2011 [^] [^^] [^^^] [ответить]
| +2 +/– |
>>> Настоящий профессионал умеет писать нечитабельный код на любом языке.
> В мемориез :)
На башорг срочно! :)
| |
|
5.124, Crazy Alex (??), 15:00, 23/12/2011 [^] [^^] [^^^] [ответить]
| +/– |
Как-то скромно пропустили, что C++ != ООП.
И уж тем более - не обязательно использовать "классический" ООП с навороченными иерархиями наследования, фабриками, виртуальными методами и т.п.
Частенько плюсы просто добавляют удобств - STL тот же, RAII использовать - милое дело. Да и самодельные просты шаблоны хороши вместо макросов, а семиэтажные писать никто не заставляет.
В общем как обычно - если голова на плечах есть, то больше возможностей в языке - только на пользу. А если две извилины - то таких либо гнать, либо забивать в рамки "шаг влево, шаг вправо - попытка бегства" - и пусть рутину молотят...
| |
|
4.231, Анонимус213412 (?), 02:05, 24/12/2011 [^] [^^] [^^^] [ответить]
| +/– |
Правильно организованный код на C++/Java/C#, написанный опытным программистом, получается проще и легче в сопровождении,
чем код на C, написанный пионером, не начитавшимся Гради Буча и на каждом углу кричащим "Долой ООП!".
Т.е. для вас откровение, что специалист пишет код лучше, чем начинающий?
| |
|
|
2.17, pavlinux (ok), 00:12, 23/12/2011 [^] [^^] [^^^] [ответить]
| +/– |
> пришлось под специфичное железо писать исключительно АНСИ-89...
Как связано железо и версия стандарта языка?
Особо интересно, что можно в ANSI-89, чего низя в ISO/IEC 9899:1999 ?
| |
|
3.24, etw (ok), 01:32, 23/12/2011 [^] [^^] [^^^] [ответить]
| +3 +/– |
Очевидно же, что компилятором под данное железо, который поддерживает только ANSI-89.
| |
|
4.25, Аноним (-), 01:49, 23/12/2011 [^] [^^] [^^^] [ответить]
| +/– |
Сов. верно, спасибо за пояснение. Уточню, что дело было с проприетарной ОСРВ под жутко хитрое железо, которое в музей пора сдать...
| |
4.28, Аноним (-), 02:09, 23/12/2011 [^] [^^] [^^^] [ответить]
| –2 +/– |
> Очевидно же, что компилятором под данное железо, который поддерживает только ANSI-89.
НекромантЪ в студии!
| |
|
|
6.146, Аноним (-), 16:05, 23/12/2011 [^] [^^] [^^^] [ответить] | –1 +/– | Реальность - такая какую вы себе ее создадите Можно конечно и в окаменелом г-вн... большой текст свёрнут, показать | |
|
7.280, Aesthetus Animus (ok), 12:02, 26/12/2011 [^] [^^] [^^^] [ответить]
| +1 +/– |
User294, залогиньтесь!
> Я просто пользуюсь камнями поддерживаемыми gcc
Я не видел, чтобы gcc генерил хороший код для использовавшихся мною архитектур. Конечно, для тех, для которых gcc существовал :-D
> Копание в г-не и раритетах имхо привилегия копрофилов и некрофилов, соответственно :)
В процессорах тоже бывают баги, вычищаемые со временем. Как Вы думаете, что используют в критических по безопасности системах?
| |
|
|
|
|
|
|
1.9, Аноним (-), 23:36, 22/12/2011 [ответить] [﹢﹢﹢] [ · · · ]
| +10 +/– |
> Финальный текст стандарта не доступен для свободной загрузки (только платная загрузка)
Стандарт, который показывают только за деньги — это никакой не стандарт, это экспонат музея.
| |
|
2.13, anonymus (?), 23:47, 22/12/2011 [^] [^^] [^^^] [ответить]
| +2 +/– |
Практические все стандарты ISO не доступны для публичного просмотра, и ничего все кому они действительно нужны их имеют.
| |
2.22, loper (?), 01:13, 23/12/2011 [^] [^^] [^^^] [ответить]
| +/– |
Если вы не знали, ISO продают стандарты. Для свободного доступа доступны только черновики.
Это не RFC =(
| |
|
3.49, Аноним (-), 10:12, 23/12/2011 [^] [^^] [^^^] [ответить]
| –3 +/– |
Внезапно! Все в этом мире стоит денег. Особенно чужое время и чужие ресурсы, используемые в производствах чего угодно.
| |
|
4.147, Аноним (-), 16:07, 23/12/2011 [^] [^^] [^^^] [ответить]
| +3 +/– |
> Внезапно! Все в этом мире стоит денег. Особенно чужое время и чужие
> ресурсы, используемые в производствах чего угодно.
Деньги за стандарты - маразм. По идее это должно оплачиваться государствами из бюджетов. Как раз потому что настолько повсеместно используется.
| |
|
5.187, Anonymouse (?), 19:47, 23/12/2011 [^] [^^] [^^^] [ответить]
| +/– |
> Деньги за стандарты - маразм. По идее это должно оплачиваться государствами из
> бюджетов. Как раз потому что настолько повсеместно используется.
Ну предложи Росии оплатить все стандарты ISO :) "для открытия доступа". Должны же :)
Я согласен если их откроют за налоги уплаченные тобой :)
Персонально тебе промышленный стандарт будет нужет только если ты собираешься что то производить и продавать с наклейкой Compliance with ISO-XXX - а значит бабло для этого должно быть в бизнес плане.
PS: Насколько я помню, ГОСТЫ в России - тоже только за деньги? Или уже переиграли обратно?
| |
|
6.198, Аноним (-), 21:05, 23/12/2011 [^] [^^] [^^^] [ответить]
| +4 +/– |
> Я согласен если их откроют за налоги уплаченные тобой :)
Я тоже согласен. Это лучше чем какие-то фильтры петрика и роснанораспилы.
| |
|
|
|
5.222, Ваня (?), 00:31, 24/12/2011 [^] [^^] [^^^] [ответить]
| –7 +/– |
Легко. За банку (пару-тройку халявных банок пива + сухарики) в день можно закоришиться с любым студентом. С работающими немного дороже.
Также друга можно продать. А подругу.... :)
| |
|
6.224, arisu (ok), 00:35, 24/12/2011 [^] [^^] [^^^] [ответить]
| +8 +/– |
(задумчиво) а ведь ты на самом деле очень одинокий и несчастный человек, ванюша.
| |
|
7.247, Аноним (-), 06:52, 24/12/2011 [^] [^^] [^^^] [ответить]
| +1 +/– |
> (задумчиво) а ведь ты на самом деле очень одинокий и несчастный человек, ванюша.
Он просто еще не понял кое-чего. Правда, некоторым это понимание очень дорого обходится.
| |
|
6.229, Ytch (?), 01:09, 24/12/2011 [^] [^^] [^^^] [ответить]
| +4 +/– |
> Легко. За банку (пару-тройку халявных банок пива + сухарики) в день можно
> закоришиться с любым студентом. С работающими немного дороже.
В наших краях это называется собутыльник, а уж никак не друг. Если вы не видите разницы - искренне сочувствую.
| |
6.246, Аноним (-), 06:48, 24/12/2011 [^] [^^] [^^^] [ответить]
| +1 +/– |
> Также друга можно продать. А подругу.... :)
Это не дружба, это взаимообман.
| |
|
7.260, arisu (ok), 13:51, 24/12/2011 [^] [^^] [^^^] [ответить]
| +/– |
>> Также друга можно продать. А подругу…. :)
> Это не дружба, это взаимообман.
не всегда. если все о подобных возможных действиях осведомлены — то нормальные торговые отношения. зачем сразу «обман»…
| |
|
8.265, Аноним (-), 14:23, 24/12/2011 [^] [^^] [^^^] [ответить] | –3 +/– | c иронией Внезапно - основой всех отношений в этом мире являются товарно-денеж... текст свёрнут, показать | |
|
9.266, arisu (ok), 14:29, 24/12/2011 [^] [^^] [^^^] [ответить] | +1 +/– | многих но не всех опачки внезапно, основой всех отношений в этом мире являетс... текст свёрнут, показать | |
|
|
|
|
|
|
|
2.41, sluge (ok), 08:56, 23/12/2011 [^] [^^] [^^^] [ответить]
| +/– |
что вы трясетесь? уже через неделю все эти платные стандарты лежат в сети
| |
2.81, dq0s4y71 (??), 12:41, 23/12/2011 [^] [^^] [^^^] [ответить]
| +2 +/– |
Те, кто не могут заработать написанием компиляторов, зарабатывают написанием стандартов к ним :)
| |
|
3.148, Аноним (-), 16:08, 23/12/2011 [^] [^^] [^^^] [ответить]
| +/– |
> Те, кто не могут заработать написанием компиляторов, зарабатывают написанием стандартов к ним :)
А зарабатыванием написания стандартов на написание стандартов можно? :)
| |
|
4.188, Anonymouse (?), 19:52, 23/12/2011 [^] [^^] [^^^] [ответить]
| +/– |
> А зарабатыванием написания стандартов на написание стандартов можно? :)
Ищщо как!(С) Забыли уже как принимался OpenDocument?
| |
|
|
|
|
2.135, xxx (??), 15:37, 23/12/2011 [^] [^^] [^^^] [ответить]
| +1 +/– |
> https://www.varnish-cache.org/docs/trunk/phk/thetoolsweworkwith.html
>Now, don't get me wrong: There are lot of ways to improve the C language that would make sense: Bitmaps, defined structure packing (think: communication protocol packets), big/little endian variables (data sharing), sensible handling of linked lists etc.
Вот тут согласен с PHK на все 100. Битовые поля и структуры задолбали уже.
| |
|
1.33, Аноним (-), 06:13, 23/12/2011 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
> интерфейс для проверки допустимых границ и диапазонов значений
Кто-нить может подскать что это? Это значит что теперь есть штатный способ вычислить длинну массива?
| |
|
2.36, коксюзер (?), 06:57, 23/12/2011 [^] [^^] [^^^] [ответить] | +/– | Нет Смотрите Annex K в черновом варианте стандарта, на него есть ссылка в новос... большой текст свёрнут, показать | |
2.63, Ваня (?), 11:11, 23/12/2011 [^] [^^] [^^^] [ответить]
| +/– |
В коде указано "unsigned int var". Внимание, вопрос: какое максимальное значение можно записать в var? Вопрос нетривиальный, т.к. при компиляции под 16-бит это будет 2 байта и соотв. 65536, под 32-бита - 4 байта и 4 млрд., и т.д.
Пример:
unsigned int sum(unsigned int a,unsigned int b)
{
unsigned int c=a+b;
return c;
}
Что если a+b превысят пределы "unsigned int"? Сейчас это делают через задницу.
Для статического массива: sizeof(массив)/sizeof(массив[0]). Для динамических никак.
| |
|
3.69, Аноним (-), 11:53, 23/12/2011 [^] [^^] [^^^] [ответить]
| +/– |
>[оверквотинг удален]
> записать в var? Вопрос нетривиальный, т.к. при компиляции под 16-бит это
> будет 2 байта и соотв. 65536, под 32-бита - 4 байта
> и 4 млрд., и т.д.
> Пример:
> unsigned int sum(unsigned int a,unsigned int b)
> {
> unsigned int c=a+b;
> return c;
> }
> Что если a+b превысят пределы "unsigned int"? Сейчас это делают через задницу.
#include <sys/types.h>
u_int64_t sum(u_int32_t a, u_int32_t b){
u_int64_t c = a + b;
return c;
}
ЧЯДНТ?
| |
|
4.73, klalafuda (?), 12:03, 23/12/2011 [^] [^^] [^^^] [ответить]
| +2 +/– |
> #include <sys/types.h>
> u_int64_t sum(u_int32_t a, u_int32_t b){
> u_int64_t c = a + b;
> return c;
> }
> ЧЯДНТ?
А теперь все то же самое, но для a и b int64_t
| |
|
5.100, pavlinux (ok), 13:35, 23/12/2011 [^] [^^] [^^^] [ответить]
| +1 +/– |
>> #include <sys/types.h>
>> u_int64_t sum(u_int32_t a, u_int32_t b){
>> u_int64_t c = a + b;
>> return c;
>> }
>> ЧЯДНТ?
> А теперь все то же самое, но для a и b int64_t
__int128 sum(int64_t a, int64_t b) {
return (a + b);
}
| |
|
6.101, Ваня (?), 13:39, 23/12/2011 [^] [^^] [^^^] [ответить]
| +/– |
Хмм... У цикл суммирований, 200 элементов массива типа word. Следуя вашей логике финальный результат будет 200*2 = 400-битный. Круто берёте, есть более элегантные решения.
| |
|
7.131, pavlinux (ok), 15:29, 23/12/2011 [^] [^^] [^^^] [ответить]
| +2 +/– |
> Хмм... У цикл суммирований, 200 элементов массива типа word. Следуя вашей логике
> финальный результат будет 200*2 = 400-битный. Круто берёте, есть более элегантные
> решения.
Это по Вашей логике типы суммируются :D
| |
7.230, Ytch (?), 01:41, 24/12/2011 [^] [^^] [^^^] [ответить]
| +/– |
> Хмм... У цикл суммирований, 200 элементов массива типа word. Следуя вашей логике
> финальный результат будет 200*2 = 400-битный. Круто берёте, есть более элегантные
> решения.
Странно. У меня результат суммирования двухсот элементов массива типа word при худшем раскладе укладывается в 24 разряда. И даже 256-ти элементов тоже уложится. Безо всяких "элегантных" решений.
| |
|
|
|
4.82, Ваня (?), 12:41, 23/12/2011 [^] [^^] [^^^] [ответить]
| +/– |
Вы всё сделали правильно, указав тип данных строго определённого размера. К сожалению, не все поступают так как вы.
Но для напр. double проблема остаётся. Также она остаётся для сложных типов данных (классов напр.) по единообразию с элементарными типами. Предположим у нас есть класс, хранящий значение даты, или структура, хранящая позицию на экране (на экране, а не за его пределами), и т.д.
Я уже С/С++ не занимаюсь, так что не могу сказать как далеко они зашли и как именно это реализовали.
| |
|
5.88, Ваня (?), 13:00, 23/12/2011 [^] [^^] [^^^] [ответить]
| +/– |
Оппонируя сам себе: с другой стороны лишив проблему переполнения вы лишили свой код переносимости. А ведь именно это сильная сторона ЯВУ.
| |
|
|
3.79, dq0s4y71 (??), 12:39, 23/12/2011 [^] [^^] [^^^] [ответить]
| +3 +/– |
> Внимание, вопрос: какое максимальное значение можно записать в var?
Откройте для себя limits.h и UINT_MAX, а также http://c-faq.com/misc/intovf.html
> Что если a+b превысят пределы "unsigned int"?
А что будет, если вы попытаетесь записать на диск больше данных, чем он может вместить? Вы таким вопросом не задавались? Ответ: ничего хорошего не будет, а нюансы зависят от конкретной архитектуры.
| |
|
4.87, Ваня (?), 12:55, 23/12/2011 [^] [^^] [^^^] [ответить] | –2 +/– | Уже давно об этом знаю, нам это давали ещё на 1-ом курсе, но это не решение проб... большой текст свёрнут, показать | |
|
5.151, Аноним (-), 16:19, 23/12/2011 [^] [^^] [^^^] [ответить]
| +1 +/– |
> Никто! А потом удивляются глючности ПО и переносят эту глючность на ОС.
А для виндузятников нормально так писать. У них бескультурье - по дефолту просто. Вот например написанный вами код уже заведомо не кроссплатформенный. Ну и какая культура программирования при этом может быть? Ежу понятно какая - такие господа и порядком байтов не парятся, как и размерами переменных. Наивно думая что в мире есть только винда и i386. А потом мс вдруг бабах и заявляет - чуваки, а вот х64 и ARM. Хавайте! А чуваки то и обнаруживают что их г-нокод надо переписывать нафиг.
| |
|
6.167, Ваня (?), 17:05, 23/12/2011 [^] [^^] [^^^] [ответить]
| –2 +/– |
Может приведёте пример кросс-платформеного кода с аналогичным функционалом с непосредтвенным вызовом API ОС?
Переписывать для ARM под Win как раз ничего не надо. В этом "фишка".
| |
|
7.185, Аноним (-), 19:40, 23/12/2011 [^] [^^] [^^^] [ответить]
| +/– |
> Может приведёте пример кросс-платформеного кода с аналогичным функционалом с непосредтвенным
> вызовом API ОС?
WinAPI — это не непосредственный API ОС. Между ним и ОС есть посредник — NativeAPI. Рискнёте привести пример кроссплатформенного кода с аналогичным функционалом с непосредственным использованием нестандартизованного и недокументированного NativeAPI?
| |
7.199, Аноним (-), 21:12, 23/12/2011 [^] [^^] [^^^] [ответить]
| +1 +/– |
> вызовом API ОС?
Если юзать какую-то либу прослойки типа Qt/GTK+/SDL/WxWidgets (в зависимости от хотелок) это даже реально. Примерно так кроссплатофрменные программы и пишут ;)
> Переписывать для ARM под Win как раз ничего не надо. В этом "фишка".
Ну да, щаз. Особенно хорошо было заметно как abbyy "портировало" свой г-нокод на "якобы 64 бита". У них там настолько эпический шит что им вообще не светит его спортировать нормально. И так у каждого первого виндузятника, который не может себе вообразить что у указателя размер не обязательно 4, например.
| |
|
|
|
4.89, Ваня (?), 13:02, 23/12/2011 [^] [^^] [^^^] [ответить]
| +/– |
> А что будет, если вы попытаетесь записать на диск больше данных, чем
> он может вместить? Вы таким вопросом не задавались? Ответ: ничего хорошего
> не будет, а нюансы зависят от конкретной архитектуры.
Программа проверит наличие свободного места на диске и выдаст ошибку. Если это не сделает программа, это сделает Windows, а програма получит ошибку в коде возврата. Только вот многие программы (см.меня же выше) игнорят коды возвратов, считая что они исполняются на машинах Тьюринга и отказов с ними не случается. Сравни: "я никогда не делаю резервных копий т.к. у меня ничего не теряется".
| |
|
5.93, dq0s4y71 (??), 13:18, 23/12/2011 [^] [^^] [^^^] [ответить]
| +2 +/– |
> Повторю: double вы так не проверите, т.к. он с плавающей точкой и точность зависит от размера числа.
Сначала вам был нужен unsigned int, теперь уже double. Вы уж разберитесь сами для начала, что вам нужно, а потом спрашивайте. Кстати, для double есть float.h и DBL_MAX.
> Задача программы проверить и предупредить.
Это задача программиста, а не программы. А задача программы - делать то, что ждёт от неё пользователь. Вам показали, как программист может в данном случае проверить и предупредить. Если он этого не делает, то это не проблема языка программирования.
> Кто сказал что dc и brush определены после вызова функций?
Ещё раз: криворукие программисты - не проблема языка программирования. Сдуру можно и Питон сломать ;)
| |
|
6.98, Ваня (?), 13:32, 23/12/2011 [^] [^^] [^^^] [ответить]
| +/– |
uint использовался как пример для проблемы проверки допустимых границ и диапазонов значений.
double - тип с плавающей точкой и после сложения двух double возможна ситуация резкой потери точности. К тому же double может хранить числа вида 5е20. DBL_MAX - максимальное целое число, для хранения целых чисел использование double не рекомендуется.
Именно это и отличает школьника от школоты. Школота знает, школьник знает и понимает.
>> Задача программы проверить и предупредить.
> Это задача программиста, а не программы.
Гы. Так и представляю как после неудавшегося выделения памяти из шкафа выпрыгивает голый небритый программист и "предупреждает".
| |
|
7.105, dq0s4y71 (??), 13:59, 23/12/2011 [^] [^^] [^^^] [ответить]
| +1 +/– |
> К тому же double может хранить числа вида 5е20.
Равно как и вида 500000000000000000000.0 ;)
> DBL_MAX - максимальное целое число,
Учите матчасть:
#define DBL_MAX 1.7976931348623157e+308
> Именно это и отличает школьника от школоты. Школота знает, школьник знает и понимает.
Судя по вашим познаниям, вы уже не школьник, а студент приблизительно 2-го курса. Желаю вам успешно доучиться и стать хорошим программистом. Всего наилучшего :)
| |
|
8.107, Ваня (?), 14:03, 23/12/2011 [^] [^^] [^^^] [ответить] | –1 +/– | Сам бы подучился, 16 знаков после запятой на 10 в 308 степени по твоему ст... текст свёрнут, показать | |
8.109, Ваня (?), 14:07, 23/12/2011 [^] [^^] [^^^] [ответить] | +/– | И число 500000000000000000000 вы в double не запихнёте, оно будет преобразовано ... текст свёрнут, показать | |
|
|
|
|
|
3.150, Аноним (-), 16:14, 23/12/2011 [^] [^^] [^^^] [ответить]
| +/– |
> В коде указано "unsigned int var". Внимание, вопрос: какое максимальное значение можно
> записать в var?
Ответ: так пишут только му...ки и долб...бы. Нормальные люди пишут примерно так: uint32_t something. И при этом заведомо знают сколько вешать в граммах.
| |
|
4.157, Ваня (?), 16:29, 23/12/2011 [^] [^^] [^^^] [ответить]
| +/– |
Мир перешёл на 64-битное ПО одной макродирективой и перекомпиляцией кода, а у вы нет.
| |
|
5.201, Аноним (-), 21:24, 23/12/2011 [^] [^^] [^^^] [ответить] | +/– | Особенно заметно как переходило abbyy Они на хабре писали Там такой типичный д... большой текст свёрнут, показать | |
|
|
|
|
|
2.152, Аноним (-), 16:21, 23/12/2011 [^] [^^] [^^^] [ответить]
| +/– |
> прикололо
> ??=define arraycheck(a, b) a??(b??) ??!??! b??(a??)
#define TRUE FALSE // have a nice debugging session, bitches!
| |
|
1.47, Аноним (-), 10:05, 23/12/2011 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Вижу, что большая часть вышеописанных изменений относится не к языку, а к стандартным библиотекам.
| |
|
2.75, Аноним (-), 12:15, 23/12/2011 [^] [^^] [^^^] [ответить]
| +4 +/– |
> Где замыкания
В функциональный языках, где им и место.
> и функции как объекты первого класса?!
typedef int (*void_function_t)();
| |
|
3.177, naryl (ok), 19:12, 23/12/2011 [^] [^^] [^^^] [ответить]
| +/– |
С чего это замыканиям место в функциональных языках? Функции как объекты первого класса точно так же относятся к функциональным языкам, как и замыкания, но они, тем не менее, в C есть.
Ваш аргумент разбит, давайте новый.
| |
|
4.178, arisu (ok), 19:17, 23/12/2011 [^] [^^] [^^^] [ответить]
| +/– |
> но они, тем не менее, в C есть.
нет. есть очень кривой полурабочий эмулятор с костылеуказателями. но ты, похоже, настолько «не в теме», что даже не знаешь, что такое first class citizen.
| |
|
5.196, Anonymouse (?), 20:19, 23/12/2011 [^] [^^] [^^^] [ответить]
| –1 +/– |
> «не в теме», что даже не знаешь, что такое first class citizen.
Это американец в гондурасе, да?
| |
|
|
|
|
1.171, xxx (??), 18:15, 23/12/2011 [ответить] [﹢﹢﹢] [ · · · ]
| +3 +/– |
Дааа, поглядел описание стандарта... Отзывы. Печаль, особенно много вопросов вызывает внедрение нитей, причем с API несовместимым posix.
В списках рассылки FreeBSD уже эпичный срач начался: http://lists.freebsd.org/pipermail/freebsd-arch/2011-December/011993.html
"I have never fully understood what goal these sequential obesity-binges
from ISO-C serve.
Structure packing ?
Nahh, nobody uses that.
Big/Little Endian API ?
Naah, nobody moves binary data between computers.
Ohhh, but I know: Lets make a rival to the POSIX threads, we can do it
much better and slightly incompatible, big market there I'm sure.
What ?
A "assert mutex is held" facility ?
Why would you want that ? Just write perfect code to begin with!
Bang! Bang! Bang! &c &c..."
И ведь действительно, кто писал реализацию протоколов, знает сколько гемора с упаковкой структур, битовыми полями и т. д. Лучше бы они наконец эти дела поправили.
Для себя из всего стандарта пока только анонимные структуры и объединения отметил.
| |
|
2.172, arisu (ok), 18:19, 23/12/2011 [^] [^^] [^^^] [ответить]
| +2 +/– |
> Для себя из всего стандарта пока только анонимные структуры и объединения отметил.
что, в принципе, gcc и так умеет столетвобед.
| |
|
|
2.182, arisu (ok), 19:25, 23/12/2011 [^] [^^] [^^^] [ответить]
| +1 +/– |
> Кто-нибудь может объяснить?
> Зачем удалили функцию gets()?
я могу. потому что это верный источник buffer overflow.
| |
|
|