The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]



"Опубликован новый международный стандарт для языка Си (C1X/C11)"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Опубликован новый международный стандарт для языка Си (C1X/C11)"  +/
Сообщение от opennews (ok), 22-Дек-11, 23:12 
Международная Организация по Стандартам (ISO) опубликовала (http://www.open-std.org/jtc1/sc22/wg14/) обновлённый вариант стандарта для языка Си - ISO / IEC 9899:2011 (http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_... развиваемый под кодовым именем C1X (http://en.wikipedia.org/wiki/C1X) и пришедший на смену стандарту C99. Так как стандарт развивается уже достаточно давно, пройдя стадии выпуска нескольких черновых редакций, современные компиляторы, такие как GCC 4.6 и LLVM 3.0, уже поддерживают большинство описанных в спецификации возможностей.


В новой спецификации увеличена совместимость с языком С++ и представлены некоторые новые возможности, такие как поддержка многопоточности, Unicode, удаление функции gets, интерфейс для проверки допустимых границ и диапазонов значений, анонимные структуры и объединения (например, можно вложить блок union в struct), дополнительная функция для мгновенного выхода из программы quick_exit, статические утвержден...

URL: http://www.open-std.org/jtc1/sc22/wg14/
Новость: https://www.opennet.ru/opennews/art.shtml?num=32644

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения [Сортировка по времени | RSS]


1. "Опубликован новый международный стандарт для языка Си (C1X/C..."  +2 +/
Сообщение от h31 (ok), 22-Дек-11, 23:12 
Внезапно так. Почему ни одного срача, ни одной новости о черновиках? Или все просто используют C89 и не жужжат?
Ответить | Правка | Наверх | Cообщить модератору

2. "Опубликован новый международный стандарт для языка Си (C1X/C..."  +4 +/
Сообщение от klalafuda (?), 22-Дек-11, 23:18 
Вы таки предполагаете, что многие из читателей ОпенНета им действительно пользуются? До степени чтобы устраивать здесь срач на эту тему? :)
Ответить | Правка | Наверх | Cообщить модератору

5. "Опубликован новый международный стандарт для языка Си (C1X/C..."  +8 +/
Сообщение от Аноним (-), 22-Дек-11, 23:19 
Си устаканился в 99, теперь ма-а-аленькие плюшки доделывают. Какой срач-то?!
Ответить | Правка | Наверх | Cообщить модератору

6. "Опубликован новый международный стандарт для языка Си (C1X/C..."  –8 +/
Сообщение от klalafuda (?), 22-Дек-11, 23:22 
> Си устаканился в 99, теперь ма-а-аленькие плюшки доделывают. Какой срач-то?!

Я имею ввиду язык C как таковой :)

Ответить | Правка | Наверх | Cообщить модератору

7. "Опубликован новый международный стандарт для языка Си (C1X/C..."  +6 +/
Сообщение от Аноним (-), 22-Дек-11, 23:28 
Эм... Вы ещё придумайте холивар про то, что компьютеры опасны - излучают смертельные дозы радиации!
Ответить | Правка | Наверх | Cообщить модератору

8. "Опубликован новый международный стандарт для языка Си (C1X/C..."  +13 +/
Сообщение от klalafuda (?), 22-Дек-11, 23:36 
Ну вообще то так и есть - это чистая правда. Указанный научный факт вывели ещё бухгалтера в середине 90х, обсаживая свои CRT мониторы кактусами. Которые как известно оное вредное излучение поглащают и преобразуют в полезное.
Ответить | Правка | Наверх | Cообщить модератору

14. "Опубликован новый международный стандарт для языка Си (C1X/C..."  +22 +/
Сообщение от Аноним (-), 22-Дек-11, 23:51 
> Которые как известно оное вредное излучение поглащают и преобразуют в полезное.

Особенно если их сожрать.

Ответить | Правка | Наверх | Cообщить модератору

19. "Опубликован новый международный стандарт для языка Си (C1X/C..."  +7 +/
Сообщение от Joseph B. (?), 23-Дек-11, 01:04 
Так вот откуда слова "жрать кактус" !!! :-)
Ответить | Правка | Наверх | Cообщить модератору

48. "Опубликован новый международный стандарт для языка Си (C1X/C..."  –1 +/
Сообщение от zurmanssor (?), 23-Дек-11, 10:10 
Давно-давно Фоменко на Русском радио произносил разные весёлости, и среди них была такая:
Мыши плакали кололись, но продолжали жрать кактус.
Думается, что выражение повелось отсель.
Ответить | Правка | Наверх | Cообщить модератору

55. "Опубликован новый международный стандарт для языка Си (C1X/C..."  +/
Сообщение от Аноним (-), 23-Дек-11, 10:41 
Автор - не Фоменко, впервые это появилось как минимум в Красной Бурде в начале 90-х.
Ответить | Правка | Наверх | Cообщить модератору

163. "Опубликован новый международный стандарт для языка Си (C1X/C..."  +2 +/
Сообщение от WinPooh (?), 23-Дек-11, 16:38 
А вовсе не от Кастанеды :)
Ответить | Правка | К родителю #19 | Наверх | Cообщить модератору

12. "Опубликован новый международный стандарт для языка Си (C1X/C..."  +3 +/
Сообщение от Аноним (-), 22-Дек-11, 23:41 
> Я имею ввиду язык C как таковой :)

А что - си? На си написаны все современные операционки. Не знать его - глупо и сильно ограничивает возможности. Тем более что на том же синтаксисе основана еще дюжина более-менее общеупотребительных языков.

Ответить | Правка | К родителю #6 | Наверх | Cообщить модератору

31. "Опубликован новый международный стандарт для языка Си (C1X/C..."  –7 +/
Сообщение от some test (?), 23-Дек-11, 02:37 
Не все, винда на крестах, макось на obj-c
Ответить | Правка | Наверх | Cообщить модератору

32. "Опубликован новый международный стандарт для языка Си (C1X/C..."  +3 +/
Сообщение от Anonymouss (?), 23-Дек-11, 04:36 
И в винде и в макоси большая часть кода на простом си.
Ответить | Правка | Наверх | Cообщить модератору

86. "Опубликован новый международный стандарт для языка Си (C1X/C..."  +/
Сообщение от Мужик32email (ok), 23-Дек-11, 12:55 
Ну ты лолка. Про виндовс не знаю (код закрыт), а ядро макос 10 написано на СИ. Да и ядро виндовс скорее всего тоже.
Ответить | Правка | К родителю #31 | Наверх | Cообщить модератору

206. "Опубликован новый международный стандарт для языка Си (C1X/C..."  +/
Сообщение от adolfusemail (ok), 23-Дек-11, 22:57 
Когда вовсю юзалась 3-я винда (3.11) и на подходе была 95-я, никаких плюсов у майкрософт практически не было. Тот C7.0, в котором появились элементы C++, ни на что не был способен. Это было поделие, в котором темплейты и обработка исключений были реализованы в виде макросов обычного С. Работало оно медленно и производило на выходе туеву хучу бинарного говна -- хеловорлд занимал почти 150 килобайт.  А именно в 3-й винде было заложено все, что сейчас в win32. Там все на сях, включая окна, коммуникации, управление памятью и прочее. Мало того, есть подозрение, что исходников многих вещей вообще нет -- иначе никак не объяснить десятилетиями непофиксенные вещи, типа кривой языковой поддержки (я бы сказал -- ее вообще в виндах нет) и наличие горы 16 битного кода. Говно, одним словом.
Ответить | Правка | Наверх | Cообщить модератору

208. "Опубликован новый международный стандарт для языка Си..."  +1 +/
Сообщение от arisu (ok), 23-Дек-11, 23:03 
ой, вот только не надо про языки. хуже, чем xkb, придумать сложно, наверное.
Ответить | Правка | Наверх | Cообщить модератору

241. "Опубликован новый международный стандарт для языка Си..."  +1 +/
Сообщение от Аноним (-), 24-Дек-11, 06:29 
> ой, вот только не надо про языки. хуже, чем xkb, придумать сложно, наверное.

В винде очень даже можно! Как тебе представление русиша в 1251, 866 и Unicode в зависимости от того где и как это происходит? В _одной_ системе можеи быть аж _три_ напрочь разных представления имен файлов, например. For the lulz, как ты мог догадаться, маппинг одних в других довольно приблизителен. И удачи тебе отмапить весь unicode в 1251, допустим. Сколько там глюков можно словить - нетрудно догадаться. В общем свои кретинизмы есть у всех.

Ответить | Правка | Наверх | Cообщить модератору

261. "Опубликован новый международный стандарт для языка Си..."  +/
Сообщение от arisu (ok), 24-Дек-11, 13:55 
> И удачи тебе отмапить весь unicode в 1251, допустим

а зачем? мне религия не запрещает пользоваться уникодным API и библиотеками с поддержкой оного.

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

Ответить | Правка | Наверх | Cообщить модератору

273. "Опубликован новый международный стандарт для языка Си (C1X/C..."  +/
Сообщение от PnD (??), 24-Дек-11, 21:44 
  Все что снизу там на C, включая по ходу железный уровень. Во всяком случае, еще во времена 3.11 они выпустили DDK на c'ях, который я тогда будучи еще веселым зеленым пионером пробовал поковырять, сломал зубы на бредовых структурах и остался на вполне боеспособных masm|tasm. Да и вообще работать с периферией на чем-то выше макроассемблеров бред, т.к. влечет за собой тонны неэффективного кода (тот же masm как сейчас помню производил тогда бинарники с кратным 16k размером).
  Насчет закрытого кода - IDA в зубы, поделия на сях трудно с чем-то спутать - main(), однако.
Ответить | Правка | К родителю #86 | Наверх | Cообщить модератору

134. "Опубликован новый международный стандарт для языка Си (C1X/C..."  +/
Сообщение от Аноним (-), 23-Дек-11, 15:37 
> Не все, винда на крестах

Ну да, щаз. Ядро и многие либы вполне себе на си.

> макось на obj-c

См. выше про винду.

Ответить | Правка | К родителю #31 | Наверх | Cообщить модератору

35. "Опубликован новый международный стандарт для языка Си (C1X/C..."  +3 +/
Сообщение от kshetragia (ok), 23-Дек-11, 06:20 
хм.. Оберон?
Ответить | Правка | К родителю #12 | Наверх | Cообщить модератору

76. "Опубликован новый международный стандарт для языка Си (C1X/C..."  +/
Сообщение от dq0s4y71 (??), 23-Дек-11, 12:24 
Аноним видимо имел ввиду операционки промышленного уровня. А так можно вспомнить и какой-нибудь JNode, написанный на джаве, или Singularity, которая вообще на С#... Oo
Ответить | Правка | Наверх | Cообщить модератору

136. "Опубликован новый международный стандарт для языка Си (C1X/C..."  +2 +/
Сообщение от Аноним (-), 23-Дек-11, 15:38 
> хм.. Оберон?

Эй, благородный дон! Где же ты и твой Оберон?

Ответить | Правка | К родителю #35 | Наверх | Cообщить модератору

264. "Опубликован новый международный стандарт для языка Си (C1X/C..."  +1 +/
Сообщение от Аноним (-), 24-Дек-11, 14:15 
>> хм.. Оберон?
> Эй, благородный дон! Где же ты и твой Оберон?

Работают себе и не жужжат фигню на опенсурсных форумах.

Ответить | Правка | Наверх | Cообщить модератору

282. "Опубликован новый международный стандарт для языка Си (C1X/C..."  +/
Сообщение от oops_ (?), 26-Дек-11, 17:18 
>> Я имею ввиду язык C как таковой :)
> А что - си? На си написаны все современные операционки. Не знать
> его - глупо и сильно ограничивает возможности. Тем более что на
> том же синтаксисе основана еще дюжина более-менее общеупотребительных языков.

Да. да.. к сожалению миллионы леммингов похоронили уже не одну хорошую идею.

Ответить | Правка | К родителю #12 | Наверх | Cообщить модератору

4. "Опубликован новый международный стандарт для языка Си (C1X/C..."  +1 +/
Сообщение от Аноикс (?), 22-Дек-11, 23:18 
> Почему ни одного срача, ни одной новости о черновиках? Или все просто используют C89 и не жужжат?

Ретроградим на Ц89, не жужжим.

Ответить | Правка | К родителю #1 | Наверх | Cообщить модератору

10. "Опубликован новый международный стандарт для языка Си (C1X/C..."  –1 +/
Сообщение от Аноним (-), 22-Дек-11, 23:38 
> Или все просто используют C89 и не жужжат?

Я использую C99, он не так уж отличается от C1x :)

Ответить | Правка | К родителю #1 | Наверх | Cообщить модератору

20. "Опубликован новый международный стандарт для языка Си (C1X/C..."  +6 +/
Сообщение от loper (?), 23-Дек-11, 01:04 
Я использую ASNI Си.
Меня наверно уже поджидают динозавры, но я не знаю зачем нужен С99 не говоря о С11.
Милости прошу, уткните меня носом в спеки которые убедят меня выучить новые версии в которых описаны преимущества вышестоящих.

з.ы. в гугле не забанен, просто хочу советов экспертов.

Ответить | Правка | Наверх | Cообщить модератору

26. "Опубликован новый международный стандарт для языка Си (C1X/C..."  +1 +/
Сообщение от Аноним (-), 23-Дек-11, 02:05 
> Я использую ASNI Си.

Хоть K&R, кому-то жалко чтоли?

> Милости прошу, уткните меня носом в спеки которые убедят меня выучить
> новые версии в которых описаны преимущества вышестоящих.

Однострочный комент как в C++ (удобнее для вырубания единичных строк). Inline функции тоже не вредно иногда.

Ответить | Правка | Наверх | Cообщить модератору

61. "Опубликован новый международный стандарт для языка Си (C1X/C..."  +/
Сообщение от ASM (??), 23-Дек-11, 11:01 
В ASNI нет многих прелестей, самые частовстречаемые:
* snprintf нет в ANSI C.
* единый вид коментов /* */, т.е. КО утверждает что "//" коментить нельзя

А так там много ещё минусов

Ответить | Правка | К родителю #20 | Наверх | Cообщить модератору

117. "Опубликован новый международный стандарт для языка Си (C1X/C..."  –3 +/
Сообщение от Аноним (-), 23-Дек-11, 14:39 
Желаю вам ещё много минусов.
ANSI приучает к порядку.
Ответить | Правка | Наверх | Cообщить модератору

121. "Опубликован новый международный стандарт для языка Си (C1X/C..."  +3 +/
Сообщение от Ваня (?), 23-Дек-11, 14:46 
Равно как отказ от электрички приучает к бегу.
Ответить | Правка | Наверх | Cообщить модератору

139. "Опубликован новый международный стандарт для языка Си (C1X/C..."  +/
Сообщение от Аноним (-), 23-Дек-11, 15:41 
> ANSI приучает к порядку.

