e41q - сайт

Критика cat-v. Снова

Наткнулся на прямо классный обстоятельный пост A case against “Cat-v considered harmful.

При прочтении возникали замечания по-тексту. Критика на критику, так сказать. Но в любом случае, Александр написал отличный пост с ценными размышлениями.

Про Harmful software в целом

Это записки мёртвого человека. Буквально.

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

Поехали.

JSON и просто текст

Из дня сегодняшнего - JSON стал, де-факто, предпочитаемым форматом. Современные веб-приложения работают через него. Кто сегодня помнит SOAP? Помнится, было множество выступлений о том, как хороши бинарные форматы (тот же protobuf). Но как-то не пошло дело.

Приложения хранят данные в json. Наглядный пример: более старый Drawio сохраняет диаграммы в xml-формате, а молодой Excalidraw уже в json.

Под простым текстом - имеется в виду даже не csv, а строки разделенные табами или пробелами. То, как awk позволяет получать $1, $2 и так далее.

Насчет XML - имхо, из 2025-го (а пост Александра был написан в 2024-м) XML видится несколько иначе, чем раньше. Я бы сказал - безобиднее.

XML в 90-е и начале нулевых виделся чем-то невероятным. Когда один дочерний элемент мог обращаться к другим произвольным элементам в дереве (через Xpath или как-то так) и менять их аттрибуты.

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

Шеллы

Про dash я как-то писал.

В целом, идея да, шелл должен быть простым. и Posix.

Насчет того, что он не такой удобный в интерактиве - да, это так. Но тут сложно. Я бы сказал, что harmful-подход подразумевает вообще то, что интерактивный шелл - не особо нужен.
Сложные сценарии лучше писать в редакторе. Например, Acme.

GUI toolkits

Да, конечно Tk сегодня выглядит совсем бедно. Но говоря честно, в 2025 и GTK с QT значимо побледнели.

Как бы это дико не звучало, но уступают они никем не любимым, но всеми используемым Electron-приложениям. Ну и Skia. Хром, продукты Jetbrains и, если память не изменяет, Firefox тоже.

Редакторы

Этот пост написан в Acme :)

Протоколы

Насчёт не использовать http. Как я понял, не любовь к http выросла из неудачи plan9.

First, the Internet was here to stay; and second, Plan 9 had no hope of keeping up with web browsers. – Introduction to Plan 9

Как я понимаю, Plan 9 предполагал что удаленные ресурсы должны монтироваться к системе пользователя. Как современные FUSE штуки.

Вместо http их и предлагается использовать. 9p вместо WebDAV и SMB.

Собственно, c Acme предполагается использовать wikifs, nntpfs, upas/fs (я хз что такое это последнее).

Но не выстрелило. А обида к http и вебу осталась.

Ну и ещё можно заметить что http достаточно сложный протокол.

Это сегодня базовый http-сервер встроен в ту же Ноду (Nodejs). А раньше этого не было. Но и сегодня - настройка всех этих реверс-прокси чтобы обеспечить https - боль в одном месте.

Postscript

Ну тут опять, надо понимать контекст.

Postscript разработали в Bell Labs, и этот язык - наследний troff, системной юниксовой утилиты для вёрстки документов.

Потому и советуют его. Пайк, Керниган и проч - плохого не сделают! :)

Ну и да, я малость копал тему - хз как сегодня по-нормальному пользоваться Постскриптом.