The OpenNET Project / Index page

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



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

"Возобновлено соревнование по написанию запутанного кода на языке Си"  +/
Сообщение от opennews (??), 02-Янв-25, 11:11 
После четырёхлетнего перерыва объявлено о возобновлении   конкурса IOCCC (International Obfuscated C Code Contest), нацеленного на написание наиболее запутанного и трудноразбираемого кода на языке Си. Мероприятие IOCCC28 станет сороковым в истории конкурса, проводимого с 1984 года. Работы будут приниматься c 31 января до 2 апреля 2025 года. В отличие от прошлых конкурсов, отныне в исходном коде разрешено использовать кодировку UTF-8...

Подробнее: https://www.opennet.ru/opennews/art.shtml?num=62503

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

Оглавление

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


1. "Возобновлено соревнование по написанию запутанного кода на я..."  +6 +/
Сообщение от Илья (??), 02-Янв-25, 11:11 
взять любой проект с автомаппером и меддиатром - и приз твой
Ответить | Правка | Наверх | Cообщить модератору

2. "Возобновлено соревнование по написанию запутанного кода на я..."  +10 +/
Сообщение от Аноним (2), 02-Янв-25, 11:14 
Как сделать подобное дома:
- берем среднюю актуальную программу.
- пытаемся читать.  

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

3. "Возобновлено соревнование по написанию запутанного кода на я..."  –9 +/
Сообщение от Омномнимус (?), 02-Янв-25, 11:24 
Я вот неделю уже ковыпяю программулину на C + QT и это просто какой-то ад! Ни один недочатбот не может понять, что там происходит, про себя я вообще молчу...
Ответить | Правка | Наверх | Cообщить модератору

5. "Возобновлено соревнование по написанию запутанного кода на я..."  –12 +/
Сообщение от Facemaker (?), 02-Янв-25, 11:52 
>Я вот неделю уже ковыпяю программулину на C + QT и это просто какой-то ад!

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

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

11. "Возобновлено соревнование по написанию запутанного кода на я..."  +/
Сообщение от Аноним (11), 02-Янв-25, 13:17 
при чём тут quicktime?
Ответить | Правка | Наверх | Cообщить модератору

16. "Возобновлено соревнование по написанию запутанного кода на я..."  +25 +/
Сообщение от Аноним (-), 02-Янв-25, 13:59 
> при чём тут quicktime?

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

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

27. "Возобновлено соревнование по написанию запутанного кода на я..."  –1 +/
Сообщение от 12yoexpert (ok), 02-Янв-25, 17:11 
ичсх quicktime поддерживается в qt
Ответить | Правка | Наверх | Cообщить модератору

143. "Возобновлено соревнование по написанию запутанного кода на я..."  +/
Сообщение от Аноним (143), 04-Янв-25, 19:56 
В прежних мажорных версиях - может быть, сейчас - вряд ли.
Ответить | Правка | Наверх | Cообщить модератору

37. "Возобновлено соревнование по написанию запутанного кода на я..."  +2 +/
Сообщение от Admino (ok), 02-Янв-25, 17:28 
Ты тоже считаешь, что автор первого коммента путает QT и Qt, C и C++?

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

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

47. "Возобновлено соревнование по написанию запутанного кода на я..."  +/
Сообщение от Facemaker (?), 02-Янв-25, 18:50 
>Мне кажется, у автора первого коммента будет ещё много очень, очень сложных программ в его жизни, в которых он никак не сможет разобраться.

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

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

48. "Возобновлено соревнование по написанию запутанного кода на я..."  +2 +/
Сообщение от Facemaker (?), 02-Янв-25, 18:53 
>Просто некоторые нудилы не могут пройти мимо и указать что у Qt вторая буква lowercased, а QT - это QuickTime.

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

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

54. "Возобновлено соревнование по написанию запутанного кода на я..."  +/
Сообщение от Аноним (54), 02-Янв-25, 19:24 
> Просто это набатный звоночек, если для программиста что Qt, что QT,

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

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

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

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

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


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

59. "Возобновлено соревнование по написанию запутанного кода на я..."  +/
Сообщение от Facemaker (?), 02-Янв-25, 19:55 
>А где учатся чваниться и писать банальщину с таким менторским тоном?

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

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

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

66. "Возобновлено соревнование по написанию запутанного кода на я..."  +/
Сообщение от Аноним (-), 02-Янв-25, 21:06 
> А ведь вы правы, мне аж стыдно стало :). Зря я докопался  до неряшливого написателя, да ещё в новогодние каникулы. Приношу свои извинения.

Спасибо!
Сейчас праздники, кто-то с похмелья, кто-то со смены ночной вернулся..
Будем добрее друг-к-другу и мир станет лучше)


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

