[О блоге]
[наверх]
[пред]
[2025-06-17 22:42:18+03:00]
[df85df9cd875f95146de87d6574eda250bf4438b]
Темы: [hate]
Почему мы храним код в текстовых файлах?
https://habr.com/ru/articles/918512/
приходится использовать кодировки. Существует много вариантов: UTF-8
или UTF-16; с BOM или без него; CR, LF или CRLF; little-endian или
big-endian. К сожалению, мир не смог договориться об одном
стандарте, поэтому то и дело приходится сталкиваться с проблемами:
испорченные диффы, ошибки в тулзах, проблемы с копированием,
нечитаемый текст на фронте.
Вообще то договорился: UTF-8. Никаких BOM, никаких endiannes. Только
Microsoft (ну и Apple наверняка) принципиально будет плевать на
совместимость и будет делать лишь бы чтобы отличалось от других.
Перестань использовать дерьмо от Microsoft и никаких испорченных diff,
проблем с копированием и подобного.
почему мы должны заботиться о пустых строках, табуляции или
пробелах, ограничениях по длине строк и других несущественных
деталях?
Не должны, поэтому есть средства автоформатирования. Текст тут мало чем
мешает.
Зачем нам имена файлов и ограничения с ними связанные?
Ну... давайте иметь мена таблиц и колонок и ограничения с ними связанные?
Разве это удобно использовать двухбуквенные расширения для указания
используемого языка?
Нет, не удобно. А кто так делает? Может не надо использовать того кто
так делает?
А ограничения на глубину вложенности каталогов или inotify watch limit?
Так не делай безумства. Или предложение по замене на ограничения
вложенности в другом формате?
Или вот мы запускаем код в докере, а контейнер не видит изменения
файлов на хосте, куда это годится?
Так не запускай его там или разберись как оно работает. Если не
понимаешь, то может перестанешь использовать чёрный ящик?
А еще мы работаем на разных файловых системах, и они предоставляют
нам разные функции. Чувствительность к регистру или нет? Жесткие и
символические ссылки. Права доступа. Атрибуты. Все эти особенности
не имеют отношения к нашему коду, по крайней мере, вы обычно не
можете прочитать о них в спецификации вашего языка.
Действительно, (почти) всё это не имеет отношение к коду. Так что причём
тут это. А работать с ФС придётся. Или перестань использовать зоопарк ФС.
Поэтому иногда IDE тупит во время загрузки проекта.
Ну так перестань использовать его. Кэшируй AST и метаинформацию.
Используй адекватные по сложности парсинга языки. Автор же перечисляет
JavaScript, Web.
Короче, автор предлагает из-за убогости и идиотичности используемых им
инструментов, вообще перейти на бинарные форматы, БД, чтобы ещё больше
было несовместимости, несостыковок и невозможности инструментам
взаимодействовать друг с другом. Если уж, как заявляет автор, мир не
смог договориться о CR/LF и BOM-ах с UTF-ами, то как можно будет
договориться о гораздо более сложных вещах? Писать хоть на JS, хоть на
Java можно в принципе и в Nano, и в IDE и в Vim/Emacs. А теперь у нас
будет ровно один/два инструмента, один хуже другого, без возможности
написать свой из-за лютой переусложнённости.
Производительность и сокращение выбросов CO2
Перестань писать на JS и запускать IDE -- конец глобальному потеплению.
Всё это такой же дебилизм, как идея использовать бинарные журналы в
systemd/journald (ведь нельзя же, видимо, индексировать текстовые файлы,
только бинари, и плевать что там нет целостности журнала).
[оставить комментарий]