•  Untoreh-light

Emacs

Почему именно emacs и мой личный список желаний emacs.

Что такое emacs?

А виртуальная машина или переводчик для emacs язык программирования lisp ... вроде. Язык программирования emacs lisp (elisp) является универсальным, но имеет первоклассную поддержку для реального текстового редактора, который его запускает. Примитивные типы ориентированы на редактирование текста, тем не менее, вы можете написать все, что захотите, с красивыми достойная производительность (недавно благодаря jit компиляция ), потому что это шепелявый потомок МАКЛИСП и брат обычная шепелявка . Однако у emacs lisp нет стандарта, и спецификация эквивалентна наиболее популярной реализации, то есть GNU Emacs.

Почему именно emacs?

Фраза «Emacs - это оперативная система» означает, что вы можете использовать ее для всего, для чего вы бы использовали компьютер. Он не является буквальной операционной системой, поскольку ядро ​​(обычно Linux) по-прежнему отвечает за оборудование.[1] Однако его можно легко назвать средой рабочего стола, поскольку она обеспечивает среду для работы. Он дает вам возможность писать быстрый интерактивный код для взаимодействия с любым приложением, он может быть таким же грязным, как сценарии оболочки, или хорошо продуманным, чтобы предоставлять стабильные API. Фактически, многие функции emacs предоставляются пакетами.[2] Могут ли другие редакторы быть такими же расширяемыми, как emacs? Нет почему? Поскольку другие редакторы используют другую модель пользователя, ту, в которой пользователь должен быть ограничен, поскольку он считается «гостем» рабочей среды, предлагающей «услугу» пользователю. Это не относится к emacs, где среда и пользователь становятся одним и тем же. В emacs у вас есть доступ ко всему, и вы можете изменять почти все вещи с помощью тех же средств, которыми они были созданы, иначе говоря, elisp.

Стоит ли оно того?

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

Мой список желаний GNU emacs

Emacs - очень хорошая операционная система, но плохой текстовый редактор.

...Или что-то вдоль этих линий. Реализация GNU Emacs, как и emacs, уходит корнями в восьмидесятые годы, и многие части ее ядра показывают свой возраст ...

[7]не может из-за скорости, но скорость важна только в краткосрочной перспективе и без учета jit-компиляции
[6]Аргумент в пользу более продвинутой анимации может стать спорным, поскольку многие люди считают, что такие вещи, как переходы, размытие, текстуры, тени и т. Д., Не добавляют ценности графическому интерфейсу ... но они делают. Но защита анимации - это отдельная статья, здесь я могу просто сказать, что осторожное и продуманное применение более продвинутых свойств также может иметь большое значение в удобстве использования и производительности (это не просто стиль!).
[5] emacs-ng использует webrender, который позволяет рисовать на основе графических процессоров, поскольку он работает аналогично игровому движку, он частично выполняет мои пожелания, но я не знаю, как серверная часть webrender соединяется с внутренними компонентами emacs; если его усилия сродни бэкэнду [pgtk], ему все равно будет немного не хватать.
[1]Тем не менее, интересно думать о будущем, в котором GNU HURD (ядро) сможет взаимодействовать с emacs, чтобы говорить шепелявым ближе к голому железу.
[2]Тем не менее, все еще существует большая часть из 200 тыс. Строк кода C, реализующая основные функции.
[4]Поскольку emacs отображает вещи как «сервер» при разговоре с другим сервером, он отправляет полное «обновление» окна, которое в некоторых случаях вызывает мерцание.
[3] бровь может отображать веб-страницы в терминале, полнофункциональный веб-сайт «сокращен» для поддержки интерфейса терминала, это случай «сначала графический, затем - терминал»

Теги сообщений: