- 1
habrahabr.ru/post/321652
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
−30
habrahabr.ru/post/321652
Просто оставлю это здесь.
huestinh0 12.02.2017 22:04 # +8
bakagaijin 12.02.2017 22:20 # 0
inho 12.02.2017 22:34 # 0
bakagaijin 12.02.2017 22:52 # 0
CTEPTOP 13.02.2017 01:59 # 0
inho 12.02.2017 22:28 # 0
пусть в жопе почешутся
cykablyad 13.02.2017 03:28 # 0
Fike 13.02.2017 05:04 # 0
Fike 13.02.2017 05:06 # +3
подзачерпнул, блядь
Fike 13.02.2017 05:08 # +4
ну охуеть
bormand 13.02.2017 06:17 # +1
Так что демон реестра вполне вписался бы в философию юникс - делал бы что-то одно, но хорошо :)
Fike 13.02.2017 14:28 # +1
Fike 13.02.2017 14:29 # 0
huesto 14.02.2017 00:04 # −1
j123123 13.02.2017 09:52 # +5
[sarcasm]Да охуеть не встать. Как же это я мог сам не догадаться, что на распарсивание всякой "%s %i" фигни должно тратиться куча тактов процессора?[/sarcasm]
Что надо делать этим printf-ом чтобы он стал bottleneck-ом? В цикле вызывать дохуилиард раз?
> Там, синтаксис типов плохой, препроцессор ужасен, легко выстрелить себе в ногу, всякие 4["string"], всякие sizeof ('a') != sizeof (char) (в C, не в C++!), всякие i++ + ++i, всякие while (*p++ = *q++) ;
А надо чтоб как в питоне, когда отступы это часть синтаксиса, и все (ну или почти все) пишут в PEP8, да? Всякие там питонодебилы отвыкли от свободы, и возможность писать нечитаемую парашу на языке воспринимают как недостаток языка. Ну хули уж там, давайте ножи запретим, ими можно порезаться или кого-то убить. Почему он там кстати не вскудахтнул, как плохо что в си есть указатели и можно вылезти за границы массива, это ж традиционные аргументы неосиляторов си?
j123123 13.02.2017 10:04 # +1
Нахуй сходи, например. Посмотрел бы я на тебя, как ты эту парашу будешь заворачивать, чтобы она работала на Windows начиная с XP, macOS, всякие варианты линупсов под разные битности и архитектуры, FreeBSD и прочие BSD, и чтоб чисто было ничего не ломалось. А знаете какой геморрой кросскомпилировать какую-нибудь парашу под арм? Некоторое говно просто не может быть собрано кросскомпилем(потому что это говно в процессе работы генерирует бинарник и пытается его запустить, от чего закономерно обламывается), так что приходится ебстись с виртуалками... Но причем тут вообще UNIX?
j123123 13.02.2017 10:05 # +6
Хуже для чего/кого?
> Но даже для своей ниши (скриптинг типичных задач по администрированию) он годится плохо.
[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).
бхахаха. Там даже на хабре написали
Вот допустим, нужно забить гвоздь. Да, я знаю, что такое надо делать молотком. Но давайте предположим, что это нужно сделать непременно микроскопом...
dm_fomenok 13.02.2017 19:44 # 0
CTEPTOP 13.02.2017 23:01 # 0
То была бы она бабушкой с членом....
guest 14.02.2017 12:15 # +1
да, быт сишников полон боли и страданий. Нормальные то языки и кросскомпиляцию поддерживают и не пытаются всякое говно запускать.
1024-- 13.02.2017 19:25 # 0
Писать нечитаемую парашу и чувствовать себя свободным - это скорее хобби программиста. Тихий душевный вечер при свечах и параша в коде. Приятно.
Но когда дело касается работы, уж лучше использовать более строгие инструменты, чтобы как в шар в желобе скатываться от поставленной задачи к готовой программе и потом не копаться в море багов, а спокойно говнокодить для души.
bormand 13.02.2017 19:28 # 0
Годный эпитет. Работаешь, деградируешь, и постепенно скатываешься в говно.
1024-- 13.02.2017 19:34 # +1
j123123 13.02.2017 23:04 # 0
guestinho 14.02.2017 00:42 # 0
j123123 14.02.2017 01:24 # +1
inkanus-gray 14.02.2017 01:30 # +1
https://geektimes.ru/post/278410/
Так можно сделать хоть троичную логику, хоть гибрид ЦВМ с АВМ.
bormand 14.02.2017 18:17 # +1
Hestia 14.02.2017 18:54 # +1
bormand 14.02.2017 06:24 # 0
Какая ж там свобода... Даже асинхронную логику толком не запилишь...
bormand 14.02.2017 06:54 # 0
dxd 14.02.2017 07:15 # 0
bormand 14.02.2017 18:02 # +1
А на вики целая гора этих асинхронных процов перечислена, хрен найдёшь, который из них мне тогда попался. Может я и гоню про новый тулчейн...
Вот тут вообще обошлись стандартным и констрейнтами запинали: http://www.ics.forth.gr/carv/async/demo/
defecate-plusplus 13.02.2017 10:12 # 0
Когда захотел написать царский 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
j123123 13.02.2017 10:17 # +1
Бинарная сериализация в SysV SHM сегменте.
defecate-plusplus 13.02.2017 10:48 # +3
inkanus-gray 14.02.2017 00:47 # 0
Fike 13.02.2017 14:33 # +1
особенно когда на блядском JSON предлагается вручную писать конфиги
Steve_Brown 13.02.2017 15:53 # 0
guest 14.02.2017 00:50 # 0
Fike 14.02.2017 07:56 # −1
dxd 13.02.2017 16:58 # 0
bormand 13.02.2017 19:38 # +1
Причём в JSON нет комментов.
guestinho 13.02.2017 19:40 # 0
bormand 13.02.2017 19:42 # +1
roman-kashitsyn 13.02.2017 19:53 # 0
Это всё детский лепет по сравнению с языком конфигураций, который используется у нас. Я нашёл только одно нормальное открытое упоминание об этом языке в сети:
http://alexandria.tue.nl/extra1/afstversl/wsk-i/bokharouss2008.pdf
Довольно много текста там закрашено, но в целом понять идею можно.
Steve_Brown 13.02.2017 19:56 # +8
SCP-2008: Bokharouss
CHayT 13.02.2017 20:18 # 0
Fike 13.02.2017 22:37 # +1
inkanus-gray 14.02.2017 00:24 # +2
Fike 14.02.2017 07:57 # +2
j123123 14.02.2017 00:39 # 0
inkanus-gray 14.02.2017 16:03 # +1
guestinho 13.02.2017 20:15 # 0
huesto 13.02.2017 21:16 # +1
guest 13.02.2017 23:12 # 0
guest 13.02.2017 23:13 # 0
через фиктивные поля штоле?)
guest 13.02.2017 23:24 # 0
guestinho 13.02.2017 23:49 # 0
huesto 13.02.2017 23:55 # 0
guestinho 14.02.2017 00:01 # 0
huesto 14.02.2017 00:08 # 0
guestinho 14.02.2017 00:25 # 0
Разве что правда, eval в коде - плохая идея. Но в склеенной пачке с основным приложением - вполне ок.
huesto 14.02.2017 00:30 # 0
Fike 14.02.2017 07:58 # 0
guestinho 14.02.2017 16:14 # 0
Fike 14.02.2017 19:49 # 0
guestinho 14.02.2017 19:54 # −1
guest 13.02.2017 23:13 # 0
guestinho 13.02.2017 23:48 # 0
Чаем чуть не подавился. Надо запомнить фразу.
Fike 13.02.2017 23:57 # 0
inkanus-gray 14.02.2017 00:26 # +1