Ага, только ставить комент в начале и конце строки в 2 раза менее удобно чем только в начале. А как только вы поюзали такой комент - это уже не менее чем C99, в котором такое было регламентировано. Более старые компилеры просто не обязаны жрать это.

Ответить | Правка | К родителю #117 | Наверх | Cообщить модератору

286. "Опубликован новый международный стандарт для языка Си (C1X/C..."  +/
Сообщение от PereresusNeVlezaetBuggy (ok), 27-Дек-11, 03:00 
>> ANSI приучает к порядку.
> Ага, только ставить комент в начале и конце строки в 2 раза
> менее удобно чем только в начале.

Дело даже не в этом: всё равно у программиста комментирование-раскомментирование на шоткатах. А вот то, что если вы хотите закомментировать какой-то участок, который уже содержит комментарий, то в случае с /*...*/ всё либо сломается, либо будет уродливо выглядеть. Здравствуй, #if 0, ага.

Ответить | Правка | Наверх | Cообщить модератору

92. "Опубликован новый международный стандарт для языка Си (C1X/C..."  +4 +/
Сообщение от xxx (??), 23-Дек-11, 13:12 
> Милости прошу, уткните меня носом в спеки которые убедят меня выучить новые
> версии в которых описаны преимущества вышестоящих.
> з.ы. в гугле не забанен, просто хочу советов экспертов.

Ну я например во всю использую:
- анонимные массивы
- инициализацию полей структур через "."
- возможность объявления переменных в "любом" месте программы. "for(int i=..." например.
- типы *int_*_t (stdint.h), а то немного напрягает когда каждая библиотека таскает за собой свои дефайны
- "//" - однострочные комменты у меня не прижились, но иногда действительно удобно так закомментить на время одну строчку.

А вообще убеждать неблагодарное дело, почитай хотябы википедию и сразу станет ясно надо тебе это или нет.

В целом, т.к. Си до сих пор широко используется, то развитие радует.

Вообще меня удивляет опеннет, столько коммнетов и Ява пока не всплыла.

Ответить | Правка | К родителю #20 | Наверх | Cообщить модератору

140. "Опубликован новый международный стандарт для языка Си (C1X/C..."  +3 +/
Сообщение от Аноним (-), 23-Дек-11, 15:44 
> В целом, т.к. Си до сих пор широко используется, то развитие радует.

А куда он денется? Прошла куча времени, а для системного программирования по прежнему не придумали более хорошего языка.  K&R зачетно отожгли в свое время.

Ответить | Правка | Наверх | Cообщить модератору

166. "Опубликован новый международный стандарт для языка Си (C1X/C..."  +/
Сообщение от xxx (??), 23-Дек-11, 16:48 
> А куда он денется? Прошла куча времени, а для системного программирования по
> прежнему не придумали более хорошего языка.  K&R зачетно отожгли в
> свое время.

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


Ответить | Правка | Наверх | Cообщить модератору

168. "Опубликован новый международный стандарт для языка Си (C1X/C..."  +/
Сообщение от Аноним (-), 23-Дек-11, 17:36 
> простым подключением сишных либ

Вроде андроидового Bionic?

Ответить | Правка | Наверх | Cообщить модератору

169. "Опубликован новый международный стандарт для языка Си (C1X/C..."  +1 +/
Сообщение от Аноним (-), 23-Дек-11, 17:40 
Наоборот, бионик — это урезанный libc. Расширением чего-либо там и не пахнет.
Ответить | Правка | Наверх | Cообщить модератору

170. "Опубликован новый международный стандарт для языка Си (C1X/C..."  +/
Сообщение от xxx (??), 23-Дек-11, 18:07 
>> простым подключением сишных либ
> Вроде андроидового Bionic?

Нет, я вообще имел ввиду простое, допускающее автоматизацию, создание "биндингов" к сишным либам.

Ответить | Правка | К родителю #168 | Наверх | Cообщить модератору

176. "Опубликован новый международный стандарт для языка Си (C1X/C..."  +/
Сообщение от Anonymouse (?), 23-Дек-11, 19:06 
>Так вот возможно стоило бы запилить, простой, лаконичный, без недостатков Си, без необходимости тянуть груз совместимости, но простым подключением сишных либ.

Какой ты гениальный парень! Осталась сущая фигня - взять и сделать! К завтра успеешь?

:)

Ответить | Правка | К родителю #166 | Наверх | Cообщить модератору

211. "Опубликован новый международный стандарт для языка Си (C1X/C..."  +/
Сообщение от adolfusemail (ok), 23-Дек-11, 23:19 
>> А куда он денется? Прошла куча времени, а для системного программирования по
>> прежнему не придумали более хорошего языка.  K&R зачетно отожгли в
>> свое время.
> Так вот возможно стоило бы запилить, простой, лаконичный, без недостатков Си, без
> необходимости тянуть груз совместимости, но простым подключением сишных либ. А то
> сплошь одни Ява клоны выпускают.

Запилили уже. D называется. Вот только опять забыли арифметическое ветвление сделать. Типа

compare(a, b: less(), equal(), greater());

Ну еще переходы по значению переменной типа "метка", дополнительные точки входа, механизм сопрограмм и дальние переходы.

Ответить | Правка | К родителю #166 | Наверх | Cообщить модератору

242. "Опубликован новый международный стандарт для языка Си (C1X/C..."  +/
Сообщение от Аноним (-), 24-Дек-11, 06:32 
> Типа
> compare(a, b: less(), equal(), greater());

А не проканает #define'ом такое определить? Ну да, будет не из стандарта, но работать будет у всех.

Ответить | Правка | Наверх | Cообщить модератору

257. "Опубликован новый международный стандарт для языка Си..."  +/
Сообщение от arisu (ok), 24-Дек-11, 13:46 
> А не проканает #define'ом такое определить?

как минимум синтаксис ограничен: с двоеточием удобней.

а вот, кстати, взять исходники D да добавить — особых проблем не составит, это не мегагиперизменение.

Ответить | Правка | Наверх | Cообщить модератору

267. "Опубликован новый международный стандарт для языка Си (C1X/C..."  +/
Сообщение от Tumba (?), 24-Дек-11, 15:10 
Не говорите глупостей. А куда вы денете аппратные плюшки? LowEndian, BigEndian - адресное пространство 32/64бит?
java потому и "такая java" что там под каждую архитектуру лепят JVM внутри у которых позволено не запариваться.
Ответить | Правка | К родителю #166 | Наверх | Cообщить модератору

174. "Опубликован новый международный стандарт для языка Си (C1X/C..."  +/
Сообщение от BratSinot (?), 23-Дек-11, 18:55 
*) Однострочные коменты
*) Переменные можно объявлять в любом месте, а не только в начале.
*) Комплексный тип данных и функций
*) long double функции
*) long long int
*) inline функции
*) Объявление переменных вида: for(unsigned int ecx=0;;)
*) В некоторых моментах более строгие правила
и т.д.
Ответить | Правка | К родителю #20 | Наверх | Cообщить модератору

175. "Опубликован новый международный стандарт для языка Си (C1X/C..."  +/
Сообщение от BratSinot (?), 23-Дек-11, 19:02 
Еще забыл что можно делать так:
unsigned int a;
scanf("%u", &a);
unsigned char tmp[a];
Ответить | Правка | Наверх | Cообщить модератору

207. "Опубликован новый международный стандарт для языка Си (C1X/C..."  +1 +/
Сообщение от Ytch (?), 23-Дек-11, 23:02 
> Еще забыл что можно делать так:
> unsigned int a;
> scanf("%u", &a);
> unsigned char tmp[a];

Жесть жестяная. У вас бесконечные патрон^W стек? Если такое есть в ваших проектах, скажите их названия, чтоб держаться от них подальше.

Ответить | Правка | Наверх | Cообщить модератору

249. "Опубликован новый международный стандарт для языка Си (C1X/C..."  +1 +/
Сообщение от ACCA (ok), 24-Дек-11, 09:41 
>> Еще забыл что можно делать так:
>> unsigned int a;
>> scanf("%u", &a);
>> unsigned char tmp[a];
> Жесть жестяная. У вас бесконечные патрон^W стек? Если такое есть в ваших
> проектах, скажите их названия, чтоб держаться от них подальше.

Угу. Нужно было собрать статистику выделения памяти за десять минут, аппроксимировать полиномом, экстраполировать на предполагаемое время жизни процесса, зарезервировать 10% под root процессы, а потом разрешить захватить немного стека.

Что только не придумают, чтобы man limits.conf не читать...

Я хочу A байтов памяти. Грёбаный hello_world должен или отдать их мне или сдохнуть по нарушению защиты памяти, а не рассказывать, что он думает про то, сколько стека положено захватывать в фашистской деревне.

Ответить | Правка | Наверх | Cообщить модератору

243. "Опубликован новый международный стандарт для языка Си (C1X/C..."  +/
Сообщение от Аноним (-), 24-Дек-11, 06:41 
> scanf("%u", &a);
> unsigned char tmp[a];

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

Ответить | Правка | К родителю #175 | Наверх | Cообщить модератору

258. "Опубликован новый международный стандарт для языка Си..."  +1 +/
Сообщение от arisu (ok), 24-Дек-11, 13:48 
> На практике при вводе больших чисел будут лулзы :)

на практике при больших числах шарик, как и полагается, лопнет. с чего ты решил, что автора не устраивает такой вариант?

Ответить | Правка | Наверх | Cообщить модератору

209. "Опубликован новый международный стандарт для языка Си (C1X/C..."  +/
Сообщение от Ytch (?), 23-Дек-11, 23:04 
> *) Переменные можно объявлять в любом месте, а не только в начале.
> ...
> *) Объявление переменных вида: for(unsigned int ecx=0;;)

Это одно и то же.


Ответить | Правка | К родителю #174 | Наверх | Cообщить модератору

210. "Опубликован новый международный стандарт для языка Си..."  +1 +/
Сообщение от arisu (ok), 23-Дек-11, 23:10 
>> *) Переменные можно объявлять в любом месте, а не только в начале.
>> …
>> *) Объявление переменных вида: for(unsigned int ecx=0;;)
> Это одно и то же.

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

Ответить | Правка | Наверх | Cообщить модератору

215. "Опубликован новый международный стандарт для языка Си..."  +/
Сообщение от Ytch (?), 23-Дек-11, 23:58 
>>> *) Переменные можно объявлять в любом месте, а не только в начале.
>>> …
>>> *) Объявление переменных вида: for(unsigned int ecx=0;;)
>> Это одно и то же.
> нет. одно дело, когда декларации могут быть перемешаны с кодом, и совсем другое — декларации в инициализационных выражениях (с соответствующим scope).

Оба приведенных вами случая подходят под "Переменные можно объявлять в любом месте". Что конкретно имел ввиду автор я не в курсе, но выразился он именно так.

Ответить | Правка | Наверх | Cообщить модератору

34. "Опубликован новый международный стандарт для языка Си (C1X/C..."  +/
Сообщение от Аноним (-), 23-Дек-11, 06:13 
ANSI C.
Ответить | Правка | К родителю #1 | Наверх | Cообщить модератору

3. "Опубликован новый международный стандарт для языка Си (C1X/C..."  +1 +/
Сообщение от Аноним (-), 22-Дек-11, 23:18 
Изучаю не так давно Си, пришлось под специфичное железо писать исключительно АНСИ-89... Как же мне это открыло глаза на мир! Теперь не берусь что-то делать на плюсах, пока не упрусь с пределы Си99. Юнион в структурах - это гуд, как-то не догадывался юзать))
Ответить | Правка | Наверх | Cообщить модератору

11. "Опубликован новый международный стандарт для языка Си (C1X/C..."  +4 +/
Сообщение от Аноним (-), 22-Дек-11, 23:40 
> Как же мне это открыло глаза на мир! Теперь не берусь
> что-то делать на плюсах, пока не упрусь с пределы Си99.

C++ имеет смысл только в заведомо больших и масштабных проектах, имхо. Где преимущества ООП имеют хоть какие-то шансы проявить себя.

Ответить | Правка | Наверх | Cообщить модератору

21. "Опубликован новый международный стандарт для языка Си (C1X/C..."  –7 +/
Сообщение от Аноним (-), 23-Дек-11, 01:09 
>C++ имеет смысл только в заведомо больших и масштабных проектах, имхо. Где преимущества ООП имеют хоть какие-то шансы проявить себя.

У вас видимо опыта недостаточно потому что обстоят дела с точностью до наоборот. С++ имеет смысл использовать в небольших программах. В больших и сложных системах (тем более в развивающихся) С++ вам создаст проблем.

Ответить | Правка | Наверх | Cообщить модератору

23. "Опубликован новый международный стандарт для языка Си (C1X/C..."  +7 +/
Сообщение от Аноним (-), 23-Дек-11, 01:21 
  Какие диаметрально противоположные мнения))
  Я совсем не вижу смысла использовать Си++ в проектах, где достаточно Си-шных либ (читай - везде, кроме проприетарщины).
  Писать на плюсах, как мне кажется, можно только в хорошо сработанной команде, используя ограниченное количество технологий ООП...
Где я не прав?
Ответить | Правка | Наверх | Cообщить модератору

30. "Опубликован новый международный стандарт для языка Си (C1X/C..."  +/
Сообщение от Аноним (-), 23-Дек-11, 02:22 
>   Я совсем не вижу смысла использовать Си++ в проектах, где
> достаточно Си-шных либ

Относительно крупные проекты чувствительные к производительности на плюсах в ряде случаев лучше писать. Скажем игры всякие - там объекты могут заметно упростить дело. Их обычно на плюсах пишут, хотя маньяки типа Кармака и на си могут :)

Ответить | Правка | Наверх | Cообщить модератору

43. "Опубликован новый международный стандарт для языка Си (C1X/C..."  +2 +/
Сообщение от Аноним (-), 23-Дек-11, 09:08 
>Какие диаметрально противоположные мнения))
>  Я совсем не вижу смысла использовать Си++ в проектах, где достаточно Си-шных либ (читай - везде, кроме проприетарщины).
>  Писать на плюсах, как мне кажется, можно только в хорошо сработанной команде, используя ограниченное количество технологий ООП...
>Где я не прав?

Я же вам пишу что у вас недостаточно опыта (недостаточность не в "длину" - а в "ширину", то есть разнообразие). Если 100500 лет делать сходные действия (к примеру, писать однотипные системы с однотипной архитектурой) то опыт будет такой же однотипный. Именно поэтому вы и не видите проблем с ООП. У ООП есть непреодолимые проблемы из-за чего, я думаю, написать Linux Kernel попросту не получится (из-за чрезмерного количества разных связей подсистем ядра). Я раньше болел ООП и предпочитал писать на С++ чем на С в силу многих причин (в т.ч. новомодность ООП и все такое ...)  бросил использовать С++ и "традиционное" ООП после одного случая. Несколько лет назад был заказ на разработку системы состоящей из двух подсистем управления (все подробности не помню, но суть постараюсь передать). Разработал обе подсистемы на С++ в рамках "нормального" ООП без проблем. Внезапно появляется задача требующая сопряжение этих подсистем. Крутил я эти ровные архитектуры систем до тех пор пока не доказал себе что решить задачу можно лишь нарушив принципы объектного программирования (либо переделав архитектуру одной из подсистем). Я считаю что если необходимая задача не решается в рамках методов которые приняты - значит принятые методы плохие при условии корректного решения. Чуть позже я наткнулся на проект (название не сохранилось) программиста из японии (специально глянул страну автора) который писал проект на С++, но обильно использовал технику подобную тому которую использовал я в своих последних проектах на С++. Ну а дальше погуглил и почитал форумы и дискуссии умных и опытных людей и решил закончить писать на С++. Сейчас свободно пишу на Си придерживаясь объектной нотации. С гибкостью Си сопоставим только Perl (возможно есть еще языки вроде фортрана, PL/1, ...), ну а превосходит Си только Asm.

