- 1
habrahabr.ru/post/321652
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
−30
habrahabr.ru/post/321652
Просто оставлю это здесь.
пусть в жопе почешутся
подзачерпнул, блядь
ну охуеть
Так что демон реестра вполне вписался бы в философию юникс - делал бы что-то одно, но хорошо :)
[sarcasm]Да охуеть не встать. Как же это я мог сам не догадаться, что на распарсивание всякой "%s %i" фигни должно тратиться куча тактов процессора?[/sarcasm]
Что надо делать этим printf-ом чтобы он стал bottleneck-ом? В цикле вызывать дохуилиард раз?
> Там, синтаксис типов плохой, препроцессор ужасен, легко выстрелить себе в ногу, всякие 4["string"], всякие sizeof ('a') != sizeof (char) (в C, не в C++!), всякие i++ + ++i, всякие while (*p++ = *q++) ;
А надо чтоб как в питоне, когда отступы это часть синтаксиса, и все (ну или почти все) пишут в PEP8, да? Всякие там питонодебилы отвыкли от свободы, и возможность писать нечитаемую парашу на языке воспринимают как недостаток языка. Ну хули уж там, давайте ножи запретим, ими можно порезаться или кого-то убить. Почему он там кстати не вскудахтнул, как плохо что в си есть указатели и можно вылезти за границы массива, это ж традиционные аргументы неосиляторов си?
Нахуй сходи, например. Посмотрел бы я на тебя, как ты эту парашу будешь заворачивать, чтобы она работала на Windows начиная с XP, macOS, всякие варианты линупсов под разные битности и архитектуры, FreeBSD и прочие BSD, и чтоб чисто было ничего не ломалось. А знаете какой геморрой кросскомпилировать какую-нибудь парашу под арм? Некоторое говно просто не может быть собрано кросскомпилем(потому что это говно в процессе работы генерирует бинарник и пытается его запустить, от чего закономерно обламывается), так что приходится ебстись с виртуалками... Но причем тут вообще UNIX?
Хуже для чего/кого?
> Но даже для своей ниши (скриптинг типичных задач по администрированию) он годится плохо.
[sarcasm]Ну да, cmd.exe и всякие там command.com куда лучше[/sarcasm]. Кстати, полно есть всяких альтернативных шеллов, даже на базе лиспа, CLASH называется
> И это не говоря уж о том, что критичные файлы UNIX (такие как /etc/passwd), который читаются при каждом (!) вызове, скажем, ls -l, записаны в виде простого текста. И эти файлы надо заново читать и заново парсить при каждом вызове ls -l!
При каких сценариях использования это будет bottleneck-ом?
> Как зайти на хост a@a, с него — на b@b, с него — на c@c, с него — на d@d, а с него удалить файл /foo? Ну, это легко:
А как бы вы это делали в винде или в другой %%OS_NAME%%?
>А между прочим, если бы вместо shell'а был Lisp
А если бы у бабушки был член...
> Вы только представьте! Вот допустим, нужно удалить все файлы в текущей папке с размером, большим 1 килобайта. Да, я знаю, что такое надо делать find'ом. Но давайте предположим, что это нужно сделать непременно ls'ом (и без xargs).
бхахаха. Там даже на хабре написали
Вот допустим, нужно забить гвоздь. Да, я знаю, что такое надо делать молотком. Но давайте предположим, что это нужно сделать непременно микроскопом...
То была бы она бабушкой с членом....
да, быт сишников полон боли и страданий. Нормальные то языки и кросскомпиляцию поддерживают и не пытаются всякое говно запускать.
Писать нечитаемую парашу и чувствовать себя свободным - это скорее хобби программиста. Тихий душевный вечер при свечах и параша в коде. Приятно.
Но когда дело касается работы, уж лучше использовать более строгие инструменты, чтобы как в шар в желобе скатываться от поставленной задачи к готовой программе и потом не копаться в море багов, а спокойно говнокодить для души.
Годный эпитет. Работаешь, деградируешь, и постепенно скатываешься в говно.
https://geektimes.ru/post/278410/
Так можно сделать хоть троичную логику, хоть гибрид ЦВМ с АВМ.
Какая ж там свобода... Даже асинхронную логику толком не запилишь...
А на вики целая гора этих асинхронных процов перечислена, хрен найдёшь, который из них мне тогда попался. Может я и гоню про новый тулчейн...
Вот тут вообще обошлись стандартным и констрейнтами запинали: http://www.ics.forth.gr/carv/async/demo/
Когда захотел написать царский HPC кластер, внезапно базирующийся на пирформансе вывода команды ls, но взял и приуныл.
Сколько там в его /etc/passwd строк? 50? 200? Какая БД ему организует более быстрый многопользовательский ACID доступ, с контролем прав, с открытием, закрытием соединения, чем тупо прочитать сраные 50 строк в сраном текстовом файле, который даже прокешируется при частом доступе?
какой-нибудь JSON или XML
Фу, как анскильно. Всё уже придумано до нас.
http://www.ibm.com/support/knowledgecenter/SS9H2Y_7.5.0/com.ibm.dp.doc/json_jsonx.html
Бинарная сериализация в SysV SHM сегменте.
особенно когда на блядском JSON предлагается вручную писать конфиги
Причём в JSON нет комментов.
Это всё детский лепет по сравнению с языком конфигураций, который используется у нас. Я нашёл только одно нормальное открытое упоминание об этом языке в сети:
http://alexandria.tue.nl/extra1/afstversl/wsk-i/bokharouss2008.pdf
Довольно много текста там закрашено, но в целом понять идею можно.
SCP-2008: Bokharouss
через фиктивные поля штоле?)
Разве что правда, eval в коде - плохая идея. Но в склеенной пачке с основным приложением - вполне ок.
Чаем чуть не подавился. Надо запомнить фразу.