73. "Возобновлено соревнование по написанию запутанного кода на я..."  +2 +/
Сообщение от Аноним (73), 03-Янв-25, 02:24 
> "если аргументов не осталось прикопайся к правописанию" (с)

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

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

21. "Возобновлено соревнование по написанию запутанного кода на я..."  +2 +/
Сообщение от eugener (ok), 02-Янв-25, 15:19 
википедия утверждает, что квиктайм написан на си.
Ответить | Правка | К родителю #5 | Наверх | Cообщить модератору

30. "Возобновлено соревнование по написанию запутанного кода на я..."  +/
Сообщение от Аноним (-), 02-Янв-25, 17:15 
Он про биндинги к QuickTime? А не про сам QuickTime.

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

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

80. "Возобновлено соревнование по написанию запутанного кода на я..."  –1 +/
Сообщение от 12yoexpert (ok), 03-Янв-25, 04:40 
> Qt - правильно читается как Кьют, а не Ку-Тэ, и не Кью-Тэ.

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

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

82. "Возобновлено соревнование по написанию запутанного кода на я..."  +/
Сообщение от hjk (?), 03-Янв-25, 04:53 
Когда написала? Я например об этом узнал в 2010-м...
Ответить | Правка | Наверх | Cообщить модератору

89. "Возобновлено соревнование по написанию запутанного кода на я..."  –1 +/
Сообщение от Аноним (-), 03-Янв-25, 08:29 
Я когда впервые увидел аббревитуру Qt, прочитал его правильно "Кьют", всё происходило на подсознательном уровне. Но потом наслышавшись тёмных соотечественников стал читать по разному и неправильно: "Ку-Тэ", "Кью-Тэ", "Кью-Ти".

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

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

29. "Возобновлено соревнование по написанию запутанного кода на я..."  +/
Сообщение от Аноним (29), 02-Янв-25, 17:13 
Я точно знаю что в данном конкурсе победят иксы так как их с тех пор понимать перестали.
Ответить | Правка | К родителю #3 | Наверх | Cообщить модератору

38. "Возобновлено соревнование по написанию запутанного кода на я..."  +2 +/
Сообщение от Q (??), 02-Янв-25, 17:33 
X-ы не пройдут из за размера исходных кодов
Ответить | Правка | Наверх | Cообщить модератору

63. "Возобновлено соревнование по написанию запутанного кода на я..."  +/
Сообщение от Аноним (63), 02-Янв-25, 20:48 
Да, жаль, но это хотя бы пример того, что явно используется. Я же не про оракловскую базу данных упомянул - там то вообще ад какой-то и непонятно как вообще работает.
Ответить | Правка | Наверх | Cообщить модератору

72. "Возобновлено соревнование по написанию запутанного кода на я..."  +/
Сообщение от Аноним (72), 03-Янв-25, 00:45 
Что тебе мешает перейти на язык 1с?

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

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

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

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

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

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


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

90. "Возобновлено соревнование по написанию запутанного кода на я..."  +1 +/
Сообщение от Аноним (-), 03-Янв-25, 08:34 
Ужас! Зачем ты всё это выучил? Это болезнь.

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

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

135. "Возобновлено соревнование по написанию запутанного кода на я..."  +/
Сообщение от Аноним (135), 04-Янв-25, 01:50 
Когда-нибудь ты поймёшь, что си и гнутая муть - это семантически тот же 1с, но на английском))
Ответить | Правка | Наверх | Cообщить модератору

4. "Возобновлено соревнование по написанию запутанного кода на я..."  +14 +/
Сообщение от Швондик (?), 02-Янв-25, 11:50 
страшно, очень страшно такое читать - если бы мы понимали что это такое, мы не понимаем что это такое
Ответить | Правка | Наверх | Cообщить модератору

7. "Возобновлено соревнование по написанию запутанного кода на я..."  +/
Сообщение от Аноним (7), 02-Янв-25, 12:02 
Чего не придумают чтоб m4, yacc и lex не использоват
Ответить | Правка | Наверх | Cообщить модератору

10. "Возобновлено соревнование по написанию запутанного кода на я..."  +2 +/
Сообщение от Вася Пупкин (?), 02-Янв-25, 13:14 
https://sun9-27.userapi.com/impf/0dAeSn2XlAelcqxy_wXLpcx_J_a...

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

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

18. "Возобновлено соревнование по написанию запутанного кода на я..."  +/
Сообщение от Аноним (18), 02-Янв-25, 14:17 
Что доказать хотели? Что заcpaть любой код можно? Доказали. Можно.
Ответить | Правка | Наверх | Cообщить модератору

22. Скрыто модератором  +/
Сообщение от Аноним (-), 02-Янв-25, 15:23 
Ответить | Правка | Наверх | Cообщить модератору