Ответить | Правка | К родителю #23 | Наверх | Cообщить модератору

45. "Опубликован новый международный стандарт для языка Си (C1X/C..."  +/
Сообщение от dRiZd (?), 23-Дек-11, 09:26 
Полностью Вас поддерживаю, у меня тоже были не единичные случаи такого рода.
Asm,C + какой-нибудь скриптовый язык - наше все! :)
Ответить | Правка | Наверх | Cообщить модератору

52. "Опубликован новый международный стандарт для языка Си (C1X/C..."  +3 +/
Сообщение от Анон (?), 23-Дек-11, 10:18 
Если в итоге у Вас получилась архитектура, которую сложно преобразовать под новые требования, проблема либо в требованиях (кардинально отличаются от всего, что было до этого), либо в архитектуре, которая изначально оказалась не гибкой.
При чем тут ООП?
Ответить | Правка | К родителю #43 | Наверх | Cообщить модератору

65. "Опубликован новый международный стандарт для языка Си (C1X/C..."  +/
Сообщение от PGI520BK (?), 23-Дек-11, 11:40 
Почитай классиков.

"При пользовании ООП __ВСЕ__ классы, их свойства и методы должны быть тщательно проработаны __ДО НАЧАЛА__ кодирования". Уж не помню кто, но кто-то из основоположников UML.

Ответить | Правка | Наверх | Cообщить модератору

71. "Опубликован новый международный стандарт для языка Си (C1X/C..."  +/
Сообщение от name (??), 23-Дек-11, 11:59 
это Гради Буч, наверное
Ответить | Правка | Наверх | Cообщить модератору

128. "Опубликован новый международный стандарт для языка Си (C1X/C..."  +1 +/
Сообщение от Аноним (-), 23-Дек-11, 15:21 
>это Гради Буч, наверное

Для фанатов Гради Буча расскажу историю на тему нестандартного применения ООП. Необходимо было организовать документооборот (квитанции и платежки) на предприятии. Задача можно сказать тривиальная, однако все документы хранились в "своих" (думается что наследие со времен Лексикона и WD) форматах. Однако среди множества возможных структур хранения наблюдались некоторые общие признаки. Потратив вечер на анализ форматов и выделив общности я решил решить вопрос загрузки данных из файла нестандартным путем но в рамках ООП (как понимаете на входе может быть файл с любым из форматов). Сделано было следующим образом: объект reader загружал данные и определял формат и отдавал данные на парсер соответствующего класса. Однако все "рабочие" парсеры были реализованы в виде конечных классов, наследующих свойства родителей, которые являлись на деле обработчиками найденных общих структур форматов. Организовалась своего рода "потоковая" обработка данных по иерархии классов (если рассматривать дерево наследования в абстракции обработки данных). Вся эта структура была воспринята очень негативно другими программистами, которые пытались аргументировать свой ответ теориями "как надо" взятых из книг. Такие дела...

Ответить | Правка | Наверх | Cообщить модератору

83. "Опубликован новый международный стандарт для языка Си (C1X/C..."  +1 +/
Сообщение от dq0s4y71 (??), 23-Дек-11, 12:43 
Это точно. Когда я пишу на Си, я думаю, как мне решить задачу. Когда я пишу на на С++, я думаю, как мне её запихать в классы.
Ответить | Правка | К родителю #65 | Наверх | Cообщить модератору

90. "Опубликован новый международный стандарт для языка Си (C1X/C..."  +/
Сообщение от Ваня (?), 23-Дек-11, 13:03 
Решить задачу - цель.
Запихать в классы - инструмент, средство.
Ответить | Правка | Наверх | Cообщить модератору

94. "Опубликован новый международный стандарт для языка Си (C1X/C..."  +1 +/
Сообщение от dq0s4y71 (??), 23-Дек-11, 13:19 
В том-то и дело. Некоторые адепты С++ и ООП путают цель и средство.
Ответить | Правка | Наверх | Cообщить модератору

96. "Опубликован новый международный стандарт для языка Си (C1X/C..."  +/
Сообщение от Ваня (?), 23-Дек-11, 13:23 
В ООП архитектура определяется на уровне классов и интерфейсов. В функциональном программировании - на уровне данных и функций (данные + функции их обработки ~= класс). Найди 10 отличий.

Не все понимают системный подход, не все понимают ООП, зато все имеют своё мнение.

Ответить | Правка | Наверх | Cообщить модератору

113. "Опубликован новый международный стандарт для языка Си (C1X/C..."  +1 +/
Сообщение от Аноним (-), 23-Дек-11, 14:29 
>В ООП архитектура определяется на уровне классов и интерфейсов. В функциональном программировании - на уровне данных и функций (данные + функции их обработки ~= класс). >Найди 10 отличий.

Ваня как всегда в своем духе хелоуворлдщика. То что вы написали - это уже реализация. Тьфу!

>Не все понимают системный подход, не все понимают ООП, зато все имеют своё мнение.

Это отлично когда у человека свое собственное мнение и уж еще лучше если оно выработано на опыте методом проб и ошибок. Мне лично (как и других матерым программистам) уже давно глубоко плевать что там пишут в книгах и советуют Вани на форумах. Я написал вам о своем опыте когда архитектура ООП споткнулась. Как я могу верить чьим-то пустым словам когда у меня на деле факты?

Ответить | Правка | Наверх | Cообщить модератору

114. "Опубликован новый международный стандарт для языка Си (C1X/C..."  +/
Сообщение от Ваня (?), 23-Дек-11, 14:35 
> Мне лично уже давно глубоко плевать что там пишут в книгах

Попробуйте писать её первой строкой резюме и в письмах своему руководителю/заказчику. Результаты вас удивят.

Ответить | Правка | Наверх | Cообщить модератору

118. "Опубликован новый международный стандарт для языка Си (C1X/C..."  +/
Сообщение от Аноним (-), 23-Дек-11, 14:42 
>> Мне лично уже давно глубоко плевать что там пишут в книгах
>Попробуйте писать её первой строкой резюме и в письмах своему руководителю/заказчику. Результаты вас удивят.

Вот я еще ерундой не занимался. Заказчику нужен работающий проект с ожидаемой надежностью работы системы - это и есть цель.

Ответить | Правка | К родителю #114 | Наверх | Cообщить модератору

252. "Опубликован новый международный стандарт для языка Си (C1X/C..."  +/
Сообщение от NightmareZemail (?), 24-Дек-11, 11:55 
Я сильно сомневаюсь, что заказчика в конечном счёте удовлетворит проект, который нереально поддерживать и развивать в виду того, что весь код в нём представляет собой лапшу на C. И вот ещё: что-то в последнее время склерозом страдаю, потому точно вспомнить не могу, но что-то такое недавно я слышал, типа этот ваш Торвальдс говорил что линуховское ядро на этом вашем C скатилось в верблюжий кал...
Ответить | Правка | К родителю #118 | Наверх | Cообщить модератору

262. "Опубликован новый международный стандарт для языка Си..."  +/
Сообщение от arisu (ok), 24-Дек-11, 14:00 
> в виду того, что весь код в нём представляет собой лапшу на C

так для этого есть отличное решение: не писать лапшу. впрочем, тут где-то уже говорили, что опытный программист может написать нечитаемый код на чём угодно.

Ответить | Правка | К родителю #252 | Наверх | Cообщить модератору

274. "Опубликован новый международный стандарт для языка Си (C1X/C..."  +/
Сообщение от Аноним (-), 24-Дек-11, 22:20 
>Я сильно сомневаюсь, что заказчика в конечном счёте удовлетворит проект, который нереально поддерживать и развивать в виду того, что весь код в нём представляет собой лапшу на C. И вот ещё: что-то в последнее время склерозом страдаю, потому точно вспомнить не могу, но что-то такое недавно я слышал, типа этот ваш Торвальдс говорил что линуховское ядро на этом вашем C скатилось в верблюжий кал...

Вы правы. Лапшу на С поддерживать очень мерзко. Еще очень невозможно простоить систему с определенной архитектурой и требованиями использую технику быдлокодерства, которая дает на выходе авральный лапшеобразный код (но такую систему можно довести до ума циклами "тестирование-отладка" что, в конечном счете, размажет любую архитектуру). И чтобы такое не случалось программисту следует быть не просто программистом. Если же вы ограничиваетесь "просто программированием" 0 то вы почти обречены строить лапшеобразный быдлокод (и, вероятно, ваш код лучше не открывать). К сожалению, я таких "простых программистов" повидал воочию. Они говорили примерно так: "Мне платят за то что я пишу код и большего мне не надо".

Ответить | Правка | К родителю #252 | Наверх | Cообщить модератору

212. "Опубликован новый международный стандарт для языка Си (C1X/C..."  +/
Сообщение от Ytch (?), 23-Дек-11, 23:23 
> В ООП архитектура определяется на уровне классов и интерфейсов. В функциональном программировании
> - на уровне данных и функций (данные + функции их обработки
> ~= класс). Найди 10 отличий.
> Не все понимают системный подход, не все понимают ООП, зато все имеют
> своё мнение.

Дело не совсем в том. Просто последовательность операторов/функций, обрабатывающих некие данные - так работает "железо". Объекты, взаимодействующие между собой - якобы так мыслят люди. Изначально, ООП это попытка сделать так чтобы описывать в стиле "как мыслят люди", а компилятор сам сделает из этого "как работает железо".
Чтобы хорошо писать без ООП надо в существенной мере "думать как машина". Заблуждение состоит в том, что, с ООП этого якобы не надо.
В реальности ООП (чуть дальше от hello,world и базовых книжных примеров) получается, что все-таки надо бы "думать как машина", но парадигма ООП заставляет мыслить по-другому. То что получается в итоге примерно одинаково не похоже ни на то как работает железо, ни на то как мыслят люди. Получается, что "обычным людям" недоступно (без усилий) ни то ни другое, а "адептам" разных парадигм сложнее понимать происходящее в другой "системе".

Ответить | Правка | К родителю #96 | Наверх | Cообщить модератору

219. "Опубликован новый международный стандарт для языка Си (C1X/C..."  +/
Сообщение от Ваня (?), 24-Дек-11, 00:21 
Я не знаю что пишете вы, но рассмотрим напр. математическую формулу.

class Операция
- наследний линейная: +-*
- наследник /
- наследник скобки
...

class Формула {Операция оп;}

Отрисовка в ООП:
формула.Нарисовать();

Отрисовка в функциональном программировании:
Нарисовать(&формула);

Видите разницу? Или ещё не дошло?

Реализация для функционального:

Нарисовать(формула)
{
если тип=линейная тогда
   НарисоватьЛинейную(ОперацияЛинейная(формула));
иначеесли тип=делить тогда
   НарисоватьДелить(ОперацияДеления(формула));
....
}

И для ООП:

Нарисовать()
{
  ptr=НайтиПоТипу();
  ptr->Нарисовать()
}

НайтиПоТипу()
{
если тип=линейная тогда
   возврат ОперацияЛинейная(this); // преобразование типа ссылки из родителя в детей
иначеесли тип=делить тогда
   возврат ОперацияДеление(this);
....
}

Остальные функции будут аналогичны функции Нарисовать(). Заметно что для ООП код на порядок красивее и логичнее, мы лишних ссылок не передаёт, мы преобразование к нужному типу делаем в коде один единственный раз в функции НайтиПоТипу, соотв. добавлять новые операции можно элементарно.

И чем больше и сложнее проект, тем явнее ООП будет дрючить функциональное. Есть исключения.

Странно что я вообще это объясняю, это проходят на 2-ом курсе профильного ВУЗа, всего курсов 6 :).

Ответить | Правка | Наверх | Cообщить модератору

287. "Опубликован новый международный стандарт для языка Си (C1X/C..."  +1 +/
Сообщение от Линус (?), 01-Янв-12, 18:44 
Ваши суждения - глупы.

Все делается через указатели на функции - а-ля виртуальные методы, а не так, как вы показали.

Ответить | Правка | К родителю #219 | Наверх | Cообщить модератору

221. "Опубликован новый международный стандарт для языка Си (C1X/C..."  +/
Сообщение от Ваня (?), 24-Дек-11, 00:24 
Налажал для функционального:

Нарисовать(формула)
{
  если формула.тип=линейная тогда
    НарисоватьЛинейную(формула);
  иначеесли формула.тип=делить тогда
    НарисоватьДелить(формула);
  ...
}

Также для функционального придётся в одну структуру Операция запихать данные все операций и соотв. неэффективно расходовать память. Для классов - есть общие (наследуются от класса Операция, напр. тип) и специфические для данного класса.

Ответить | Правка | Наверх | Cообщить модератору

223. "Опубликован новый международный стандарт для языка Си..."  +1 +/
Сообщение от arisu (ok), 24-Дек-11, 00:32 
> Налажал для функционального:

ах, если бы только… лучше бы ты вообще не брался приводить какие-то «доказательства»: ведь работодатель может нечаянно понять, на какое ты себя посмешище этим выставляешь и выкинет на мороз.

Ответить | Правка | К родителю #221 | Наверх | Cообщить модератору

232. "Опубликован новый международный стандарт для языка Си (C1X/C..."  +1 +/
Сообщение от Michael Shigorinemail (ok), 24-Дек-11, 02:30 
> функционального

?!

PS: не знаю, кто и зачем снёс #235 -- но в "функциональности" важнее , что гругря типично делается

f1(f2(f3(x,f4(y))))
и не
res4 = f4(y)
res3 = f3(x,res4)
res2 = f2(res3)
res1 = f1(res1)
...и ветвление тоже реализовано функциями, а не языковыми конструкциями -- см., например, http://www.ccs.neu.edu/home/dorai/t-y-scheme/t-y-scheme-Z-H-...

PPS re #236: размышлять над различиями (что не равно "забивать голову") человеку полезно, чтоб бараном часом не оказаться.  Особенно считающим себя самостоятельным и при этом ведомым на убой.

Ответить | Правка | К родителю #221 | Наверх | Cообщить модератору

233. "Опубликован новый международный стандарт для языка Си..."  +/
Сообщение от arisu (ok), 24-Дек-11, 02:55 
>> функционального
> ?!

оно считает, что если без объектов, используя только функции — это «функциональный».

Ответить | Правка | К родителю #232 | Наверх | Cообщить модератору

116. "Опубликован новый международный стандарт для языка Си (C1X/C..."  +/
Сообщение от Аноним (-), 23-Дек-11, 14:39 
>"При пользовании ООП __ВСЕ__ классы, их свойства и методы должны быть тщательно проработаны __ДО НАЧАЛА__ кодирования". Уж не помню кто, но кто-то из основоположников UML.

Сами читайте про эти костылеобразные технологии до тех пор пока не поймете что они костылеоборазные. Ну а понять эту костылеобразность очень просто если задуматься над дальнейшим развитием готового проекта, причем дальнейшая задача в рамках ООП (без отхода от концепции) не решаема. Концепция ООП (как вы сказали) требует новой переработки __ВСЕХ__ классов __ДО НАЧАЛА__ доработки уже готового проекта? Пишу на Си (и буду на нем писать) именно потому что концепция ООП становится "диктатором", тогда как Си и дальше остается "другом".

Я вам пример привел из личной жизни а не из книги.

P.S.: Пишите вы на чем хотите и как хотите (точнее на чем можете и как можете). А для меня ООП'шные штанишки уже малы - сильно жмут.

Ответить | Правка | К родителю #65 | Наверх | Cообщить модератору

290. "Опубликован новый международный стандарт для языка Си (C1X/C..."  +/
Сообщение от Аноним (-), 22-Мрт-12, 23:07 
Это всё замечательно, только вот работодателей Си интересует только для драйверов в ядре. В остальном почему-то требуют плюсы, с аргументацией "на нём создавать ПО проще, причём приемлемо производительное и эффективное".

P.S. Тошнит от ООП, прибитого гвоздями к плюсам и упоротых погромистов, пихающих это плюсовое ООП во всё подряд, даже не задумываясь, нужно ли оно там.

Ответить | Правка | Наверх | Cообщить модератору

186. "Опубликован новый международный стандарт для языка Си..."  +/
Сообщение от arisu (ok), 23-Дек-11, 19:46 
> Почитай классиков.

Алана Кея, например. чтобы заплакать от тоски и перестать уже считать плюсанутые костыли «объектно-ориентироваными».

Ответить | Правка | К родителю #65 | Наверх | Cообщить модератору

191. "Опубликован новый международный стандарт для языка Си..."  +/
Сообщение от Карбофос (ok), 23-Дек-11, 20:07 
если программер сам на костылях по самые помидоры, то плюсы будут костыльными, да
Ответить | Правка | Наверх | Cообщить модератору

194. "Опубликован новый международный стандарт для языка Си..."  +/
Сообщение от arisu (ok), 23-Дек-11, 20:14 
> если программер сам на костылях по самые помидоры, то плюсы будут костыльными,
> да

плюсы всегда будут костыльными, потому что никакого ООП там нет, только потуги оное изобразить. иди, покури Smalltalk. или Objective C хотя бы, если творение Кея религия курить не позволяет.

Ответить | Правка | Наверх | Cообщить модератору

256. "Опубликован новый международный стандарт для языка Си..."  +/
Сообщение от Карбофос (ok), 24-Дек-11, 13:44 
на ObjC я программирую в рамках своего хобби, плюсы - на работе.
а плохому танцору всегда что-нибудь да помешает, особенно - танцорам, которым религия уж больно много чего позволяет. :-D
Ответить | Правка | Наверх | Cообщить модератору

259. "Опубликован новый международный стандарт для языка Си..."  +/
Сообщение от arisu (ok), 24-Дек-11, 13:50 
то есть, ты таки знаешь, что такое ООП (ну, если Objective C используешь верно), и при этом продолжаешь утверждать, что в c++ — не костыли, неудачно маскирующиеся под реализацию ООП? O_O

никогда я вас, людей, не пойму.

Ответить | Правка | Наверх | Cообщить модератору

132. "Опубликован новый международный стандарт для языка Си (C1X/C..."  +/
Сообщение от Аноним (-), 23-Дек-11, 15:29 
>Если в итоге у Вас получилась архитектура, которую сложно преобразовать под новые требования, проблема либо в требованиях (кардинально отличаются от всего, что было до этого), либо в архитектуре, которая изначально оказалась не гибкой.
>При чем тут ООП?

Гибкость архитектуры и проблемы в требованиях - это все чушь академическая. Особенно в контексте того что эти аргументы часто при разработке минимум второстепенные. Проблема именно в ООП, так как не дает решать задачи. Вам не удастся меня убедить ничем, потому что в Си таких проблем там не найдете.

Ответить | Правка | К родителю #52 | Наверх | Cообщить модератору

253. "Опубликован новый международный стандарт для языка Си (C1X/C..."  –2 +/
Сообщение от NightmareZemail (?), 24-Дек-11, 11:59 
Наверное потому в этом вашем ядре линуха сплошь и рядом на этом вашем C эмулируются объекты в виде монстрообразного трэшово-лапшового кода?
Ответить | Правка | Наверх | Cообщить модератору

263. "Опубликован новый международный стандарт для языка Си..."  +1 +/
Сообщение от arisu (ok), 24-Дек-11, 14:01 
proof or GTFO. и да, на «сплошь и рядом» тоже пруф. нет, структуры и функции работы с ними не считаются «эмуляцией» и «монстрообразным трэшово-лапшовым кодом».
Ответить | Правка | Наверх | Cообщить модератору

272. "Опубликован новый международный стандарт для языка Си (C1X/C..."  +1 +/
Сообщение от Аноним (-), 24-Дек-11, 20:47 
>Наверное потому в этом вашем ядре линуха сплошь и рядом на этом вашем C эмулируются объекты в виде монстрообразного трэшово-лапшового кода?

Помню себя как программиста когда еще был хеллоуворлдщиком но не осознавал этого так как мыслил лишь в рамках того что мне известно. Так вот, в тот период мне не только сорцы линукса, но даже урезанный код входящий в MS Platform SDK казался "монтрообразно трэшово-лапшевым кодом". Но я еще допускал то что если кто-то пишет такой код на Си который я не могу воспринять - то проблема однозначно во мне. Сейчас я понимаю что был прав в том что прблема была во мне. Но достиг я это молча изучая, развиваясь и набираясь опыта. Намек понятен?


Ответить | Правка | К родителю #253 | Наверх | Cообщить модератору

57. "Опубликован новый международный стандарт для языка Си (C1X/C..."  +1 +/
Сообщение от Аноним (-), 23-Дек-11, 10:46 
У вас много общих слов без конкретных примеров. Как у классика - "вы ставите проблемы космического масштаба..." ну и далее по тексту.

> У ООП есть непреодолимые проблемы

Это какие конкретно?

(остальной бессвязный поток сознания комментировать трудно)

Ответить | Правка | К родителю #43 | Наверх | Cообщить модератору

111. "Опубликован новый международный стандарт для языка Си (C1X/C..."  +/
Сообщение от Аноним (-), 23-Дек-11, 14:18 
>У вас много общих слов без конкретных примеров. Как у классика - "вы ставите проблемы >космического масштаба..." ну и далее по тексту.
>> У ООП есть непреодолимые проблемы
>Это какие конкретно?
>(остальной бессвязный поток сознания комментировать трудно)

А вы не рефлексируйте на сообщение - а прочтите вдумчиво и найдете конкретный (но обобщенный) пример. Если не хотите разбираться/думать сами - я вам на блюдечке хрен приподнесу. Информации в сообщении достаточно (при наличии достаточного реального опыта программирования).

Ответить | Правка | Наверх | Cообщить модератору

129. "Опубликован новый международный стандарт для языка Си (C1X/C..."  +3 +/
Сообщение от Аноним (-), 23-Дек-11, 15:22 
Я пока вижу только "поверьте моему опыту" и что-то расплывчатое про каких-то программистов из японии и неизвестные проекты, над которыми вы якобы работали (да еще и выбирали на чем писать). Я не вижу от вас реальных пояснений, почему ООП не подходит для написания ядра ОС (и да, вы писали ОС?).

Не обижайтесь, но если вы не можете четко и ясно изложить ваши претензии к ООП, в виде 1) 2) 3) по первой же просьбе (а не лепить отмазки), всю эту воду всерьез воспринимать невозможно.

Ответить | Правка | Наверх | Cообщить модератору

213. "Опубликован новый международный стандарт для языка Си (C1X/C..."  +/
Сообщение от Аноним (-), 23-Дек-11, 23:32 
>Я пока вижу только "поверьте моему опыту" и что-то расплывчатое про каких-то программистов из японии и неизвестные проекты, над которыми вы якобы работали (да еще и выбирали на чем писать). Я не вижу от вас реальных пояснений, почему ООП не подходит для написания ядра ОС (и да, вы писали ОС?).

Вы - либо невнимательный читатель, либо плохо понимаете содержание, либо плохо восстанавливаете первоначальный смысл сообщении (такое бывает, к примеру, если человек мало читал и довольствовался лишь поверхностными (на уровне слов) пониманием содержания). Если вы дилетант в разработке (или хеллоуволдщик) то объяснить вашу рефлекторность содержание остутствием (недостаточностью) опыта чтобы понять содержание моих ответов. Прошу заметить что некоторые читатели опеннета понимают содержание моих сообщении (номера 5.43 и 8.116 - однозначно излагают мысль). Ну а то что вы не можете понять то что понимают другие - есть свидетельство того что проблема с пониманием находится именно в вас. Но я уверен, что вы так не считаете, так как такие вам подобные более предрасположены к рефлексированию нежели к вдумчивому анализу.

>Не обижайтесь, но если вы не можете четко и ясно изложить ваши претензии к ООП, в виде 1) 2) 3) по первой же просьбе (а не лепить отмазки), всю эту воду всерьез воспринимать невозможно.

Обидеть меня могут лишь родные и/или близкие. В содержании сообщения 5.43 есть конкретная претензия к ООП но через пример на основании моего опыта, а в содержании 8.116 уже последовало обобщение. Вам этого недостаточно? А по пунктам вам раскладывать никто ничего не будет (и уж тем более на фоне того что те причины из-за чего вы проявили синдром неосилятора кроется именно в ваших способностях).

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

P.S.: Есть вероятность что вы меня просто троллите, поэтому дальнейшие ваши подобные выпады будут оставлены без внимания и отправлены к модератору с пометкой "троллинг".

Ответить | Правка | Наверх | Cообщить модератору

214. "Опубликован новый международный стандарт для языка Си..."  –1 +/
Сообщение от arisu (ok), 23-Дек-11, 23:54 
ну, человек же признался, что «выбирать, на чём писать» для него — ненаучная фантастика. откуда вполне понятен его уровень и квалификация. в лучшем случае это какой-нибудь жабакодер, который в свободное время пишет скриптики на питоне и втайне мечтает, что когда-нибудь он таки выучит C++ и сразу пойдёт на работу, где платят Бешеные Деньги.
Ответить | Правка | Наверх | Cообщить модератору

217. "Опубликован новый международный стандарт для языка Си..."  +2 +/
Сообщение от Аноним (-), 24-Дек-11, 00:08 
Для меня это не "фантастика", просто в большинстве случаев выбор это роскошь - т.к. в предметной области инфраструктура и руки кодеров в основном заточены под конкретный инструмент (сейчас у меня это C++ и даже конкретней MS тулчейн, у людей, работающих с эмбеддовкой - обычно Си, и т.п.).

Если вы работаете один и имеете возможность выбирать между Си, Java, Haskell и С++ - я вам искренее завидую. Впрочем тут же перестану, когда вам понадобятся еще люди для проекта на Haskell.

Ответить | Правка | Наверх | Cообщить модератору

227. "Опубликован новый международный стандарт для языка Си..."  –2 +/
Сообщение от arisu (ok), 24-Дек-11, 00:41 
> Дальнейший разговор бессмысленен.

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

Ответить | Правка | К родителю #221 | Наверх | Cообщить модератору

216. "Опубликован новый международный стандарт для языка Си (C1X/C..."  +1 +/
Сообщение от Аноним (-), 24-Дек-11, 00:00 
Слушайте, вы издеваетесь?

> Прошу заметить что некоторые читатели опеннета понимают содержание моих сообщении (номера 5.43 и 8.116 - однозначно излагают мысль).

Прошу заметить, что на 5.43 я как раз и отвечал, там ни одного аргумента, только пространные рассуждения а-ля "я, Аноним, использовал ООП и мне не понравилось". 8.116 вообще сплошные метафоры.

Давайте так - "объектно-ориентированный подход не годится для ядра ОС, потому что..."

1)...
2)...
3)...

?

До этого момента будем считать, что вы просто слили.

А также поясните, где вы увидели в С++ нормальный ООП, и что вам мешает использовать только его подмножество.

> Есть вероятность что вы меня просто троллите

Тролли у вас под кроватью, уважаемый (точнее пока не очень). Перестаньте их видеть всюду. Вам задали конкретный вопрос, вы на него вместо прямого ответа разводите воду.

Ответить | Правка | К родителю #213 | Наверх | Cообщить модератору

237. "Опубликован новый международный стандарт для языка Си (C1X/C..."  +/
Сообщение от Аноним (-), 24-Дек-11, 03:48 
>Прошу заметить, что на 5.43 я как раз и отвечал, там ни одного аргумента, только пространные рассуждения а-ля "я, Аноним, использовал ООП и мне не понравилось". 8.116 вообще сплошные метафоры.

давай так: сначала въезжаешь в содержание сообщении а потом уже поговорим.

>До этого момента будем считать, что вы просто слили.

Да плевать. Считайте как хотите. Вы до сих пор не понимаете что сливаете как раз вы тем что не можете уловить основную мысль сообщении.

>А также поясните, где вы увидели в С++ нормальный ООП, и что вам мешает использовать только его подмножество.

Если вдуматься то в С++ немного больше (есть лишнее) ООП.

>Тролли у вас под кроватью, уважаемый (точнее пока не очень). Перестаньте их видеть всюду. Вам задали конкретный вопрос, вы на него вместо прямого ответа разводите воду.

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

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

Ответить | Правка | Наверх | Cообщить модератору

255. "Опубликован новый международный стандарт для языка Си (C1X/C..."  +1 +/
Сообщение от NightmareZemail (?), 24-Дек-11, 12:06 
> Да плевать. Считайте как хотите. Вы до сих пор не понимаете что сливаете как раз вы тем что не можете уловить основную мысль сообщении.

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

А если показывать и объяснять не хочешь, то непонятно к чему эти пространные калоизлияния.

Пока что выглядит всё так: "вы дураки... да-да, вы дураки... я знаю это... у меня есть доказательства.... но я вам их не скажу...... просто верьте мне, я шарю".

Ответить | Правка | Наверх | Cообщить модератору

270. "Опубликован новый международный стандарт для языка Си (C1X/C..."  +/
Сообщение от Аноним (-), 24-Дек-11, 18:25 
>> Да плевать. Считайте как хотите. Вы до сих пор не понимаете что сливаете как раз вы тем что не можете уловить основную мысль сообщении.
>Дык ты поясни, раз мы уловить не можем. На пальцах покажи. Потому что ты умный, а мы дети безграмотные.

Для чего объяснять?

>А если показывать и объяснять не хочешь, то непонятно к чему эти пространные калоизлияния.

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


>Пока что выглядит всё так: "вы дураки... да-да, вы дураки... я знаю это... у меня есть доказательства.... но я вам их не скажу...... просто верьте мне, я шарю".

Забыли добавить ключевое "ИМХО" потому что так выглядит для вас несмотря на то что моя позиция определена явно и однозначно (в текущем сообщении оно последним предложением абзаца повыше).

Ответить | Правка | Наверх | Cообщить модератору

254. "Опубликован новый международный стандарт для языка Си (C1X/C..."  –1 +/
Сообщение от NightmareZemail (?), 24-Дек-11, 12:02 
Ты ведёшь себя как религиозный проповедник. Типа бог есть и всё тут. А кто не уверует - получит кадилом по лбу.
Ответить | Правка | К родителю #213 | Наверх | Cообщить модератору

271. "Опубликован новый международный стандарт для языка Си (C1X/C..."  +/
Сообщение от Аноним (-), 24-Дек-11, 18:28 
>Ты ведёшь себя как религиозный проповедник. Типа бог есть и всё тут. А кто не уверует - получит кадилом по лбу.

Интеллект который выдает шаблоны вместо того чтобы думать (вы внезапно оказались в числе XY% людей планеты).

Ответить | Правка | Наверх | Cообщить модератору

58. "Опубликован новый международный стандарт для языка Си (C1X/C..."  +2 +/
Сообщение от Аноним (-), 23-Дек-11, 10:49 
А вы еще и выбираете на чем писать? Везет же вам.
Ответить | Правка | К родителю #43 | Наверх | Cообщить модератору

74. "Опубликован новый международный стандарт для языка Си (C1X/C..."  +/
Сообщение от name (??), 23-Дек-11, 12:12 
а не могли бы вы подсказать какую-то литературу, где можно почитать о проектированию больших и сложных систем на С? а то С++/ООП/UML более-менее знаю, а вот на С - не шарю
Ответить | Правка | К родителю #43 | Наверх | Cообщить модератору

112. "Опубликован новый международный стандарт для языка Си (C1X/C..."  +/
Сообщение от Аноним (-), 23-Дек-11, 14:21 
>а не могли бы вы подсказать какую-то литературу, где можно почитать о проектированию больших и сложных систем на С? а то С++/ООП/UML более-менее знаю, а вот на С - не шарю

Поверьте, вам это (пока) не нужно.

Ответить | Правка | Наверх | Cообщить модератору

130. "Опубликован новый международный стандарт для языка Си (C1X/C..."  +1 +/
Сообщение от Аноним (-), 23-Дек-11, 15:25 
к примеру Reza Azimi "Organizing Large C programs" (презентация, но основные моменты расписаны)
Ответить | Правка | К родителю #74 | Наверх | Cообщить модератору

142. "Опубликован новый международный стандарт для языка Си (C1X/C..."  +2 +/
Сообщение от Аноним (-), 23-Дек-11, 15:47 
> проектированию больших и сложных систем на С? а то С++/ООП/UML более-менее
> знаю, а вот на С - не шарю

Если вы думаете что знаете си++ и при этом не знаете си - вы себя где-то очень жестоко нае...ли, сами того не осознавая.

Ответить | Правка | К родителю #74 | Наверх | Cообщить модератору

162. "Опубликован новый международный стандарт для языка Си (C1X/C..."  +/
Сообщение от Аноним (-), 23-Дек-11, 16:38 
Вопрос был не о знании C, а об организации сложных программ на нем.
Ответить | Правка | Наверх | Cообщить модератору

173. "Опубликован новый международный стандарт для языка Си (C1X/C..."  +/
Сообщение от xxx (??), 23-Дек-11, 18:24 
> Если вы думаете что знаете си++ и при этом не знаете си
> - вы себя где-то очень жестоко нае...ли, сами того не осознавая.

Если вы думаете что знаете Java и при этом не знаете асма - вы...
Если вы думаете что знаете архитектуру PC и при этом не знаете как то же самое собрать на релюшках - вы...

А вообще да, на Си - тоже самое, что на С++ (ООП/UML), только сначала вы изобретаете ООП (где-то видал статью как чувак на макросах родил почти полнофункциональное ООП, при удобоваримом способе записи) или функциональный подход (тоже проскакивала статейка), а затем всё как по накатанной...


Ответить | Правка | К родителю #142 | Наверх | Cообщить модератору

181. "Опубликован новый международный стандарт для языка Си (C1X/C..."  +1 +/
Сообщение от Anonymouse (?), 23-Дек-11, 19:21 
> только сначала вы изобретаете ООП (где-то видал статью как чувак на
> макросах родил почти полнофункциональное ООП, при удобоваримом способе записи)

Да чего там - посмотри GNOME - пишут на C но юзая ООП 8-)
(может от этого и изобрели Vala :)

Ответить | Правка | Наверх | Cообщить модератору

179. "Опубликован новый международный стандарт для языка Си (C1X/C..."  –1 +/
Сообщение от Anonymouse (?), 23-Дек-11, 19:19 
>Если вы думаете что знаете си++ и при этом не знаете си - вы себя где-то очень жестоко нае...ли, сами того не осознавая.

Ээээ - НЕТ!

Если знаете си++ и при этом вы думаете что знаете си - вы себя где-то очень жестоко нае...ли, сами того не осознавая. Разные это языки - РАЗНЫЕ!

Ответить | Правка | К родителю #142 | Наверх | Cообщить модератору

184. "Опубликован новый международный стандарт для языка Си (C1X/C..."  +1 +/
Сообщение от Аноним (-), 23-Дек-11, 19:34 
> Если знаете си++ и при этом вы думаете что знаете си - вы себя где-то очень жестоко нае...ли, сами того не осознавая. Разные это языки - РАЗНЫЕ!

Если у вас есть голова и вы при этом думаете, что у вас есть мозг — вы себя где-то очень жестоко нае...ли, сами того не осознавая. Разные это части тела - РАЗНЫЕ!

Ответить | Правка | Наверх | Cообщить модератору

245. "Опубликован новый международный стандарт для языка Си (C1X/C..."  +/
Сообщение от Аноним (-), 24-Дек-11, 06:46 
> Если у вас есть голова и вы при этом думаете, что у
> вас есть мозг — вы себя где-то очень жестоко нае...ли, сами
> того не осознавая. Разные это части тела - РАЗНЫЕ!

Лучше и не скажешь! //предыдущий аноним

Ответить | Правка | Наверх | Cообщить модератору

275. "Опубликован новый международный стандарт для языка Си (C1X/C..."  –1 +/
Сообщение от Аноним (-), 25-Дек-11, 08:37 
>Если у вас есть голова и вы при этом думаете, что у вас есть мозг — вы себя где-то очень жестоко нае...ли, сами того не осознавая. Разные это части тела - РАЗНЫЕ!

Человек вам по делу писал про случай знания С++ и незнания Си. Вероятно вам не хватает квалификации для того чтобы понять какие детали имел ввиду автор сообщения и о чем умолчал. А вы в бред школьника начальных классов в ответ.

Ответить | Правка | К родителю #184 | Наверх | Cообщить модератору

220. "Опубликован новый международный стандарт для языка Си (C1X/C..."  +3 +/
Сообщение от adolfusemail (ok), 24-Дек-11, 00:21 
>[оверквотинг удален]
> задача не решается в рамках методов которые приняты - значит принятые
> методы плохие при условии корректного решения. Чуть позже я наткнулся на
> проект (название не сохранилось) программиста из японии (специально глянул страну автора)
> который писал проект на С++, но обильно использовал технику подобную тому
> которую использовал я в своих последних проектах на С++. Ну а
> дальше погуглил и почитал форумы и дискуссии умных и опытных людей
> и решил закончить писать на С++. Сейчас свободно пишу на Си
> придерживаясь объектной нотации. С гибкостью Си сопоставим только Perl (возможно есть
> еще языки вроде фортрана, PL/1, ...), ну а превосходит Си только
> Asm.

С++ -- язык, имеющий к ООП крайне отдаленное отношение. Он не поддерживает один из двух основных краеугольных камней ООП -- механизм обмена сообщениями. Объекты между собой в ОО парадигме взаимодействуют, исключительно обмениваясь сообщениями и это есть единственный способ их взаимодействия. Если же подходить менее строго, то есть еще и системные коммуникации типа совместно используемой памяти и всего остального, если сообщений окажется недостаточно. По моему этого более чем достаточно. тем не менее, в C++ нет ни операторов, ни протоколов. Зато есть полиморфизм, никакого отношения к ООП не имеющий, но активно, прямо таки надрывным криком выдваемый за признак ООП.
Наследование, несомненно, облегчает жизнь программисту, но никакого отношения к ООП оно опять же не имеет. Неомненно, это удобно и в языке должно быть. Но все это должно обрабатываться статически и не добавлять лишних проверок и вызова темных функций из темных шареных либ. Иначе эффективнее возложить синхронизацию на внешний по отношению к языку механизм.
Кто-то где-то отрыгнул, что сообшения в C++ заменены во сто крат более эффективным механизмомм -- объект, который хочет послать сообщение другому, может залезть в его адресное пространство через специальную дырку (с помощью специально предоставленного получаюшщим сообщение объектом метода) и посрать там как он хочет -- глваное, чтобы оба понимали, какая кучка что означает. Тут конечно мы спрашиваем -- т.е это я сам должен реализовавать ту часть протокола взаимодействия, которая отвечает за установелние соединения, его обслуживание и завершение? Но таки этот процесс должен быть скрыт от пользователя. В ООП языке должен присутствовать оператор установления соединения между объектами и оператор бродкаста. Ну или чтото-то похожее. Иначе два объекта не смогут обмениваться друг с другом. В C++ ничего похожего нет. Зато там есть хрень типа template, которая облегчая жизнь ленивому программисту, оставляет гору подводных камней в отношении производительности -- часто код годами работает у клиента, будучи собранным в отладочном режиме. И когда на замечание о вычислительной производительности компилята из-под С++ я слышу мантры об оптимизации кода,  я говорю -- возможно этот код всегда будет собираться с опцией -O0, но это никак не должно отражаться на юзабилити. И тогда я слышу сладкое -- ну тогда его надо было писать на голых сях -- а кто вам мешал? -- а как-то в падлу -- ну так прописывайся у клиента и ремонтируй.

Ответить | Правка | К родителю #43 | Наверх | Cообщить модератору

268. "Опубликован новый международный стандарт для языка Си (C1X/C..."  +/
Сообщение от Сергей (??), 24-Дек-11, 17:13 
> и решил закончить писать на С++.

Ну и дурак. Для начала научись использовать данный тебе инструмент. Неумелое использование инструмента не по месту не означает, что инструмент плох.

Ответить | Правка | К родителю #43 | Наверх | Cообщить модератору

276. "Опубликован новый международный стандарт для языка Си (C1X/C..."  +/
Сообщение от Аноним (-), 25-Дек-11, 08:48 
>Ну и дурак. Для начала научись использовать данный тебе инструмент. Неумелое использование инструмента не по месту не означает, что инструмент плох.

Есть тип людей которые позволяют себе судить о чем-либо не разобравшись в вопросе как следует. Вы же не знаете мой уровень программирования на С++ и не знаете мой уровень на Си. То что я заикнулся об архитектуре должно было вас немного насторожить. Но вам все это либо мелочи либо не имеющие значения детали. Исходя из этого я не могу сказать какой вы программист на деле (возможно, вы даже хорошии кодер в рамках определенного круга прикладных задач). Но я точно вам могу сказать что вы здесь показали способности быдла. Вывод: дурак я или нет - это еще спорный момент, ну а бесспорным получается утверждение что вы являетесь быдлом.

P.S.: Не пишите больше ответы на мои сообщения. Никогда.

Ответить | Правка | Наверх | Cообщить модератору

277. "Опубликован новый международный стандарт для языка Си (C1X/C..."  +/
Сообщение от тоже Анонимemail (ok), 25-Дек-11, 15:42 
Поработаю компилятором...
ЕГГОГ: не инициализирована переменная "мои".
Если уж требуете от человека молча внимать именно вашим откровениям, потрудитесь хотя бы залогиниться ;)
Ответить | Правка | Наверх | Cообщить модератору

279. "Опубликован новый международный стандарт для языка Си (C1X/C..."  +/
Сообщение от Аноним (-), 26-Дек-11, 02:21 
>Поработаю компилятором...

s/компилятором/интерпретатором/


>ЕГГОГ: не инициализирована переменная "мои".

s/интерпретатором/примитивным интерпретатором/


>Если уж требуете от человека молча внимать именно вашим откровениям, потрудитесь хотя бы залогиниться ;)

Ничего не требую. Лишь рассказал как есть. Распарсили вы (другой) или нет - мне побоку (кому надо - тот въедет).

Ответить | Правка | Наверх | Cообщить модератору

