The OpenNET Project / Index page

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

Возобновлено соревнование по написанию запутанного кода на языке Си

02.01.2025 11:08

После четырёхлетнего перерыва объявлено о возобновлении конкурса IOCCC (International Obfuscated C Code Contest), нацеленного на написание наиболее запутанного и трудноразбираемого кода на языке Си. Мероприятие IOCCC28 станет 28 в истории конкурса, проводимого с 1984 года. Работы будут приниматься c 31 января до 2 апреля 2025 года. В отличие от прошлых конкурсов, отныне в исходном коде разрешено использовать кодировку UTF-8.

Участвующие в конкурсе работы, с одной стороны, должны препятствовать анализу кода и пониманию сути решаемой задачи, но, с другой стороны, код должен быть интересен и чем-то примечателен (работы могут быть необычно оформлены или выделять неожиданные стороны языка Си). Размер исходного кода программы не должен превышать 4096 байт, а программа должна собираться и выполнять осмысленное действие. Например, в прошлые годы создавались различные игры, эмулятор IBM PC, HTTP-сервер, система распознавания текста, движок трассировки лучей, генератор PDF.



  1. Главная ссылка к новости (https://fosstodon.org/@ioccc/1...)
  2. OpenNews: Названы победители 27 конкурса по написанию запутанного кода на языке Си
  3. OpenNews: Результаты 22 чемпионата по написанию запутанного кода на языке Си
  4. OpenNews: Опубликованы работы, победившие на 21 чемпионате по написанию запутанного кода на языке Си
  5. OpenNews: Опубликован код работ, победивших на соревновании по написанию самого запутанного кода на языке Си
  6. OpenNews: Соревнование по созданию невинно-выглядящего кода на языке Си
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/62503-ioccc
Ключевые слова: ioccc, gcc
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (102) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Илья (??), 11:11, 02/01/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +6 +/
    взять любой проект с автомаппером и меддиатром - и приз твой
     
  • 1.2, Аноним (2), 11:14, 02/01/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +10 +/
    Как сделать подобное дома:
    - берем среднюю актуальную программу.
    - пытаемся читать.  

     
  • 1.3, Омномнимус (?), 11:24, 02/01/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • –9 +/
    Я вот неделю уже ковыпяю программулину на C + QT и это просто какой-то ад! Ни один недочатбот не может понять, что там происходит, про себя я вообще молчу...
     
     
  • 2.5, Facemaker (?), 11:52, 02/01/2025 [^] [^^] [^^^] [ответить]  
  • –12 +/
    >Я вот неделю уже ковыпяю программулину на C + QT и это просто какой-то ад!

    На Си разве были биндинги к QuickTime? Я всегда полагал, что это чисто Objective-C приблуда...

     
     
  • 3.11, Аноним (11), 13:17, 02/01/2025 [^] [^^] [^^^] [ответить]  
  • +/
    при чём тут quicktime?
     
     
  • 4.16, Аноним (-), 13:59, 02/01/2025 [^] [^^] [^^^] [ответить]  
  • +25 +/
    > при чём тут quicktime?

    Просто некоторые нудилы не могут пройти мимо и указать что у Qt вторая буква lowercased, а QT - это QuickTime. Потому что это ОЧЕНЬ ВАЖНО!!!!1111.

     
     
  • 5.27, 12yoexpert (ok), 17:11, 02/01/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    ичсх quicktime поддерживается в qt
     
     
  • 6.143, Аноним (143), 19:56, 04/01/2025 [^] [^^] [^^^] [ответить]  
  • +/
    В прежних мажорных версиях - может быть, сейчас - вряд ли.
     
  • 5.37, Admino (ok), 17:28, 02/01/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Ты тоже считаешь, что автор первого коммента путает QT и Qt, C и C++?

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

     
     
  • 6.47, Facemaker (?), 18:50, 02/01/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >Мне кажется, у автора первого коммента будет ещё много очень, очень сложных программ в его жизни, в которых он никак не сможет разобраться.

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

     
  • 5.48, Facemaker (?), 18:53, 02/01/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    >Просто некоторые нудилы не могут пройти мимо и указать что у Qt вторая буква lowercased, а QT - это QuickTime.

    Просто это набатный звоночек, если для программиста что Qt, что QT, что C, что C++ — одно и то же. Звоночек о том, что учиться нужно систематически, прежде чем пытаться "работать".

     
     
  • 6.54, Аноним (54), 19:24, 02/01/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Просто это набатный звоночек, если для программиста что Qt, что QT,

    "если аргументов не осталось прикопайся к правописанию" (с)

    > что C, что C++ — одно и то же.

    Чисто технически - да, прям как в теореме г-на Эскобара - две ʼальтернативыʼ степень качества которых очень похожа.
    Ну.. может плюсы слегка получше будут, но не существенно.

    > Звоночек о том, что учиться нужно систематически, прежде чем пытаться "работать".

    А где учатся чваниться и писать банальщину с таким менторским тоном?
    Это специальные курсы какие-то?


     
     
  • 7.59, Facemaker (?), 19:55, 02/01/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >А где учатся чваниться и писать банальщину с таким менторским тоном?

    Это специальные курсы какие-то?

    А ведь вы правы, мне аж стыдно стало :). Зря я докопался до неряшливого написателя, да ещё в новогодние каникулы. Приношу свои извинения.

     
     
  • 8.66, Аноним (-), 21:06, 02/01/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Спасибо Сейчас праздники, кто-то с похмелья, кто-то со смены ночной вернулся ... текст свёрнут, показать
     
  • 7.73, Аноним (73), 02:24, 03/01/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > "если аргументов не осталось прикопайся к правописанию" (с)

    Не обращай внимания на регистр, матери компилятор, будь мужиком!

     
  • 3.21, eugener (ok), 15:19, 02/01/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    википедия утверждает, что квиктайм написан на си.
     
     
  • 4.30, Аноним (-), 17:15, 02/01/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Он про биндинги к QuickTime? А не про сам QuickTime.

    P.S.
    Qt - правильно читается как Кьют, а не Ку-Тэ, и не Кью-Тэ.

     
     
  • 5.80, 12yoexpert (ok), 04:40, 03/01/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Qt - правильно читается как Кьют, а не Ку-Тэ, и не Кью-Тэ.

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

     
     
  • 6.82, hjk (?), 04:53, 03/01/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Когда написала? Я например об этом узнал в 2010-м...
     
  • 6.89, Аноним (-), 08:29, 03/01/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Я когда впервые увидел аббревитуру Qt, прочитал его правильно "Кьют", всё происходило на подсознательном уровне. Но потом наслышавшись тёмных соотечественников стал читать по разному и неправильно: "Ку-Тэ", "Кью-Тэ", "Кью-Ти".

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

     
  • 2.29, Аноним (29), 17:13, 02/01/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Я точно знаю что в данном конкурсе победят иксы так как их с тех пор понимать перестали.
     
     
  • 3.38, Q (??), 17:33, 02/01/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    X-ы не пройдут из за размера исходных кодов
     
     
  • 4.63, Аноним (63), 20:48, 02/01/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Да, жаль, но это хотя бы пример того, что явно используется. Я же не про оракловскую базу данных упомянул - там то вообще ад какой-то и непонятно как вообще работает.
     
  • 2.72, Аноним (72), 00:45, 03/01/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Что тебе мешает перейти на язык 1с?



    СледующийДень = ТекущаяДата() + 60 * 60 * 24;

    ДобавитьМесяц(Дата(2005, 1, 31), 1)
    ДобавитьМесяц(Дата(2005, 2, 28), -1)
    КонецМесяца(ДобавитьМесяц(Дата(2005, 2, 28), -1))

    ФункцияПолучитьДень(ИсходнаяДата, КоличествоПрибавляемыхДней)

    Запрос = НовыйЗапрос("
    |ВЫБРАТЬ
    | ДОБАВИТЬКДАТЕ(&ИсходнаяДата, ДЕНЬ, &Количество) как Дата";

    Запрос.УстановитьПараметр("ИсходнаяДата", ИсходнаяДата);
    Запрос.УстановитьПараметр("Количество", КоличествоПрибавляемыхДней);

    ВозвратЗапрос.Выполнить().Выгрузить()[0].Дата;



     
     
  • 3.90, Аноним (-), 08:34, 03/01/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ужас! Зачем ты всё это выучил? Это болезнь.

    В качестве таблетки для излечения я тебе прописываю: Си, GNU bash, GNU sed, GNU awk, сойдут и клоны из состава BSD-утилит. Из ядерного терминала не вылезай.

     
     
  • 4.135, Аноним (135), 01:50, 04/01/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Когда-нибудь ты поймёшь, что си и гнутая муть - это семантически тот же 1с, но на английском))
     

  • 1.4, Швондик (?), 11:50, 02/01/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +14 +/
    страшно, очень страшно такое читать - если бы мы понимали что это такое, мы не понимаем что это такое
     
  • 1.7, Аноним (7), 12:02, 02/01/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Чего не придумают чтоб m4, yacc и lex не использоват
     
  • 1.10, Вася Пупкин (?), 13:14, 02/01/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    https://sun9-27.userapi.com/impf/0dAeSn2XlAelcqxy_wXLpcx_J_auYcLhue3G7Q/nA-Aw3

    зачем. лучше этого кода уже не будет

     
     
  • 2.18, Аноним (18), 14:17, 02/01/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Что доказать хотели? Что заcpaть любой код можно? Доказали. Можно.
     
     
  • 3.22, Аноним (-), 15:23, 02/01/2025 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 3.45, Аноним (45), 18:12, 02/01/2025 [^] [^^] [^^^] [ответить]  
  • +/
    А ну ка такой же пример на Pyhton или Java?
    Это мне напоминает людей дающих лезвие и говорящих, что ничего случиться не может.
    Мы видим что эволюция сделала станки джилет и количество порезов существенно сократилось.
    Заничт берем какой-нибудь (не самый лучший пример) скажем Golang и все проблемы решили.
     
     
  • 4.60, Аноним (60), 19:57, 02/01/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Только ты упускаешь одну немаловажную деталь. Лезвием можно не только бриться. А твой станок как и голанг подходит только для бритья и ничего более.  
     
     
  • 5.65, Аноним (65), 21:04, 02/01/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Только ты упускаешь одну немаловажную деталь. Лезвием можно не только бриться.

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

     
     
  • 6.112, Аноним (60), 14:39, 03/01/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Ты не поверишь, но в этом мире есть гораздо больше задач кроме резанье колбасы.
     
     
  • 7.142, Аноним (142), 19:19, 04/01/2025 [^] [^^] [^^^] [ответить]  
  • +/
    И все эти задачи требуют… ммм… резать бритвой? Брится ножом? Чаще резаться при бритье? Развей мысль, если она была конечно.
     
  • 4.64, Аноним (65), 20:57, 02/01/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    CODE def letshavesomefun _, __ type __ type ... большой текст свёрнут, показать
     
     
  • 5.117, Василий Пупов (?), 15:24, 03/01/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Примени форматтер, не страдай ерундой, потом поговорим
     
     
  • 6.127, Аноним (65), 21:57, 03/01/2025 [^] [^^] [^^^] [ответить]  
  • +/
    CODE autopep8 -aaa letshavesomfefun2 py def _ _, __ type ... большой текст свёрнут, показать
     
  • 2.70, chdlb (?), 23:36, 02/01/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Пупкин давай пояснительную бригаду
     
  • 2.93, Аноним (93), 11:03, 03/01/2025 [^] [^^] [^^^] [ответить]  
  • +/
    А оно так будет работать? Case 1 не окажется внутри {, что приведет к тому, что компилятор пошлет нас куда подальше?
     
     
  • 3.98, Аноним (-), 12:59, 03/01/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Можно почитать разбор тут pigeonsnest.co.uk/stuff/pigeons-device.html
    Собственно откуда анон и взял скриншот.
    Что без ссылки слегка свинство.

    Это хак, в какой-то мере восхищенный методом Даффа.
    Костыльный хак из 80х, которые в свое время вызвал нехилый батхерт у небезызвестного Тцо - когда эту "оптимизацию" выпилили из ХОрга - то стало только лучше)
    "In fact, by eliminating all instances of Duff's Device from
    the XFree86 4.0 server, the server shrunk in size by _half_ _a_
    _megabyte_ (!!!), and was faster to boot" [1]

    [1] https://lkml.indiana.edu/hypermail/linux/kernel/0008.2/0171.html

     
  • 3.111, Пюре (?), 14:30, 03/01/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Эм, switch, оказывается, не очень честная конструкция в плане синтаксиса C, не подчиняется парности {}
    Фактически, пример показывает, что switch() это набор if/goto перед основным кодом, а case X: собственно, выглядит почти как метка, и используется как метка для неявного goto. break кстати тоже goto.
    Что не всегда ожидаемо после других языков, но отлично ожидаемо теми, кто знает ассемблер, и знает, зачем был сделан C.

     
     
  • 4.115, Аноньимъ (ok), 15:14, 03/01/2025 [^] [^^] [^^^] [ответить]  
  • –2 +/
    >и знает, зачем был сделан C.

    Саботаж индустрии?

     
     
  • 5.121, Пюре (?), 16:26, 03/01/2025 [^] [^^] [^^^] [ответить]  
  • +/
    О нет, это же <s>сарказмъ</s> <s>обоснованное мнение<s> <s>тупость ньюфага</s> хотя да, тупость, я сейчас сразу же переменю своё мнение (нет).

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

    Наверное потому, что стоя на плечах гигантов, луче видно, да?

     
     
  • 6.123, Аноним (-), 17:24, 03/01/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ну давай, посмотрим какая у них была позиция Итак у нас на дворе 1972 год У на... большой текст свёрнут, показать
     
     
  • 7.132, Пюре (?), 23:37, 03/01/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    А, вот, мне это нравится Стандарт на Pascal - 1983 год 13 лет от появления С... большой текст свёрнут, показать
     
  • 6.126, Аноньимъ (ok), 21:43, 03/01/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Потому что могу.
    Не ищите слишком глубокого смысла. Вам повезло увидеть мой комментарий.
    И ещё анонима выше, который что-то в вопросе понимает.
     
  • 3.119, Аноним (119), 16:05, 03/01/2025 [^] [^^] [^^^] [ответить]  
  • +/
    В компиляторах тех времен switch был просто набором условных goto на заданные case метки.

    Нынешние, вероятно, будут ругаться как минимум warning-ами.

     
  • 3.130, Аноним (130), 23:02, 03/01/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Красивый код не конпиляют, его ставят на полочку и исполняют нативно)
     

  • 1.23, Данные в так называемом поле Name (?), 16:17, 02/01/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    Думаю с пришествием негросетей подобные соревнования канут в лету. Как и кодгольф, например.
     
     
  • 2.39, Аноним (39), 17:34, 02/01/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Очень сомневаюсь что нейросетям когда либо станет доступно то искусство, которое творят люди, увлекающиеся кодгольфом
    Банально даже врятли сетки способны написать оптимизированный с код, чтобы генерировались симд инструкции, отсортированные по времени выполнения, чтобы все это правильно работало с кэшэм и памятью
     
     
  • 3.51, Аноним (51), 19:09, 02/01/2025 [^] [^^] [^^^] [ответить]  
  • +/
    «А вы можете?» ©
     
  • 3.78, Аноним (63), 04:24, 03/01/2025 [^] [^^] [^^^] [ответить]  
  • +/
    А зачем Си код нейросетям? Пусть сразу на ассемлере пишут. Си сделан для людей чтобы меньше писать, но код оптимизирует уже транслятор с компилятором. Для ассемблера это ненужно и он выдает тот код что был написан без его интерпретации.
     
     
  • 4.104, Аноним (104), 13:50, 03/01/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Ну, формально, все языки для людей придумывают
    Но реальность такова, что люди не могут/не хотят писать код, вот многие и хотят сбагрить сеткам и эту работу, по той же самой причине - писать меньше/вообще не писать
    Уже есть же вполне себе codeless, или как там оно называется, даже видел "айти курсы" по этому делу, типа за день научат как мышкой написать сервис
     
  • 2.68, Аноним (68), 21:23, 02/01/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Кодгольф нынче не канул в лету, он порвался вклочья под натиском специализированных языков.

    Зайдите на codegolf.stackexchange.com, поглядите, как это нынче выглядит.

    Ну или https://esolangs.org/wiki/Category:Golfing_language — чтоб уж окончательно ужаснуться.

     
     
  • 3.128, Аноним (128), 22:47, 03/01/2025 [^] [^^] [^^^] [ответить]  
  • +/
    На специализированных языках гольфят очень странные люди. Обычно программист на языке foo, на языке foo же и соревнуются. Такие вот соревнования позволяют глубже изучить инструмент который используешь на работе и бонусом повеселиться.
     

  • 1.33, 12yoexpert (ok), 17:19, 02/01/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    просто кусок из официального учебника самого безопасного языка

    impl List {
        fn tail(&self) -> Option<&RefCell<Rc<List>>> {
            match self {
                Cons(_, item) => Some(item),
                Nil => None,
            }
        }
    }

     
     
  • 2.35, Аноним (35), 17:24, 02/01/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Это просто жениально!
     
  • 2.41, Аноним (142), 17:51, 02/01/2025 [^] [^^] [^^^] [ответить]  
  • –2 +/
    И что тут неясно? :-/
     
  • 2.42, Аноним (-), 17:54, 02/01/2025 [^] [^^] [^^^] [ответить]  
  • –2 +/
    И? Что не так?
    Длинные слова тебя расстраивают?
    Или непонятные значки не позволяют понять, что написано?
     
  • 2.53, Аноним (60), 19:21, 02/01/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Не зря Раст называют худшим языком в мире.
     
     
  • 3.55, Аноним (-), 19:28, 02/01/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Не зря Раст называют худшим языком в мире.

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

     
     
  • 4.58, Аноним (60), 19:54, 02/01/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Это толстые тролли и боты. Хорошему языку не нужны рейтинги чтобы быть хорошим.  Он просто хороший.
     
  • 2.57, Аноним (57), 19:48, 02/01/2025 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 2.67, Аноним (67), 21:17, 02/01/2025 [^] [^^] [^^^] [ответить]  
  • –2 +/
    И что тут плохого? Что тут недоступно познанию сишников
     
  • 2.84, Аноним (84), 07:15, 03/01/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Что именно тебя пугает Параметризация по типам дженерики Это стандартная фич... большой текст свёрнут, показать
     
     
  • 3.88, Аноним (-), 08:23, 03/01/2025 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 3.101, Аноним (-), 13:29, 03/01/2025 Скрыто ботом-модератором     [к модератору]
  • –1 +/
     
  • 2.116, Аноньимъ (ok), 15:15, 03/01/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Напишите тоже самое на сишке)
     
     
  • 3.118, Аноним (67), 15:42, 03/01/2025 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 3.137, 12yoexpert (ok), 07:58, 04/01/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > нет сопоставления с образцом

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

    >  Напишите тоже самое на сишке)

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

    а спрашивать, как написать tail списка на сишке, - это даже не смешно

     
     
  • 4.141, Аноньимъ (ok), 18:21, 04/01/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > от создателей системного лотка, ***ть. господи, выучи терминологию, а потом суйся на
    > технические сайты

    Вы двум разным людям отвечаете одним комментарием. Всё в порядке?

    > в сишке придётся думать

    Сложно. Понимаю.

    > а спрашивать, как написать tail списка на сишке, - это даже не
    > смешно

    А вас же не это просят написать, а функционально повторить вот тот код на хрусте.

     

  • 1.36, Аноним (-), 17:26, 02/01/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    >В отличие от прошлых конкурсов, отныне в исходном коде разрешено использовать кодировку UTF-8.

    Не знал, что они были такими отсталыми.

     
     
  • 2.44, Аноним (18), 18:05, 02/01/2025 [^] [^^] [^^^] [ответить]  
  • +/
    UTF-8 в исходниках (даже в комментариях)  - бpeд. По тyпocти это как официальный совет офтопика - для каждой локальной версии создавать отдельное приложение.
     
     
  • 3.52, Аноним (51), 19:12, 02/01/2025 [^] [^^] [^^^] [ответить]  
  • +/
    И в чём бред? На старой EGA-карте в текстовом режиме не отобразится?
     
  • 3.77, Аноньимъ (ok), 04:20, 03/01/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Ну да.
    А писать лямбда и набла в переменных это не бред
     
  • 3.146, Аноним (143), 20:07, 04/01/2025 [^] [^^] [^^^] [ответить]  
  • +/
    А если printf должна что-либо на консоль вывести на национальном языке, транслит - ваше фсё?
     
  • 2.62, Аноним (62), 20:47, 02/01/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Даёшь идентификаторы на кириллице! А лучше вперемешку с латиницей, и приправить арабской вязью.
     
     
  • 3.71, Аноним (72), 00:42, 03/01/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ты что, на 1с никогда не программировал?
     
     
  • 4.106, Аноним (62), 14:02, 03/01/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Нет. У меня нет проблем с кириллицей, но мешанина из кириллицы и латиницы — это ужасно, учитывая, что есть одинаковые на вид символы.
     
  • 3.87, Аноним (-), 08:19, 03/01/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ты путаешь причину и следствие. В чистом Си, Юникод  разрешили разрешили потому, что он является приемлемым мировым Стандартом. Никто в здравом уме не будет в исходники серить кириллицей или арабской вязью. Есть в конце концов правила написания исходного кода, от сообществ GNU, BSD, ядра; K&R и т.д.

    Организаторы соревнования думают так же. Ядре Линукса тоже на UTF-8, и чо?! Кто-то по этому поводу ноет?

     
     
  • 4.91, Аноним (18), 10:09, 03/01/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Ядре Линукса тоже на UTF-8, и чо?!

    Разве всё ядро Linux не на финском языке написано?

     
     
  • 5.94, Аноним (-), 11:55, 03/01/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >Разве всё ядро Linux не на финском языке написано?

    То что ты перешёл на троллинг, свидетельсвует о том, что у тебя исчерпаны аргументы.

     
  • 5.105, Аноним (104), 13:55, 03/01/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Жаль когда Линус ядро писал, никто не подсказал ему сначала сделать свой форк Си и назвать его Фи(где писать надо на Финском)
     
     
  • 6.113, Аноним (60), 14:40, 03/01/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Лучше бы ему подсказали ничего не писать.
     
  • 6.114, Аноним (-), 14:40, 03/01/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Жаль когда Линус ядро писал, никто не подсказал ему сначала сделать свой форк Си и назвать его Фи(где писать надо на Финском)

    А разве GNUтые расширения гвоздями прибитые к ядру - это не "форк"?
    Типичное ЕЕЕ и вендорлок в стиле корпоратов.


     
     
  • 7.144, Аноним (143), 20:01, 04/01/2025 [^] [^^] [^^^] [ответить]  
  • +/
    А как же ядро Шлангом собирают некоторые дистры?
    А на корпоратов что, вруг, бочку катишь? Ты же их любишь.
     
  • 4.107, Аноним (62), 14:04, 03/01/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Согласен, тупанул. Откуда-то появилась мысль про не-ASCII идентификаторы.
     

  • 1.74, Аноним (74), 03:43, 03/01/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    Любой код на Си (и Расте) - запутанный.
     
     
  • 2.145, Аноним (143), 20:03, 04/01/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Да на Расте даже и специальных соревнований устраивать нет необходимости.
     

  • 1.95, Аноним (93), 12:12, 03/01/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Ну не знаю. Всегда считал, что чем больше знаков препинания, тем хуже язык читается. Не зря же Бейсик самый читаемый. Потому мне всегда нравился Паскаль, где все пишется "словами". Но недавно перешел на C/C++. И в принципе если нормально писать, то получается достаточно читаемый код. Есть конечно там свои плюсы и минусы. Язык конечно помощнее. Но недостатки тоже есть. Кривая типизация например. Очень бесит, когда две переменных одинакового типа вдруг оказываются неприсваиваемыми без объявления оператора. Бесит, массивы присваивать нельзя, а если обернуть их в структуру - то можно. Ллогика, ога. Или когда перечисления вдруг оказываются не перечисляемыми типами (простите за каламбур) и для них опять же не работают операции типа ++/-- без объявления операторов.
     
     
  • 2.96, wd (?), 12:41, 03/01/2025 [^] [^^] [^^^] [ответить]  
  • +/
    в перлигате еще меньше пунктуации, она самая читаемая, ну если не смотреть на всякие "Moo"
     
  • 2.97, Аноним (97), 12:46, 03/01/2025 [^] [^^] [^^^] [ответить]  
  • +/
    используй std::vector, Люк.

    а ++/-- для enum хорошо, что не добавляют. я не хочу каждый раз думать, это инкремент underlying типа или следующие существующее значение enum-a

     
  • 2.102, Аноним (-), 13:46, 03/01/2025 [^] [^^] [^^^] [ответить]  
  • –2 +/
    >Не зря же Бейсик самый читаемый. Потому мне всегда нравился Паскаль, где все пишется "словами". Но недавно перешел на C/C++.

    Дорогой ты мой человек, человечище! Где ты был всё это время, в НИИ, а может ты преподавал в универе? На Дельфи (Паскале) перестали писать ещё в конце нулевых. На Бейсике в последний раз писали в начале 1990-х гг, а VBA используют только в M$ Excel, и это уже не совесм тот Бейсик.

    >C/C++

    Бедняжка, ты ещё не можешь отличить чситый Си от плюсов? Для тебя это один язык, да? переходи на модные язык Python или Rust. Java уже не модная, хайп поднятый в 90-х и нулевых давно спал.

     
     
  • 3.109, 12yoexpert (ok), 14:12, 03/01/2025 [^] [^^] [^^^] [ответить]  
  • +/
    раст для тех, кто не понимает, что с++ это надстройка над си
     
     
  • 4.110, Аноним (-), 14:23, 03/01/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > раст для тех, кто не понимает, что с++ это надстройка над си

    Нет, как раз для тех - кто понимает.
    Что с++ построен на том же гнилом фундаменте из UB, что и СИ.
    И что в плюсах, несмотря на все улучшения, остаются те же типичные ошибки, что и в СИ.
    А добавление всяких smartPtr, MiraclePtr помогают только частично.

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

     
     
  • 5.120, Java (?), 16:10, 03/01/2025 [^] [^^] [^^^] [ответить]  
  • +/
    ты хотел сказать : "код на java писать на kotlin"
     

  • 1.131, dcc0 (ok), 23:26, 03/01/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Любой  код болше 100 строк, где  используются имена переменных и функций в виде букв ("математический стиль"), будет запутанным.
    Я писал так.
     
     
  • 2.136, Аноним (-), 07:21, 04/01/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Я тоже немного страдал этим, задрачивался на математический стиль. У Кормена в псевдокоде такое видел, думал так будет систематичнее и академичнее. Ошибался. Систематичо не означает однобуквенные идентификаторы. Такое трудно читать. Читабельность должна быть на самом первом месте.
     
     
  • 3.140, dcc0 (ok), 16:00, 04/01/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Я тоже немного страдал этим, задрачивался на математический стиль. У Кормена в
    > псевдокоде такое видел, думал так будет систематичнее и академичнее. Ошибался. Систематичо
    > не означает однобуквенные идентификаторы. Такое трудно читать. Читабельность должна быть
    > на самом первом месте.

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

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

    И ещё психологический момент: если сильно увлечься стилем, можно потерять фокус внимания на содержании.

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

     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



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

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