45. "Возобновлено соревнование по написанию запутанного кода на я..."  +/
Сообщение от Аноним (45), 02-Янв-25, 18:12 
А ну ка такой же пример на Pyhton или Java?
Это мне напоминает людей дающих лезвие и говорящих, что ничего случиться не может.
Мы видим что эволюция сделала станки джилет и количество порезов существенно сократилось.
Заничт берем какой-нибудь (не самый лучший пример) скажем Golang и все проблемы решили.
Ответить | Правка | К родителю #18 | Наверх | Cообщить модератору

60. "Возобновлено соревнование по написанию запутанного кода на я..."  +/
Сообщение от Аноним (60), 02-Янв-25, 19:57 
Только ты упускаешь одну немаловажную деталь. Лезвием можно не только бриться. А твой станок как и голанг подходит только для бритья и ничего более.  
Ответить | Правка | Наверх | Cообщить модератору

65. "Возобновлено соревнование по написанию запутанного кода на я..."  +/
Сообщение от Аноним (65), 02-Янв-25, 21:04 
> Только ты упускаешь одну немаловажную деталь. Лезвием можно не только бриться.

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

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

112. "Возобновлено соревнование по написанию запутанного кода на я..."  +/
Сообщение от Аноним (60), 03-Янв-25, 14:39 
Ты не поверишь, но в этом мире есть гораздо больше задач кроме резанье колбасы.
Ответить | Правка | Наверх | Cообщить модератору

142. "Возобновлено соревнование по написанию запутанного кода на я..."  +/
Сообщение от Аноним (142), 04-Янв-25, 19:19 
И все эти задачи требуют… ммм… резать бритвой? Брится ножом? Чаще резаться при бритье? Развей мысль, если она была конечно.
Ответить | Правка | Наверх | Cообщить модератору

64. "Возобновлено соревнование по написанию запутанного кода на я..."  +1 +/
Сообщение от Аноним (65), 02-Янв-25, 20:57 
> А ну ка такой же пример на Pyhton или Java?


def letshavesomefun(_, __ = type({( )} ^ {( )})):  __ = type("""
                      .-=-.          .--.
          __        .'     '.       /  " )
  _     .'  '.     /   .-.   \     /  .-'\
( \   / .-.  \   /   /   \   \   /  /    ^
  \ `-` /   \  `-'   /     \   `-`  /
jgs`-.-`     '.____.'       `.____.'""", (__,),
{'_'
:__.__dict__[
[*(_ for _ in sorted(__
.__dict__) if '_' not in _)][:
:-1].pop()]})( {( )} ); yield [_
for _ in _ if _ not in __ and
not __._(_)]

print(*letshavesomefun("hello")


def    _                  (
       _         ,
       __  
       =       type      ((  
               {( )}      
                 ^
               {( )}      ))
)                          :
       __ =    type        (
""".o00(0)(0)0( *)-<    """
, (    __        ,         )
                 ,         {
      '_'                  :    
       __        .  
__dict__   [[   *         (
       _       for        
       _       in sorted   (
       __        .
__dict__ )    if        
      '_'      not    in  
       _  ) ][             {
(      __ )  }   >         {
                 *         (
       _  )  }             :        
                           :
                 ~         (
               not         (  
       _  )  )
            ][ not         (  
       _  ) ]]
}         ) (              {
(         )  }             )
       _  ;    yield       [
       _       for
       _       in
       _       if
       _       not    in
       __      and    not
       __      .
       _
(      _  )  ]

print(*_([3,1,2,5,1,0]))
print(*_("hello world"))


"Что сынку, помогли тебе твои принудительные отступы?"
Ответить | Правка | К родителю #45 | Наверх | Cообщить модератору

117. "Возобновлено соревнование по написанию запутанного кода на я..."  +/
Сообщение от Василий Пупов (?), 03-Янв-25, 15:24 
Примени форматтер, не страдай ерундой, потом поговорим
Ответить | Правка | Наверх | Cообщить модератору

127. "Возобновлено соревнование по написанию запутанного кода на я..."  +/
Сообщение от Аноним (65), 03-Янв-25, 21:57 
> Примени форматтер, не страдай ерундой, потом поговорим


% autopep8 -aaa letshavesomfefun2.py

def _(
    _,
    __=type((
        {()}
        ^
        {()}))
):
    __ = type(
        """.o00(0)(0)0( *)-<    """
        , (__,), {
            '_':
            __        .
            __dict__[[* (
                _ for
                _ in sorted(
                    __        .
                    __dict__) if
                '_' not in
                _)][{
                    (__)} > {
                    * (
                        _)}::
                    ~         (
                    not (
                        _))
                    ][not (
                        _)]]
        })({
            ()})
    _
    yield [
        _ for
        _ in
        _ if
        _ not in
        __ and not
        __      .
        _
        (_)]

print(*_([3, 1, 2, 5, 1, 0]))
print(*_("hello world"))


И как, лучше стало?

А нам точно есть о чем разговаривать?

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

70. "Возобновлено соревнование по написанию запутанного кода на я..."  +/
Сообщение от chdlb (?), 02-Янв-25, 23:36 
Пупкин давай пояснительную бригаду
Ответить | Правка | К родителю #10 | Наверх | Cообщить модератору

93. "Возобновлено соревнование по написанию запутанного кода на я..."  +/
Сообщение от Аноним (93), 03-Янв-25, 11:03 
А оно так будет работать? Case 1 не окажется внутри {, что приведет к тому, что компилятор пошлет нас куда подальше?
Ответить | Правка | К родителю #10 | Наверх | Cообщить модератору

98. "Возобновлено соревнование по написанию запутанного кода на я..."  +/
Сообщение от Аноним (-), 03-Янв-25, 12:59 
Можно почитать разбор тут 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....

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

111. "Возобновлено соревнование по написанию запутанного кода на я..."  +/
Сообщение от Пюре (?), 03-Янв-25, 14:30 
Эм, switch, оказывается, не очень честная конструкция в плане синтаксиса C, не подчиняется парности {}
Фактически, пример показывает, что switch() это набор if/goto перед основным кодом, а case X: собственно, выглядит почти как метка, и используется как метка для неявного goto. break кстати тоже goto.
Что не всегда ожидаемо после других языков, но отлично ожидаемо теми, кто знает ассемблер, и знает, зачем был сделан C.

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

115. "Возобновлено соревнование по написанию запутанного кода на я..."  –2 +/
Сообщение от Аноньимъ (ok), 03-Янв-25, 15:14 
>и знает, зачем был сделан C.

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

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

121. "Возобновлено соревнование по написанию запутанного кода на я..."  +/
Сообщение от Пюре (?), 03-Янв-25, 16:26 
О нет, это же <s>сарказмъ</s> <s>обоснованное мнение<s> <s>тупость ньюфага</s> хотя да, тупость, я сейчас сразу же переменю своё мнение (нет).

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

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

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

123. "Возобновлено соревнование по написанию запутанного кода на я..."  +1 +/
Сообщение от Аноним (-), 03-Янв-25, 17:24 
> Вы же явно можете достигнуть лучшего, начав с той же позиции, как и они, зная то же, что и они.

Ну давай, посмотрим какая у них была позиция.
Итак у нас на дворе 1972 год.
У нас уже есть и используются годами такие языки как Фортран, APL, Лисп, Simula.
За пару лет до появляется FORTH, Паскаль и Smalltalk (в тот же год).
Т.е у нас есть разнообразие подходов, от императивных до функциональных.

Итак появляется СИ и распространяется, благо он прост как тапок.
Стандарта нет. Научить ему можно даже камаку без мозгов.

В 83 году начинаются попытки стандартизации.
В это время у нас уже есть Пролог, Scheme, Ада (отличный пример как нужно разрабатывать ЯП). Даже С++ уже появился.

И наконец в 89 году, после многолетней болтовни и проедания бюджетов, коммитет в̶ы̶с̶р̶а̶..  родил "стандарт".
Наверное самый овняный из тех, которые можно было сделать.
Где сложение 2 чисел это уже UB. И этих UB хоть πоπой кушай.
Где один и тот же код дает разный результат в зависиммости от компилятора и даже его версии. Где ни один компилятор не реализует стандарт полностью...

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

И видно что они просто делали на отшибись?
И может они не такие уж гиганты.

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

132. "Возобновлено соревнование по написанию запутанного кода на я..."  +1 +/
Сообщение от Пюре (?), 03-Янв-25, 23:37 
А, вот, мне это нравится.
Стандарт на Pascal  - 1983 год (13 лет от появления)
Стандарт ALGOL как родоначальника большинства системных языков - 1984 год (~24 года от появления).
С - посчитайте сами. Лучше возьмите за базу K&R C то есть 1978 год.
Не стоит козырять стандартом. До стандарта доживают те, кому что то удалось.

>Где сложение 2 чисел это уже UB.

Так, а список компилируемых языков со статической типизацией, на то время, "которые уже используются годами", и таки нативно обрабатывают целочисленное переполнение, видимо пуст?
Или в _тех_ языках есть какой то механизм (для программиста) проверки переполнения?
Особенно подходящих для системного программирования?

В современных то - Rust "Integer operators will panic when they overflow when compiled in debug mode." Ой, а в release mode что, overflow не бывает? О, нужно, чтобы программист сам проверял, да? Ну то есть как и везде. Особенно в ядре, да :)

И как то, если уж  кое кто считает, что "C это такой макроассемеблер" (нет), то в ассемблере вообще нет никакой типизации. И проверку переполнения можно делать.

Я согласен, плохо, что факт переполнения спрятали. Но другого почему в системных языках то почти нет.

Что касается Ada, то да, язык хорош. И родился сразу стандартом, DOD поспособстовал. Но что мне кажется, что ломать системный язык (С, на который к тому времени уже было переписано несколько вариантов Unix) с целью добиться чего то большего (концепции, утверждённые в стандарте Ada), ну так себе идея.
Ну и, опять же ОС на Ada не мировые лидеры. ХЗ, может сложность языка всё же имеет значение.

>И видно что они просто делали на отшибись?
>И может они не такие уж гиганты.

Да? Вы уже повторили их дела? На их оборудовании? И с их ограничениями? На всех этих UNIVAC и PDP и VAX?
Или перестали пользоваться всем, что появилось благодаря их работе?
Только тогда, я щитаю, можно лить gov.no на все предыдущее.
Вы не прошли и шага в их обуви.

ЗЫ. Я не пытаюсь убедить этого анонима. Я пытаюсь предостеречь других от поспешных суждений.

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

126. "Возобновлено соревнование по написанию запутанного кода на я..."  +/
Сообщение от Аноньимъ (ok), 03-Янв-25, 21:43 
Потому что могу.
Не ищите слишком глубокого смысла. Вам повезло увидеть мой комментарий.
И ещё анонима выше, который что-то в вопросе понимает.
Ответить | Правка | К родителю #121 | Наверх | Cообщить модератору

119. "Возобновлено соревнование по написанию запутанного кода на я..."  +/
Сообщение от Аноним (119), 03-Янв-25, 16:05 
В компиляторах тех времен switch был просто набором условных goto на заданные case метки.

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

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

130. "Возобновлено соревнование по написанию запутанного кода на я..."  +1 +/
Сообщение от Аноним (130), 03-Янв-25, 23:02 
Красивый код не конпиляют, его ставят на полочку и исполняют нативно)
Ответить | Правка | К родителю #93 | Наверх | Cообщить модератору

23. "Возобновлено соревнование по написанию запутанного кода на я..."  –2 +/
Сообщение от Данные в так называемом поле Name (?), 02-Янв-25, 16:17 
Думаю с пришествием негросетей подобные соревнования канут в лету. Как и кодгольф, например.
Ответить | Правка | Наверх | Cообщить модератору

39. "Возобновлено соревнование по написанию запутанного кода на я..."  +1 +/
Сообщение от Аноним (39), 02-Янв-25, 17:34 
Очень сомневаюсь что нейросетям когда либо станет доступно то искусство, которое творят люди, увлекающиеся кодгольфом
Банально даже врятли сетки способны написать оптимизированный с код, чтобы генерировались симд инструкции, отсортированные по времени выполнения, чтобы все это правильно работало с кэшэм и памятью
Ответить | Правка | Наверх | Cообщить модератору

51. "Возобновлено соревнование по написанию запутанного кода на я..."  +/
Сообщение от Аноним (51), 02-Янв-25, 19:09 
«А вы можете?» ©
Ответить | Правка | Наверх | Cообщить модератору

78. "Возобновлено соревнование по написанию запутанного кода на я..."  +/
Сообщение от Аноним (63), 03-Янв-25, 04:24 
А зачем Си код нейросетям? Пусть сразу на ассемлере пишут. Си сделан для людей чтобы меньше писать, но код оптимизирует уже транслятор с компилятором. Для ассемблера это ненужно и он выдает тот код что был написан без его интерпретации.
Ответить | Правка | К родителю #39 | Наверх | Cообщить модератору

104. "Возобновлено соревнование по написанию запутанного кода на я..."  +/
Сообщение от Аноним (104), 03-Янв-25, 13:50 
Ну, формально, все языки для людей придумывают
Но реальность такова, что люди не могут/не хотят писать код, вот многие и хотят сбагрить сеткам и эту работу, по той же самой причине - писать меньше/вообще не писать
Уже есть же вполне себе codeless, или как там оно называется, даже видел "айти курсы" по этому делу, типа за день научат как мышкой написать сервис
Ответить | Правка | Наверх | Cообщить модератору

68. "Возобновлено соревнование по написанию запутанного кода на я..."  –1 +/
Сообщение от Аноним (68), 02-Янв-25, 21:23 
Кодгольф нынче не канул в лету, он порвался вклочья под натиском специализированных языков.

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

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

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

128. "Возобновлено соревнование по написанию запутанного кода на я..."  +/
Сообщение от Аноним (128), 03-Янв-25, 22:47 
На специализированных языках гольфят очень странные люди. Обычно программист на языке foo, на языке foo же и соревнуются. Такие вот соревнования позволяют глубже изучить инструмент который используешь на работе и бонусом повеселиться.
Ответить | Правка | Наверх | Cообщить модератору

33. "Возобновлено соревнование по написанию запутанного кода на я..."  +/
Сообщение от 12yoexpert (ok), 02-Янв-25, 17:19 
просто кусок из официального учебника самого безопасного языка

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

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

35. "Возобновлено соревнование по написанию запутанного кода на я..."  +/
Сообщение от Аноним (35), 02-Янв-25, 17:24 
Это просто жениально!
Ответить | Правка | Наверх | Cообщить модератору

41. "Возобновлено соревнование по написанию запутанного кода на я..."  –2 +/
Сообщение от Аноним (142), 02-Янв-25, 17:51 
И что тут неясно? :-/
Ответить | Правка | К родителю #33 | Наверх | Cообщить модератору

42. "Возобновлено соревнование по написанию запутанного кода на я..."  –2 +/
Сообщение от Аноним (-), 02-Янв-25, 17:54 
И? Что не так?
Длинные слова тебя расстраивают?
Или непонятные значки не позволяют понять, что написано?
Ответить | Правка | К родителю #33 | Наверх | Cообщить модератору

53. "Возобновлено соревнование по написанию запутанного кода на я..."  –1 +/
Сообщение от Аноним (60), 02-Янв-25, 19:21 
Не зря Раст называют худшим языком в мире.
Ответить | Правка | К родителю #33 | Наверх | Cообщить модератору

55. "Возобновлено соревнование по написанию запутанного кода на я..."  –1 +/
Сообщение от Аноним (-), 02-Янв-25, 19:28 
> Не зря Раст называют худшим языком в мире.

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

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

58. "Возобновлено соревнование по написанию запутанного кода на я..."  +2 +/
Сообщение от Аноним (60), 02-Янв-25, 19:54 
Это толстые тролли и боты. Хорошему языку не нужны рейтинги чтобы быть хорошим.  Он просто хороший.
Ответить | Правка | Наверх | Cообщить модератору

57. Скрыто модератором  +/
Сообщение от Аноним (57), 02-Янв-25, 19:48 
Ответить | Правка | К родителю #33 | Наверх | Cообщить модератору

67. "Возобновлено соревнование по написанию запутанного кода на я..."  –2 +/
Сообщение от Аноним (67), 02-Янв-25, 21:17 
И что тут плохого? Что тут недоступно познанию сишников
Ответить | Правка | К родителю #33 | Наверх | Cообщить модератору

84. "Возобновлено соревнование по написанию запутанного кода на я..."  +/
Сообщение от Аноним (84), 03-Янв-25, 07:15 
Что именно тебя пугает?

Параметризация по типам (дженерики)? Это стандартная фича всех современных языков, как минимум что бы какой-нибудь List или Map знали, какого типа элементы внутри них содержаться. Ну там, List<String> - список строчек, Map<String, List<Integer>> - сопоставление ключ-значения, где ключ строка, значение список чисел.

Или тебя пугает match? Pattern matching - менее распостранённая фича, но довольно простая а понимании. Можно про неё думать, как про чуть более умный switch/case.

Я кажется начинаю догадываться, почему от раста и именно от раста вылезло на поверхность так много людей, у которых бомбит. Потому, что раст и только раст создал настоящую конкуренцию Си, все остальные современные языки - java, kotlin, scala, c# - это сборщики мусора и медленный, прожорливый код, они и не собирались заменять там, где требуется эффективность по ресурсам. Поэтому, вылезшие из спячки сишники в их сторону никогда и не смотрели. Поэтому, все эти «новые» фичи, которым уже по 20 лет - для них что-то запредельное.

Добро пожаловать в 2025 год, вы уже не в 1995-ом.

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

88. Скрыто модератором  +/
Сообщение от Аноним (-), 03-Янв-25, 08:23 
Ответить | Правка | Наверх | Cообщить модератору

101. Скрыто модератором  –1 +/
Сообщение от Аноним (-), 03-Янв-25, 13:29 
Ответить | Правка | К родителю #84 | Наверх | Cообщить модератору

116. "Возобновлено соревнование по написанию запутанного кода на я..."  +/
Сообщение от Аноньимъ (ok), 03-Янв-25, 15:15 
Напишите тоже самое на сишке)
Ответить | Правка | К родителю #33 | Наверх | Cообщить модератору

118. Скрыто модератором  +/
Сообщение от Аноним (67), 03-Янв-25, 15:42 
Ответить | Правка | Наверх | Cообщить модератору

137. "Возобновлено соревнование по написанию запутанного кода на я..."  +/
Сообщение от 12yoexpert (ok), 04-Янв-25, 07:58 
> нет сопоставления с образцом

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

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

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

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

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

141. "Возобновлено соревнование по написанию запутанного кода на я..."  +/
Сообщение от Аноньимъ (ok), 04-Янв-25, 18:21 
> от создателей системного лотка, ***ть. господи, выучи терминологию, а потом суйся на
> технические сайты

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

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

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

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

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

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

36. "Возобновлено соревнование по написанию запутанного кода на я..."  +/
Сообщение от Аноним (-), 02-Янв-25, 17:26 
>В отличие от прошлых конкурсов, отныне в исходном коде разрешено использовать кодировку UTF-8.

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

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

44. "Возобновлено соревнование по написанию запутанного кода на я..."  +/
Сообщение от Аноним (18), 02-Янв-25, 18:05 
UTF-8 в исходниках (даже в комментариях)  - бpeд. По тyпocти это как официальный совет офтопика - для каждой локальной версии создавать отдельное приложение.
Ответить | Правка | Наверх | Cообщить модератору

52. "Возобновлено соревнование по написанию запутанного кода на я..."  +/
Сообщение от Аноним (51), 02-Янв-25, 19:12 
И в чём бред? На старой EGA-карте в текстовом режиме не отобразится?
Ответить | Правка | Наверх | Cообщить модератору

77. "Возобновлено соревнование по написанию запутанного кода на я..."  +/
Сообщение от Аноньимъ (ok), 03-Янв-25, 04:20 
Ну да.
А писать лямбда и набла в переменных это не бред
Ответить | Правка | К родителю #44 | Наверх | Cообщить модератору

146. "Возобновлено соревнование по написанию запутанного кода на я..."  +/
Сообщение от Аноним (143), 04-Янв-25, 20:07 
А если printf должна что-либо на консоль вывести на национальном языке, транслит - ваше фсё?
Ответить | Правка | К родителю #44 | Наверх | Cообщить модератору

62. "Возобновлено соревнование по написанию запутанного кода на я..."  +/
Сообщение от Аноним (62), 02-Янв-25, 20:47 
Даёшь идентификаторы на кириллице! А лучше вперемешку с латиницей, и приправить арабской вязью.
Ответить | Правка | К родителю #36 | Наверх | Cообщить модератору

71. "Возобновлено соревнование по написанию запутанного кода на я..."  +1 +/
Сообщение от Аноним (72), 03-Янв-25, 00:42 
Ты что, на 1с никогда не программировал?
Ответить | Правка | Наверх | Cообщить модератору

106. "Возобновлено соревнование по написанию запутанного кода на я..."  +/
Сообщение от Аноним (62), 03-Янв-25, 14:02 
Нет. У меня нет проблем с кириллицей, но мешанина из кириллицы и латиницы — это ужасно, учитывая, что есть одинаковые на вид символы.
Ответить | Правка | Наверх | Cообщить модератору

87. "Возобновлено соревнование по написанию запутанного кода на я..."  +1 +/
Сообщение от Аноним (-), 03-Янв-25, 08:19 
Ты путаешь причину и следствие. В чистом Си, Юникод  разрешили разрешили потому, что он является приемлемым мировым Стандартом. Никто в здравом уме не будет в исходники серить кириллицей или арабской вязью. Есть в конце концов правила написания исходного кода, от сообществ GNU, BSD, ядра; K&R и т.д.

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

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

91. "Возобновлено соревнование по написанию запутанного кода на я..."  –1 +/
Сообщение от Аноним (18), 03-Янв-25, 10:09 
> Ядре Линукса тоже на UTF-8, и чо?!

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

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

94. "Возобновлено соревнование по написанию запутанного кода на я..."  –1 +/
Сообщение от Аноним (-), 03-Янв-25, 11:55 
>Разве всё ядро Linux не на финском языке написано?

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

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

105. "Возобновлено соревнование по написанию запутанного кода на я..."  –1 +/
Сообщение от Аноним (104), 03-Янв-25, 13:55 
Жаль когда Линус ядро писал, никто не подсказал ему сначала сделать свой форк Си и назвать его Фи(где писать надо на Финском)
Ответить | Правка | К родителю #91 | Наверх | Cообщить модератору

113. "Возобновлено соревнование по написанию запутанного кода на я..."  +/
Сообщение от Аноним (60), 03-Янв-25, 14:40 
Лучше бы ему подсказали ничего не писать.
Ответить | Правка | Наверх | Cообщить модератору

114. "Возобновлено соревнование по написанию запутанного кода на я..."  +/
Сообщение от Аноним (-), 03-Янв-25, 14:40 
> Жаль когда Линус ядро писал, никто не подсказал ему сначала сделать свой форк Си и назвать его Фи(где писать надо на Финском)

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


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

144. "Возобновлено соревнование по написанию запутанного кода на я..."  +/
Сообщение от Аноним (143), 04-Янв-25, 20:01 
А как же ядро Шлангом собирают некоторые дистры?
А на корпоратов что, вруг, бочку катишь? Ты же их любишь.
Ответить | Правка | Наверх | Cообщить модератору

107. "Возобновлено соревнование по написанию запутанного кода на я..."  +/
Сообщение от Аноним (62), 03-Янв-25, 14:04 
Согласен, тупанул. Откуда-то появилась мысль про не-ASCII идентификаторы.
Ответить | Правка | К родителю #87 | Наверх | Cообщить модератору

74. "Возобновлено соревнование по написанию запутанного кода на я..."  –2 +/
Сообщение от Аноним (74), 03-Янв-25, 03:43 
Любой код на Си (и Расте) - запутанный.
Ответить | Правка | Наверх | Cообщить модератору

145. "Возобновлено соревнование по написанию запутанного кода на я..."  +/
Сообщение от Аноним (143), 04-Янв-25, 20:03 
Да на Расте даже и специальных соревнований устраивать нет необходимости.
Ответить | Правка | Наверх | Cообщить модератору

95. "Возобновлено соревнование по написанию запутанного кода на я..."  +1 +/
Сообщение от Аноним (93), 03-Янв-25, 12:12 
Ну не знаю. Всегда считал, что чем больше знаков препинания, тем хуже язык читается. Не зря же Бейсик самый читаемый. Потому мне всегда нравился Паскаль, где все пишется "словами". Но недавно перешел на C/C++. И в принципе если нормально писать, то получается достаточно читаемый код. Есть конечно там свои плюсы и минусы. Язык конечно помощнее. Но недостатки тоже есть. Кривая типизация например. Очень бесит, когда две переменных одинакового типа вдруг оказываются неприсваиваемыми без объявления оператора. Бесит, массивы присваивать нельзя, а если обернуть их в структуру - то можно. Ллогика, ога. Или когда перечисления вдруг оказываются не перечисляемыми типами (простите за каламбур) и для них опять же не работают операции типа ++/-- без объявления операторов.
Ответить | Правка | Наверх | Cообщить модератору

96. "Возобновлено соревнование по написанию запутанного кода на я..."  +/
Сообщение от wd (?), 03-Янв-25, 12:41 
в перлигате еще меньше пунктуации, она самая читаемая, ну если не смотреть на всякие "Moo"
Ответить | Правка | Наверх | Cообщить модератору

97. "Возобновлено соревнование по написанию запутанного кода на я..."  +/
Сообщение от Аноним (97), 03-Янв-25, 12:46 
используй std::vector, Люк.

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

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

102. "Возобновлено соревнование по написанию запутанного кода на я..."  –2 +/
Сообщение от Аноним (-), 03-Янв-25, 13:46 
>Не зря же Бейсик самый читаемый. Потому мне всегда нравился Паскаль, где все пишется "словами". Но недавно перешел на C/C++.

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

>C/C++

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

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

109. "Возобновлено соревнование по написанию запутанного кода на я..."  +/
Сообщение от 12yoexpert (ok), 03-Янв-25, 14:12 
раст для тех, кто не понимает, что с++ это надстройка над си
Ответить | Правка | Наверх | Cообщить модератору

110. "Возобновлено соревнование по написанию запутанного кода на я..."  –1 +/
Сообщение от Аноним (-), 03-Янв-25, 14:23 
> раст для тех, кто не понимает, что с++ это надстройка над си

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

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

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

120. "Возобновлено соревнование по написанию запутанного кода на я..."  +/
Сообщение от Java (?), 03-Янв-25, 16:10 
ты хотел сказать : "код на java писать на kotlin"
Ответить | Правка | Наверх | Cообщить модератору

131. "Возобновлено соревнование по написанию запутанного кода на я..."  +/
Сообщение от dcc0 (ok), 03-Янв-25, 23:26 
Любой  код болше 100 строк, где  используются имена переменных и функций в виде букв ("математический стиль"), будет запутанным.
Я писал так.
Ответить | Правка | Наверх | Cообщить модератору

136. "Возобновлено соревнование по написанию запутанного кода на я..."  +/
Сообщение от Аноним (-), 04-Янв-25, 07:21 
Я тоже немного страдал этим, задрачивался на математический стиль. У Кормена в псевдокоде такое видел, думал так будет систематичнее и академичнее. Ошибался. Систематичо не означает однобуквенные идентификаторы. Такое трудно читать. Читабельность должна быть на самом первом месте.
Ответить | Правка | Наверх | Cообщить модератору

140. "Возобновлено соревнование по написанию запутанного кода на я..."  +/
Сообщение от dcc0 (ok), 04-Янв-25, 16:00 
> Я тоже немного страдал этим, задрачивался на математический стиль. У Кормена в
> псевдокоде такое видел, думал так будет систематичнее и академичнее. Ошибался. Систематичо
> не означает однобуквенные идентификаторы. Такое трудно читать. Читабельность должна быть
> на самом первом месте.

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

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

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

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

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

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

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




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

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