283. "Опубликован новый международный стандарт для языка Си (C1X/C..."  +/
Сообщение от kshetragia (ok), 26-Дек-11, 17:50 
Другими словами, теперь вы строите систему на тех же принципах ООП при этом используя Си. Это нормально. И такой подход более чем оправдан. По крайней мере по моему собственному опыту. С другой стороны... Хочется плюшек языков Вирта. Таких как модула/объектный Паскаль.. Описание языка занимает чуть больше 30-ти страниц. И как же я был разочарован когда узнал, что нормальных компиляторов под него не существует. По крайней мере под Unix like системы. :(
     Может с приходом llvm что-то изменится и эти уродцы C/C++ отомрут окончательно. Либо наконец-то впитают в себя нормальную модульную архитектуру вместо костылей - namespace-ов и глобальной области видимости.. Жесткую типизацию. Иерархию классов не более чем одного уровня вложенности, частично синтаксис...
     Уж очень-на они "свободные" сейчас.. Половина программы в *.h заголовках на крестах - обычное дело.
Ответить | Правка | К родителю #43 | Наверх | Cообщить модератору

285. "Опубликован новый международный стандарт для языка Си (C1X/C..."  +/
Сообщение от Аноним (-), 26-Дек-11, 22:52 
>Другими словами, теперь вы строите систему на тех же принципах ООП при этом используя Си. Это нормально. И такой подход более чем оправдан. По крайней мере по моему собственному опыту.

Согласен. Однако здесь работает тот же принцип: "Большаие возможностри требуют большой ответственности". Другими словами, если не разбираться в проектировании ПО и архитектурных решениях то очень высока вероятность вообще не завершить проект и забросить Си навсегда и застрять на уровне быдлокодера.

>С другой стороны... Хочется плюшек языков Вирта. Таких как модула/объектный Паскаль.. Описание языка занимает чуть больше 30-ти страниц. И как же я был разочарован когда узнал, что нормальных компиляторов под него не существует. По крайней мере под Unix like системы. :(

Не знаком с виртом, но за упоминание благодарю (поставил его кандидатом на освоение языка и его модели перед обероном).

Ответить | Правка | Наверх | Cообщить модератору

27. "Опубликован новый международный стандарт для языка Си (C1X/C..."  +1 +/
Сообщение от Аноним (-), 23-Дек-11, 02:08 
> сложных системах (тем более в развивающихся) С++ вам создаст проблем.

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

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

Ответить | Правка | К родителю #21 | Наверх | Cообщить модератору

137. "Опубликован новый международный стандарт для языка Си (C1X/C..."  +/
Сообщение от Аноним (-), 23-Дек-11, 15:39 
> маньяки типа кармака на си осиливают запросто.

Последнее, что написал Кармак на Си - это был Quake 3. Уже DOOM III был на C++.

Ответить | Правка | Наверх | Cообщить модератору

138. "Опубликован новый международный стандарт для языка Си (C1X/C..."  +/
Сообщение от Аноним (-), 23-Дек-11, 15:40 
добавлю: можете также почитать его мысли по этому поводу в его .plan-файлах. Собсно, ничего хорошего о выборе Си в качестве основного языка для Q3 он там не говорит.
Ответить | Правка | Наверх | Cообщить модератору

144. "Опубликован новый международный стандарт для языка Си (C1X/C..."  +/
Сообщение от Аноним (-), 23-Дек-11, 15:50 
> Последнее, что написал Кармак на Си - это был Quake 3. Уже
> DOOM III был на C++.

А тем не менее xonotic и по сей день очень недурен. Тут вам и вагон современных эффектов, и текстуры с нормальным разрешением, и просто доставляющий геймплей. И орава маппаров которые делают годные карты, аццки допиливают скрипты на QuakeC и прочая. В общем дело Кармака живет и как видим на этом вполне можно сделать весьма годную игру, если захотеть :)

Ответить | Правка | К родителю #137 | Наверх | Cообщить модератору

29. "Опубликован новый международный стандарт для языка Си (C1X/C..."  +6 +/
Сообщение от Аноним (-), 23-Дек-11, 02:14 
> C++ имеет смысл только в заведомо больших и масштабных проектах, имхо.  Где преимущества ООП имеют хоть какие-то шансы проявить себя.

Использовать преимущества ООП можно (и нужно) не смотря на язык разработки (ли ж бы был аналог struct).
Правильно организованный код на С, написанный опытным программистом, получается проще и легче в сопровождении,
чем код на C++/Java/C#, написанный пионером, начитавшимся Гради Буча и на каждом углу кричащим "ООП!".

Ответить | Правка | К родителю #11 | Наверх | Cообщить модератору

40. "Опубликован новый международный стандарт для языка Си (C1X/C..."  +5 +/
Сообщение от Вова (?), 23-Дек-11, 08:51 
>> C++ имеет смысл только в заведомо больших и масштабных проектах, имхо.  Где преимущества ООП имеют хоть какие-то шансы проявить себя.
> Использовать преимущества ООП можно (и нужно) не смотря на язык разработки (ли
> ж бы был аналог struct).
> Правильно организованный код на С, написанный опытным программистом, получается проще
> и легче в сопровождении,
> чем код на C++/Java/C#, написанный пионером, начитавшимся Гради Буча и на каждом
> углу кричащим "ООП!".

согласен почти полностью, хотя и настораживает непринужденное использование оборота "ли ж бы".  Дело в том, что в С++ гораздо проще писать максимально нечитаемый код. Как правило, его пишут в надежде, что коллеги изумятся и скажут "вау! вот это шарит пацанчик а! Внатури давайте ему немедленно поднимем зп и никогда не будем спрашивать о сроках!". Как бы детская болезнь.
Настоящий профессионал умеет писать нечитабельный код на любом языке.

Ответить | Правка | Наверх | Cообщить модератору

67. "Опубликован новый международный стандарт для языка Си (C1X/C..."  +1 +/
Сообщение от PGI520BK (?), 23-Дек-11, 11:46 
>> Настоящий профессионал умеет писать нечитабельный код на любом языке.

В мемориез :)

Ответить | Правка | Наверх | Cообщить модератору

91. "Опубликован новый международный стандарт для языка Си (C1X/C..."  +2 +/
Сообщение от pavlinux (ok), 23-Дек-11, 13:08 
>>> Настоящий профессионал умеет писать нечитабельный код на любом языке.
> В мемориез :)

На башорг срочно! :)

Ответить | Правка | Наверх | Cообщить модератору

124. "Опубликован новый международный стандарт для языка Си (C1X/C..."  +/
Сообщение от Crazy Alex (??), 23-Дек-11, 15:00 
Как-то скромно пропустили, что C++ != ООП.
И уж тем более - не обязательно использовать "классический" ООП с навороченными иерархиями наследования, фабриками, виртуальными методами и т.п.

Частенько плюсы просто добавляют удобств - STL тот же, RAII использовать - милое дело. Да и самодельные просты шаблоны хороши вместо макросов, а семиэтажные писать никто не заставляет.

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

Ответить | Правка | К родителю #40 | Наверх | Cообщить модератору

231. "Опубликован новый международный стандарт для языка Си (C1X/C..."  +/
Сообщение от Анонимус213412 (?), 24-Дек-11, 02:05 
Правильно организованный код на C++/Java/C#, написанный опытным программистом, получается проще и легче в сопровождении,
чем код на C, написанный пионером, не начитавшимся Гради Буча и на каждом углу кричащим "Долой ООП!".

Т.е. для вас откровение, что специалист пишет код лучше, чем начинающий?

Ответить | Правка | К родителю #29 | Наверх | Cообщить модератору

17. "Опубликован новый международный стандарт для языка Си (C1X/C..."  +/
Сообщение от pavlinux (ok), 23-Дек-11, 00:12 
> пришлось под специфичное железо писать исключительно АНСИ-89...

Как связано железо и версия стандарта языка?
Особо интересно, что можно в ANSI-89, чего низя в ISO/IEC 9899:1999 ?

Ответить | Правка | К родителю #3 | Наверх | Cообщить модератору

24. "Опубликован новый международный стандарт для языка Си (C1X/C..."  +3 +/
Сообщение от etw (ok), 23-Дек-11, 01:32 
Очевидно же, что компилятором под данное железо, который поддерживает только ANSI-89.
Ответить | Правка | Наверх | Cообщить модератору

25. "Опубликован новый международный стандарт для языка Си (C1X/C..."  +/
Сообщение от Аноним (-), 23-Дек-11, 01:49 
Сов. верно, спасибо за пояснение. Уточню, что дело было с проприетарной ОСРВ под жутко хитрое железо, которое в музей пора сдать...
Ответить | Правка | Наверх | Cообщить модератору

28. "Опубликован новый международный стандарт для языка Си (C1X/C..."  –2 +/
Сообщение от Аноним (-), 23-Дек-11, 02:09 
> Очевидно же, что компилятором под данное железо, который поддерживает только ANSI-89.

НекромантЪ в студии!

Ответить | Правка | К родителю #24 | Наверх | Cообщить модератору

59. "Опубликован новый международный стандарт для языка Си (C1X/C..."  +/
Сообщение от Аноним (-), 23-Дек-11, 10:57 
Добро пожаловать в реальность, друг.
Ответить | Правка | Наверх | Cообщить модератору

146. "Опубликован новый международный стандарт для языка Си (C1X/C..."  –1 +/
Сообщение от Аноним (-), 23-Дек-11, 16:05 
> Добро пожаловать в реальность, друг.

Реальность - такая какую вы себе ее создадите. Можно конечно и в окаменелом г-вне мамонта колупаться. Но я этим заниматься не буду. Потому что это не имеет перспектив.

Я просто пользуюсь камнями поддерживаемыми gcc
1) Потому что он есть под симпатичные мне операционки.
2) Потому что он понимает кучу архитектур и я могу выучить 1 набор тулзов, особенности и закидоны оных на нормальном уровне, нежели учить десяток разномастных и не похожих друг на друга глюкастиков. Половина из которых еще и денег стоят, отсутствует под удобную мне ОС или сто лет не поддерживается никем.
3) Потому что копаться в окаменелом дерьме - неперспективно.
4) Потому что я тоже человек и хочу удобные/полезные плюшки из C99.

Копание в г-не и раритетах имхо привилегия копрофилов и некрофилов, соответственно :)

Ответить | Правка | Наверх | Cообщить модератору

280. "Опубликован новый международный стандарт для языка Си (C1X/C..."  +1 +/
Сообщение от Aesthetus Animus (ok), 26-Дек-11, 12:02 
User294, залогиньтесь!

> Я просто пользуюсь камнями поддерживаемыми gcc

Я не видел, чтобы gcc генерил хороший код для использовавшихся мною архитектур. Конечно, для тех, для которых gcc существовал :-D

> Копание в г-не и раритетах имхо привилегия копрофилов и некрофилов, соответственно :)

В процессорах тоже бывают баги, вычищаемые со временем. Как Вы думаете, что используют в критических по безопасности системах?

Ответить | Правка | Наверх | Cообщить модератору

281. "Опубликован новый международный стандарт для языка Си..."  +1 +/
Сообщение от arisu (ok), 26-Дек-11, 14:51 
> Как Вы думаете, что используют в критических по безопасности системах?

шестерёнки и рычажки.

Ответить | Правка | Наверх | Cообщить модератору

284. "Опубликован новый международный стандарт для языка Си..."  +1 +/
Сообщение от Aesthetus Animus (ok), 26-Дек-11, 18:09 
>> Как Вы думаете, что используют в критических по безопасности системах?
> шестерёнки и рычажки.

Собственно, электроника, там где она есть (а она там есть) такая же кондовая и неубиваемая, как те самые шестеренки и рычажки.


Ответить | Правка | Наверх | Cообщить модератору

9. "Опубликован новый международный стандарт для языка Си (C1X/C..."  +10 +/
Сообщение от Аноним (-), 22-Дек-11, 23:36 
> Финальный текст стандарта не доступен для свободной загрузки (только платная загрузка)

Стандарт, который показывают только за деньги — это никакой не стандарт, это экспонат музея.

Ответить | Правка | Наверх | Cообщить модератору

13. "Опубликован новый международный стандарт для языка Си (C1X/C..."  +2 +/
Сообщение от anonymus (?), 22-Дек-11, 23:47 
Практические все стандарты ISO не доступны для публичного просмотра, и ничего все кому они действительно нужны их имеют.
Ответить | Правка | Наверх | Cообщить модератору

22. "Опубликован новый международный стандарт для языка Си (C1X/C..."  +/
Сообщение от loper (?), 23-Дек-11, 01:13 
Если вы не знали, ISO продают стандарты. Для свободного доступа доступны только черновики.
Это не RFC =(
Ответить | Правка | К родителю #9 | Наверх | Cообщить модератору

49. "Опубликован новый международный стандарт для языка Си (C1X/C..."  –3 +/
Сообщение от Аноним (-), 23-Дек-11, 10:12 
Внезапно! Все в этом мире стоит денег. Особенно чужое время и чужие ресурсы, используемые в производствах чего угодно.
Ответить | Правка | Наверх | Cообщить модератору

147. "Опубликован новый международный стандарт для языка Си (C1X/C..."  +3 +/
Сообщение от Аноним (-), 23-Дек-11, 16:07 
> Внезапно! Все в этом мире стоит денег. Особенно чужое время и чужие
> ресурсы, используемые в производствах чего угодно.

Деньги за стандарты - маразм. По идее это должно оплачиваться государствами из бюджетов. Как раз потому что настолько повсеместно используется.

Ответить | Правка | Наверх | Cообщить модератору

187. "Опубликован новый международный стандарт для языка Си (C1X/C..."  +/
Сообщение от Anonymouse (?), 23-Дек-11, 19:47 
> Деньги за стандарты - маразм. По идее это должно оплачиваться государствами из
> бюджетов. Как раз потому что настолько повсеместно используется.

Ну предложи Росии оплатить все стандарты ISO :) "для открытия доступа". Должны же :)
Я согласен если их откроют за налоги уплаченные тобой :)

Персонально тебе промышленный стандарт будет нужет только если ты собираешься что то производить и продавать с наклейкой Compliance with ISO-XXX - а значит бабло для этого должно быть в бизнес плане.


PS: Насколько я помню, ГОСТЫ в России - тоже только за деньги? Или уже переиграли обратно?

Ответить | Правка | Наверх | Cообщить модератору

198. "Опубликован новый международный стандарт для языка Си (C1X/C..."  +4 +/
Сообщение от Аноним (-), 23-Дек-11, 21:05 
> Я согласен если их откроют за налоги уплаченные тобой :)

Я тоже согласен. Это лучше чем какие-то фильтры петрика и роснанораспилы.

Ответить | Правка | Наверх | Cообщить модератору

203. "Опубликован новый международный стандарт для языка Си (C1X/C..."  +2 +/
Сообщение от Michael Shigorinemail (ok), 23-Дек-11, 22:21 
> Внезапно! Все в этом мире стоит денег.

Не пробовали друга прикупить?

Ответить | Правка | К родителю #49 | Наверх | Cообщить модератору

222. "Опубликован новый международный стандарт для языка Си (C1X/C..."  –7 +/
Сообщение от Ваня (?), 24-Дек-11, 00:31 
Легко. За банку (пару-тройку халявных банок пива + сухарики) в день можно закоришиться с любым студентом. С работающими немного дороже.

Также друга можно продать. А подругу.... :)

Ответить | Правка | Наверх | Cообщить модератору

224. "Опубликован новый международный стандарт для языка Си..."  +8 +/
Сообщение от arisu (ok), 24-Дек-11, 00:35 
(задумчиво) а ведь ты на самом деле очень одинокий и несчастный человек, ванюша.
Ответить | Правка | Наверх | Cообщить модератору

247. "Опубликован новый международный стандарт для языка Си..."  +1 +/
Сообщение от Аноним (-), 24-Дек-11, 06:52 
> (задумчиво) а ведь ты на самом деле очень одинокий и несчастный человек, ванюша.

Он просто еще не понял кое-чего. Правда, некоторым это понимание очень дорого обходится.

Ответить | Правка | Наверх | Cообщить модератору

229. "Опубликован новый международный стандарт для языка Си (C1X/C..."  +4 +/
Сообщение от Ytch (?), 24-Дек-11, 01:09 
> Легко. За банку (пару-тройку халявных банок пива + сухарики) в день можно
> закоришиться с любым студентом. С работающими немного дороже.

В наших краях это называется собутыльник, а уж никак не друг. Если вы не видите разницы - искренне сочувствую.

Ответить | Правка | К родителю #222 | Наверх | Cообщить модератору

246. "Опубликован новый международный стандарт для языка Си (C1X/C..."  +1 +/
Сообщение от Аноним (-), 24-Дек-11, 06:48 
> Также друга можно продать. А подругу.... :)

Это не дружба, это взаимообман.

Ответить | Правка | К родителю #222 | Наверх | Cообщить модератору

260. "Опубликован новый международный стандарт для языка Си..."  +/
Сообщение от arisu (ok), 24-Дек-11, 13:51 
>> Также друга можно продать. А подругу…. :)
> Это не дружба, это взаимообман.

не всегда. если все о подобных возможных действиях осведомлены — то нормальные торговые отношения. зачем сразу «обман»…

Ответить | Правка | Наверх | Cообщить модератору

265. "Опубликован новый международный стандарт для языка Си..."  –3 +/
Сообщение от Аноним (-), 24-Дек-11, 14:23 
>>> Также друга можно продать. А подругу…. :)
>> Это не дружба, это взаимообман.
> не всегда. если все о подобных возможных действиях осведомлены — то нормальные
> торговые отношения. зачем сразу «обман»…

(c иронией) Внезапно - основой всех отношений в этом мире являются товарно-денежные. В тех или иных вариациях. Опачки?

Ответить | Правка | Наверх | Cообщить модератору

266. "Опубликован новый международный стандарт для языка Си..."  +1 +/
Сообщение от arisu (ok), 24-Дек-11, 14:29 
многих. но не всех. опачки.

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

Ответить | Правка | Наверх | Cообщить модератору

278. "Опубликован новый международный стандарт для языка Си..."  +1 +/
Сообщение от тоже Анонимemail (ok), 25-Дек-11, 15:47 
> основой всех отношений в этом мире являются товарно-денежные.

Циничная ложь. Такое можно думать только в том случае, если вам это реально выгодно.
Но даже в этом случае думать так - очень вредно для здоровья.

Ответить | Правка | К родителю #265 | Наверх | Cообщить модератору

41. "Опубликован новый международный стандарт для языка Си (C1X/C..."  +/
Сообщение от sluge (ok), 23-Дек-11, 08:56 
что вы трясетесь? уже через неделю все эти платные стандарты лежат в сети
Ответить | Правка | К родителю #9 | Наверх | Cообщить модератору

81. "Опубликован новый международный стандарт для языка Си (C1X/C..."  +2 +/
Сообщение от dq0s4y71 (??), 23-Дек-11, 12:41 
Те, кто не могут заработать написанием компиляторов, зарабатывают написанием стандартов к ним :)
Ответить | Правка | К родителю #9 | Наверх | Cообщить модератору

148. "Опубликован новый международный стандарт для языка Си (C1X/C..."  +/
Сообщение от Аноним (-), 23-Дек-11, 16:08 
> Те, кто не могут заработать написанием компиляторов, зарабатывают написанием стандартов к ним :)

А зарабатыванием написания стандартов на написание стандартов можно? :)

Ответить | Правка | Наверх | Cообщить модератору

188. "Опубликован новый международный стандарт для языка Си (C1X/C..."  +/
Сообщение от Anonymouse (?), 23-Дек-11, 19:52 
> А зарабатыванием написания стандартов на написание стандартов можно? :)

Ищщо как!(С) Забыли уже как принимался OpenDocument?

Ответить | Правка | Наверх | Cообщить модератору

15. "Опубликован новый международный стандарт для языка Си (C1X/C..."  +8 +/
Сообщение от Толстый (ok), 23-Дек-11, 00:02 
https://www.varnish-cache.org/docs/trunk/phk/thetoolsweworkw...
Ответить | Правка | Наверх | Cообщить модератору

135. "Опубликован новый международный стандарт для языка Си (C1X/C..."  +1 +/
Сообщение от xxx (??), 23-Дек-11, 15:37 
> https://www.varnish-cache.org/docs/trunk/phk/thetoolsweworkw...
>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. Битовые поля и структуры задолбали уже.

Ответить | Правка | Наверх | Cообщить модератору

16. "Опубликован новый международный стандарт для языка Си (C1X/C..."  –1 +/
Сообщение от pavlinux (ok), 23-Дек-11, 00:08 
CHF 338,00

Ответить | Правка | Наверх | Cообщить модератору

149. "Опубликован новый международный стандарт для языка Си (C1X/C..."  –1 +/
Сообщение от Аноним (-), 23-Дек-11, 16:08 
> CHF 338,00

WTF 100500?

Ответить | Правка | Наверх | Cообщить модератору

161. "Опубликован новый международный стандарт для языка Си (C1X/C..."  +/
Сообщение от pavlinux (ok), 23-Дек-11, 16:37 
>> CHF 338,00
> WTF 100500?

Полад Бюль-Бюль Оглы


Ответить | Правка | Наверх | Cообщить модератору

189. "Опубликован новый международный стандарт для языка Си (C1X/C..."  +/
Сообщение от Anonymouse (?), 23-Дек-11, 19:57 
>>> CHF 338,00
>> WTF 100500?
> Полад Бюль-Бюль Оглы

Ну он франки тоже принимает я считаю :)

Для тормозов - павлин цену дал на стандарт. А CHF - это вотЪ http://en.wikipedia.org/wiki/Swiss_franc

Ответить | Правка | Наверх | Cообщить модератору

18. "Опубликован новый международный стандарт для языка Си (C1X/C..."  +/
Сообщение от loper (?), 23-Дек-11, 01:01 
Как гром среди ясного неба 0_0
Ответить | Правка | Наверх | Cообщить модератору

33. "Опубликован новый международный стандарт для языка Си (C1X/C..."  +/
Сообщение от Аноним (-), 23-Дек-11, 06:13 
> интерфейс для проверки допустимых границ и диапазонов значений

Кто-нить может подскать что это? Это значит что теперь есть штатный способ вычислить длинну массива?

Ответить | Правка | Наверх | Cообщить модератору

36. "Опубликован новый международный стандарт для языка Си (C1X/C..."  +/
Сообщение от коксюзер (?), 23-Дек-11, 06:57 
>> интерфейс для проверки допустимых границ и диапазонов значений
> Кто-нить может подскать что это? Это значит что теперь есть штатный способ
> вычислить длинну массива?

Нет. Смотрите Annex K в черновом варианте стандарта, на него есть ссылка в новости.

"This annex provides alternative library functions that promote safer, more secure programming. The alternative functions verify that output buffers are large enough for the intended result and return a failure indicator if they are not. Data is never written past the end of an array. All string results are null terminated."

Чтобы появился универсальный способ определения длины массива, нужно либо добавить в представление структурных типов информацию о границах, либо усилить систему типов и ввести проверки времени компиляции. Ни то, ни другое не позволит сохранить обратную совместимость с ABI и семантикой кода уже написанных программ.

Ответить | Правка | Наверх | Cообщить модератору

63. "Опубликован новый международный стандарт для языка Си (C1X/C..."  +/
Сообщение от Ваня (?), 23-Дек-11, 11:11 
В коде указано "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]). Для динамических никак.

Ответить | Правка | К родителю #33 | Наверх | Cообщить модератору

69. "Опубликован новый международный стандарт для языка Си (C1X/C..."  +/
Сообщение от Аноним (-), 23-Дек-11, 11:53 
>[оверквотинг удален]
> записать в 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;
}

ЧЯДНТ?
Ответить | Правка | Наверх | Cообщить модератору

73. "Опубликован новый международный стандарт для языка Си (C1X/C..."  +2 +/
Сообщение от klalafuda (?), 23-Дек-11, 12:03 
> #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

Ответить | Правка | Наверх | Cообщить модератору

100. "Опубликован новый международный стандарт для языка Си (C1X/C..."  +1 +/
Сообщение от pavlinux (ok), 23-Дек-11, 13:35 
>> #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);

}


Ответить | Правка | Наверх | Cообщить модератору

101. "Опубликован новый международный стандарт для языка Си (C1X/C..."  +/
Сообщение от Ваня (?), 23-Дек-11, 13:39 
Хмм... У цикл суммирований, 200 элементов массива типа word. Следуя вашей логике финальный результат будет 200*2 = 400-битный. Круто берёте, есть более элегантные решения.
Ответить | Правка | Наверх | Cообщить модератору

131. "Опубликован новый международный стандарт для языка Си (C1X/C..."  +2 +/
Сообщение от pavlinux (ok), 23-Дек-11, 15:29 
> Хмм... У цикл суммирований, 200 элементов массива типа word. Следуя вашей логике
> финальный результат будет 200*2 = 400-битный. Круто берёте, есть более элегантные
> решения.

Это по Вашей логике типы суммируются :D


Ответить | Правка | Наверх | Cообщить модератору

230. "Опубликован новый международный стандарт для языка Си (C1X/C..."  +/
Сообщение от Ytch (?), 24-Дек-11, 01:41 
> Хмм... У цикл суммирований, 200 элементов массива типа word. Следуя вашей логике
> финальный результат будет 200*2 = 400-битный. Круто берёте, есть более элегантные
> решения.

Странно. У меня результат суммирования двухсот элементов массива типа word при худшем раскладе укладывается в 24 разряда. И даже 256-ти элементов тоже уложится. Безо всяких "элегантных" решений.

Ответить | Правка | К родителю #101 | Наверх | Cообщить модератору

82. "Опубликован новый международный стандарт для языка Си (C1X/C..."  +/
Сообщение от Ваня (?), 23-Дек-11, 12:41 
Вы всё сделали правильно, указав тип данных строго определённого размера. К сожалению, не все поступают так как вы.

Но для напр. double проблема остаётся. Также она остаётся для сложных типов данных (классов напр.) по единообразию с элементарными типами. Предположим у нас есть класс, хранящий значение даты, или структура, хранящая позицию на экране (на экране, а не за его пределами), и т.д.

Я уже С/С++ не занимаюсь, так что не могу сказать как далеко они зашли и как именно это реализовали.

Ответить | Правка | К родителю #69 | Наверх | Cообщить модератору

88. "Опубликован новый международный стандарт для языка Си (C1X/C..."  +/
Сообщение от Ваня (?), 23-Дек-11, 13:00 
Оппонируя сам себе: с другой стороны лишив проблему переполнения вы лишили свой код переносимости. А ведь именно это сильная сторона ЯВУ.
Ответить | Правка | Наверх | Cообщить модератору

79. "Опубликован новый международный стандарт для языка Си (C1X/C..."  +3 +/
Сообщение от dq0s4y71 (??), 23-Дек-11, 12:39 
> Внимание, вопрос: какое максимальное значение можно записать в var?

Откройте для себя limits.h и UINT_MAX, а также http://c-faq.com/misc/intovf.html

> Что если a+b превысят пределы "unsigned int"?

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

Ответить | Правка | К родителю #63 | Наверх | Cообщить модератору

87. "Опубликован новый международный стандарт для языка Си (C1X/C..."  –2 +/
Сообщение от Ваня (?), 23-Дек-11, 12:55 
> Откройте для себя limits.h и UINT_MAX, а также http://c-faq.com/misc/intovf.html

Уже давно об этом знаю, нам это давали ещё на 1-ом курсе, но это не решение проблемы. Повторю: double вы так не проверите, т.к. он с плавающей точкой и точность зависит от размера числа. Проблема единообразия также не решена. А для union и вовсе обломаетесь...

>> Что если a+b превысят пределы "unsigned int"?
> А что будет, если вы попытаетесь записать на диск больше данных, чем
> он может вместить? Вы таким вопросом не задавались? Ответ: ничего хорошего
> не будет, а нюансы зависят от конкретной архитектуры.

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

dc=BeginPaint(..);
brush=CreateBrush(..);
SetBrush(dc,brush);

Просто противно! Кто сказал что dc и brush определены после вызова функций? Никто! А потом удивляются глючности ПО и переносят эту глючность на ОС.

Ответить | Правка | Наверх | Cообщить модератору

151. "Опубликован новый международный стандарт для языка Си (C1X/C..."  +1 +/
Сообщение от Аноним (-), 23-Дек-11, 16:19 
> Никто! А потом удивляются глючности ПО и переносят эту глючность на ОС.

А для виндузятников нормально так писать. У них бескультурье - по дефолту просто. Вот например написанный вами код уже заведомо не кроссплатформенный. Ну и какая культура программирования при этом может быть? Ежу понятно какая - такие господа и порядком байтов не парятся, как и размерами переменных. Наивно думая что в мире есть только винда и i386. А потом мс вдруг бабах и заявляет - чуваки, а вот х64 и ARM. Хавайте! А чуваки то и обнаруживают что их г-нокод надо переписывать нафиг.

Ответить | Правка | Наверх | Cообщить модератору

167. "Опубликован новый международный стандарт для языка Си (C1X/C..."  –2 +/
Сообщение от Ваня (?), 23-Дек-11, 17:05 
Может приведёте пример кросс-платформеного кода с аналогичным функционалом с непосредтвенным вызовом API ОС?

Переписывать для ARM под Win как раз ничего не надо. В этом "фишка".

Ответить | Правка | Наверх | Cообщить модератору

185. "Опубликован новый международный стандарт для языка Си (C1X/C..."  +/
Сообщение от Аноним (-), 23-Дек-11, 19:40 
> Может приведёте пример кросс-платформеного кода с аналогичным функционалом с непосредтвенным
> вызовом API ОС?

WinAPI — это не непосредственный API ОС. Между ним и ОС есть посредник — NativeAPI. Рискнёте привести пример кроссплатформенного кода с аналогичным функционалом с непосредственным использованием нестандартизованного и недокументированного NativeAPI?

Ответить | Правка | Наверх | Cообщить модератору

199. "Опубликован новый международный стандарт для языка Си (C1X/C..."  +1 +/
Сообщение от Аноним (-), 23-Дек-11, 21:12 
> вызовом API ОС?

Если юзать какую-то либу прослойки типа Qt/GTK+/SDL/WxWidgets (в зависимости от хотелок) это даже реально. Примерно так кроссплатофрменные программы и пишут ;)

> Переписывать для ARM под Win как раз ничего не надо. В этом "фишка".

Ну да, щаз. Особенно хорошо было заметно как abbyy "портировало" свой г-нокод на "якобы 64 бита". У них там настолько эпический шит что им вообще не светит его спортировать нормально. И так у каждого первого виндузятника, который не может себе вообразить что у указателя размер не обязательно 4, например.

Ответить | Правка | К родителю #167 | Наверх | Cообщить модератору

89. "Опубликован новый международный стандарт для языка Си (C1X/C..."  +/
Сообщение от Ваня (?), 23-Дек-11, 13:02 
> А что будет, если вы попытаетесь записать на диск больше данных, чем
> он может вместить? Вы таким вопросом не задавались? Ответ: ничего хорошего
> не будет, а нюансы зависят от конкретной архитектуры.

Программа проверит наличие свободного места на диске и выдаст ошибку. Если это не сделает программа, это сделает Windows, а програма получит ошибку в коде возврата. Только вот многие программы (см.меня же выше) игнорят коды возвратов, считая что они исполняются на машинах Тьюринга и отказов с ними не случается. Сравни: "я никогда не делаю резервных копий т.к. у меня ничего не теряется".

