All streams
Search
Write a publication
Pull to refresh
1
0
11111000000 @fimble

Пользователь

Send message

Непонятно, о чём статья. О воспроизводимой сборке Emacs, или его конфигов или о package-vc-install? Который мало помогает воспроизводимости окружения, если честно... Очевидно, что "воспроизводимость" Emacs не отделима от его окружения, потому что Emacs - это интерфейс для Unix. И с этой задачей давно справляются Guix и Nix - которые и для конфигов Emacs также применяется широко.

Альтернатива называется "свободное программное обеспечение". Пока вы не контролируете программу, она контролирует вас. Более того, правильно было бы не "отключать ненужное", а "включать только нужное". Хороший пример реализации этого подхода - "моды" для Emacs.

Напомнило аллегорию из всем известного учебника...

… Тем временем, EMACS например «гниёт» уже 35 лет. И до сих пор от этой реакции тепло, несмотря на все ужасные недостатки Elisp (наследника древнейшего MACLisp) и его виртуальной машины. Осмелюсь предположить, что именно природа языка с синтаксической абстракцией и возможностью расширения «вглубь» — позволила настолько компенсировать подобные недостатки.

Из песни слов не выкинешь:

Пожалуй, трудно найти две более разные культуры программирования, чем те, что образовались вокруг этих двух языков и используют их в качестве единой валюты. Паскаль служит для построения пирамид — впечатляющих, захватывающих статических структур, создаваемых армиями, которые укладывают на места тяжелые плиты. При помощи Лиспа порождаются организмы — впечатляющие, захватывающие динамические структуры, создаваемые командами, которые собирают их из мерцающих мириад более простых организмов. Организующие принципы в обоих случаях остаются одни и те же, за одним существенным исключением: программист, пишущий на Лиспе, располагает на порядок большей творческой свободой в том, что касается функций, которые он создает для использования другими. Программы на Лиспе населяют библиотеки функциями, которые оказываются настолько полезными, что они переживают породившие их приложения. Таким ростом полезности мы во многом обязаны списку — исконной лисповской структуре данных.
Простота структуры списков и естественность их использования отражаются в удивительной общности функций. В Паскале обилие объявляемых структур данных ведет к
специализации функций, которая сдерживает и наказывает случайное взаимодействие
между ними. Лучше иметь 100 функций, которые работают с одной структурой данных, чем 10 функций, работающих с 10 структурами. В результате пирамиде приходится
неподвижно стоять тысячелетиями; организм же будет развиваться или погибнет.


Но есть и другой аспект этой темы. Раздутое Bloatware — обречено на «гниение». В противоположность — программы из арсенала suckless.org — бодры, подтянуты и «вечно молоды», согласно своей природе. Они просты, эффективно решают каждая свою задачу, и главное — отлично работают вместе. Если какая-то из них устаревает или не подходит, она может быть легко заменена на альтернативную, оставив саму инфраструктуру целостной, что будет продолжаться, пока всё это приносит пользу. Сей принцип, конечно имеет прямое отношение к философии UNIX, и… этот подход являет собой полную противоположность первому примеру — EMACS!

В этой дуальности я нахожу загадочный парадокс по-настоящему долговечных систем.

Information

Rating
Does not participate
Location
Россия
Date of birth
Registered
Activity