Ответить | Правка | К родителю #79 | Наверх | Cообщить модератору

93. "Опубликован новый международный стандарт для языка Си (C1X/C..."  +2 +/
Сообщение от dq0s4y71 (??), 23-Дек-11, 13:18 
> Повторю: double вы так не проверите, т.к. он с плавающей точкой и точность зависит от размера числа.

Сначала вам был нужен unsigned int, теперь уже double. Вы уж разберитесь сами для начала, что вам нужно, а потом спрашивайте. Кстати, для double есть float.h и DBL_MAX.

> Задача программы проверить и предупредить.

Это задача программиста, а не программы. А задача программы - делать то, что ждёт от неё пользователь. Вам показали, как программист может в данном случае проверить и предупредить. Если он этого не делает, то это не проблема языка программирования.

> Кто сказал что dc и brush определены после вызова функций?

Ещё раз: криворукие программисты - не проблема языка программирования. Сдуру можно и Питон сломать ;)

Ответить | Правка | Наверх | Cообщить модератору

98. "Опубликован новый международный стандарт для языка Си (C1X/C..."  +/
Сообщение от Ваня (?), 23-Дек-11, 13:32 
uint использовался как пример для проблемы проверки допустимых границ и диапазонов значений.

double - тип с плавающей точкой и после сложения двух double возможна ситуация резкой потери точности. К тому же double может хранить числа вида 5е20. DBL_MAX - максимальное целое число, для хранения целых чисел использование double не рекомендуется.

Именно это и отличает школьника от школоты. Школота знает, школьник знает и понимает.

>> Задача программы проверить и предупредить.
> Это задача программиста, а не программы.

Гы. Так и представляю как после неудавшегося выделения памяти из шкафа выпрыгивает голый небритый программист и "предупреждает".

Ответить | Правка | Наверх | Cообщить модератору

105. "Опубликован новый международный стандарт для языка Си (C1X/C..."  +1 +/
Сообщение от dq0s4y71 (??), 23-Дек-11, 13:59 
> К тому же double может хранить числа вида 5е20.

Равно как и вида 500000000000000000000.0 ;)

> DBL_MAX - максимальное целое число,

Учите матчасть:

#define DBL_MAX 1.7976931348623157e+308

> Именно это и отличает школьника от школоты. Школота знает, школьник знает и понимает.

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

Ответить | Правка | Наверх | Cообщить модератору

107. "Опубликован новый международный стандарт для языка Си (C1X/C..."  –1 +/
Сообщение от Ваня (?), 23-Дек-11, 14:03 
> Учите матчасть:
> #define DBL_MAX 1.7976931348623157e+308

Сам бы подучился, 16 знаков после запятой на 10 в 308 (!!!) степени по твоему стало дробным числом. Степени изучают в 6 (?) классе - вот он ваш уровень.

Ответить | Правка | Наверх | Cообщить модератору

109. "Опубликован новый международный стандарт для языка Си (C1X/C..."  +/
Сообщение от Ваня (?), 23-Дек-11, 14:07 
И число 500000000000000000000 вы в double не запихнёте, оно будет преобразовано к 5е20 в момент записи.

Хочешь, не хочешь, С/С++ опирается на проц, и даже операции i++ введены для точного отражения "inc al". Конкретно double хранятся и вычисляются в регистрах FPU/MMX (это одни и те же регистры). Раньше MMX был 8-байтным, сейчас он уже 16-байтный. Не факт что размер double не изменился. Но это к начальному вопросу, с которого началось наше с вами общения учителя и школоты.

Ответить | Правка | К родителю #105 | Наверх | Cообщить модератору

120. "Опубликован новый международный стандарт для языка Си (C1X/C..."  +/
Сообщение от dq0s4y71 (??), 23-Дек-11, 14:45 
Нет, зря я с вами распрощался. С вами весело ;)

> 16 знаков после запятой на 10 в 308 (!!!) степени по твоему стало дробным числом.

Вы не поверите, но число с 16 знаками после запятой - всегда дробное число! ;)

> Степени изучают в 6 (?) классе

Десятичные дроби изучают в начальной школе, если не ошибаюсь? ;)

> И число 500000000000000000000 вы в double не запихнёте, оно будет преобразовано к 5е20 в момент записи.

Да-да. Именно в момент записи! :D

>Хочешь, не хочешь, С/С++ опирается на проц, и даже операции i++ введены для точного отражения "inc al". Конкретно double хранятся и вычисляются в регистрах FPU/MMX (это одни и те же регистры). Раньше MMX был 8-байтным, сейчас он уже 16-байтный. Не факт что размер double не изменился. Но это к начальному вопросу, с которого началось наше с вами общения учителя и школоты.

Кто бы мог подумать!.. :D

Ответить | Правка | Наверх | Cообщить модератору

123. "Опубликован новый международный стандарт для языка Си (C1X/C..."  +/
Сообщение от Ваня (?), 23-Дек-11, 14:52 
>> 16 знаков после запятой на 10 в 308 (!!!) степени по твоему стало дробным числом.
> Вы не поверите, но число с 16 знаками после запятой - всегда
> дробное число! ;)

...

>> И число 500000000000000000000 вы в double не запихнёте, оно будет преобразовано к 5е20 в момент записи.
> Да-да. Именно в момент записи! :D

Именно в момент записи.

mem64 dq 500000000000000000000

movq mm0,[mem64]
; mm0 = 5e20

Ответить | Правка | Наверх | Cообщить модератору

127. "Опубликован новый международный стандарт для языка Си (C1X/C..."  +2 +/
Сообщение от dq0s4y71 (??), 23-Дек-11, 15:19 
Ну да, так оно и происходит! В mem64 оно лежит в виде 500000000000000000000, а в mm0 оно - именно в момент записи! - преобразуется в 5e20! :))))))))))

Совет: с 10-ичными дробями разберитесь :)

Ответить | Правка | Наверх | Cообщить модератору

193. "Опубликован новый международный стандарт для языка Си (C1X/C..."  +/
Сообщение от Аноним (-), 23-Дек-11, 20:13 
> Ну да, так оно и происходит! В mem64 оно лежит в виде 500000000000000000000, а в mm0 оно - именно в момент записи! - преобразуется в 5e20! :))))))))))


Python 3.2.2 (default, Nov 21 2011, 16:50:59)
[GCC 4.6.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> x = 500000000000000000000
>>> x

500000000000000000000
>>> type(x)

<class 'int'>
>>> import math
>>> math.log(x,2)

68.7604899926346


Не поместится 500000000000000000000 как целое число в 64 бита. Нужно хотя бы 69.
Ответить | Правка | Наверх | Cообщить модератору

195. "Опубликован новый международный стандарт для языка Си..."  +/
Сообщение от arisu (ok), 23-Дек-11, 20:16 
это же ванюша, ему некогда разбираться. он и так-то ерунду писать не успевает, куда уж тут… зато он пишет ерунду на абсолютно любую тему. стабильность.
Ответить | Правка | К родителю #127 | Наверх | Cообщить модератору

202. "Опубликован новый международный стандарт для языка Си..."  +2 +/
Сообщение от Аноним (-), 23-Дек-11, 21:40 
> стабильность.

А, так вот что он под стабильностью винды имел в виду...

Ответить | Правка | Наверх | Cообщить модератору

192. "Опубликован новый международный стандарт для языка Си (C1X/C..."  +/
Сообщение от Anonymouse (?), 23-Дек-11, 20:12 
МОМЕНТ ИСТИНЫ!

> Именно в момент записи.
> mem64 dq 500000000000000000000
> movq mm0,[mem64]
> ; mm0 = 5e20

Вы знаете что у современных программеров из России репутация ниже бангалорских индо-быдло кодеров? Вон в верху ответ - почему.

Ответить | Правка | К родителю #123 | Наверх | Cообщить модератору

200. "Опубликован новый международный стандарт для языка Си (C1X/C..."  +/
Сообщение от Аноним (-), 23-Дек-11, 21:14 
> Вы знаете что у современных программеров из России репутация ниже бангалорских индо-быдло
> кодеров? Вон в верху ответ - почему.

Благодаря таким вот иванам-дуракам.

Ответить | Правка | Наверх | Cообщить модератору

205. "Опубликован новый международный стандарт для языка Си (C1X/C..."  +/
Сообщение от pavlinux (ok), 23-Дек-11, 22:49 
>> Вы знаете что у современных программеров из России репутация ниже бангалорских индо-быдло
>> кодеров? Вон в верху ответ - почему.
> Благодаря таким вот иванам-дуракам.

Требую продолжения сказки!!!

Ответить | Правка | Наверх | Cообщить модератору

150. "Опубликован новый международный стандарт для языка Си (C1X/C..."  +/
Сообщение от Аноним (-), 23-Дек-11, 16:14 
> В коде указано "unsigned int var". Внимание, вопрос: какое максимальное значение можно
> записать в var?

Ответ: так пишут только му...ки и долб...бы. Нормальные люди пишут примерно так: uint32_t something. И при этом заведомо знают сколько вешать в граммах.

Ответить | Правка | К родителю #63 | Наверх | Cообщить модератору

157. "Опубликован новый международный стандарт для языка Си (C1X/C..."  +/
Сообщение от Ваня (?), 23-Дек-11, 16:29 
Мир перешёл на 64-битное ПО одной макродирективой и перекомпиляцией кода, а у вы нет.
Ответить | Правка | Наверх | Cообщить модератору

201. "Опубликован новый международный стандарт для языка Си (C1X/C..."  +/
Сообщение от Аноним (-), 23-Дек-11, 21:24 
> Мир перешёл на 64-битное ПО одной макродирективой и перекомпиляцией кода, а у вы нет.

Особенно заметно как переходило abbyy. Они на хабре писали. Там такой типичный для виндузятников лютобешеный здец, от господ которые привыкли к win32@i386 и ничего иного себе приницпиально не мыслили. Они так и не смогли честно все пересобрать - сделали турбокостыли для вызова из 64-бит кода 32-битного.

А в указанном выше случае, uint32_t указан как раз в случае когда я хочу быть четко уверен что диапазон допустимых значений именно такой как мне был нужен и переменная имеет заведомо известный мне размер, что важно например при передаче по сети или сохранении на диск ("serialization/deserialization"). В случае int можно отхватить кучу багов если его размер не совпадет с желаемым, а то и скушать integer overflow vulnerability, чреватый, извините, возможонстью ремотного эксплойтирования, если это например протокольный код какой-то. Ну и кроссплатформенно слить его на диск, при том что оно может быть разного размера - уже головняк сплошной.

Ответить | Правка | Наверх | Cообщить модератору

39. "Опубликован новый международный стандарт для языка Си (C1X/C..."  +/
Сообщение от sluge (ok), 23-Дек-11, 08:47 
прикололо
??=define arraycheck(a, b) a??(b??) ??!??! b??(a??)
Ответить | Правка | Наверх | Cообщить модератору

152. "Опубликован новый международный стандарт для языка Си (C1X/C..."  +/
Сообщение от Аноним (-), 23-Дек-11, 16:21 
> прикололо
> ??=define arraycheck(a, b) a??(b??) ??!??! b??(a??)

#define TRUE FALSE // have a nice debugging session, bitches!

Ответить | Правка | Наверх | Cообщить модератору

291. "Опубликован новый международный стандарт для языка Си (C1X/C..."  +/
Сообщение от ВовкаОсиист (ok), 29-Мрт-13, 12:12 
>> TRUE
>> FALSE

гангнам-индус-стайл

Ответить | Правка | Наверх | Cообщить модератору

47. "Опубликован новый международный стандарт для языка Си (C1X/C..."  +/
Сообщение от Аноним (-), 23-Дек-11, 10:05 
Вижу, что большая часть вышеописанных изменений относится не к языку, а к стандартным библиотекам.
Ответить | Правка | Наверх | Cообщить модератору

62. "Опубликован новый международный стандарт для языка Си (C1X/C..."  +/
Сообщение от anonymous (??), 23-Дек-11, 11:06 
Где замыкания и функции как объекты первого класса?!
Ответить | Правка | Наверх | Cообщить модератору

75. "Опубликован новый международный стандарт для языка Си (C1X/C..."  +4 +/
Сообщение от Аноним (-), 23-Дек-11, 12:15 
> Где замыкания

В функциональный языках, где им и место.
> и функции как объекты первого класса?!


typedef  int (*void_function_t)();

Ответить | Правка | Наверх | Cообщить модератору

177. "Опубликован новый международный стандарт для языка Си (C1X/C..."  +/
Сообщение от naryl (ok), 23-Дек-11, 19:12 
С чего это замыканиям место в функциональных языках? Функции как объекты первого класса точно так же относятся к функциональным языкам, как и замыкания, но они, тем не менее, в C есть.

Ваш аргумент разбит, давайте новый.

Ответить | Правка | Наверх | Cообщить модератору

178. "Опубликован новый международный стандарт для языка Си..."  +/
Сообщение от arisu (ok), 23-Дек-11, 19:17 
> но они, тем не менее, в C есть.

нет. есть очень кривой полурабочий эмулятор с костылеуказателями. но ты, похоже, настолько «не в теме», что даже не знаешь, что такое first class citizen.

Ответить | Правка | Наверх | Cообщить модератору

196. "Опубликован новый международный стандарт для языка Си..."  –1 +/
Сообщение от Anonymouse (?), 23-Дек-11, 20:19 
> «не в теме», что даже не знаешь, что такое first class  citizen.

Это американец в гондурасе, да?

Ответить | Правка | Наверх | Cообщить модератору

171. "Опубликован новый международный стандарт для языка Си (C1X/C11)"  +3 +/
Сообщение от xxx (??), 23-Дек-11, 18:15 

Дааа, поглядел описание стандарта... Отзывы. Печаль, особенно много вопросов вызывает внедрение нитей, причем с API несовместимым posix.

В списках рассылки FreeBSD уже эпичный срач начался: http://lists.freebsd.org/pipermail/freebsd-arch/2011-Decembe...

"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..."

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

Для себя из всего стандарта пока только анонимные структуры и объединения отметил.

Ответить | Правка | Наверх | Cообщить модератору

172. "Опубликован новый международный стандарт для языка Си..."  +2 +/
Сообщение от arisu (ok), 23-Дек-11, 18:19 
> Для себя из всего стандарта пока только анонимные структуры и объединения отметил.

что, в принципе, gcc и так умеет столетвобед.

Ответить | Правка | Наверх | Cообщить модератору

180. "Опубликован новый международный стандарт для языка Си (C1X/C..."  +1 +/
Сообщение от Oleg (??), 23-Дек-11, 19:19 
Кто-нибудь может объяснить?
Зачем удалили функцию gets()?
Ответить | Правка | Наверх | Cообщить модератору

182. "Опубликован новый международный стандарт для языка Си..."  +1 +/
Сообщение от arisu (ok), 23-Дек-11, 19:25 
> Кто-нибудь может объяснить?
> Зачем удалили функцию gets()?

я могу. потому что это верный источник buffer overflow.

Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру