LINUX.ORG.RU
ФорумTalks

Emacs'а недостаточно

 ,


1

5

Помню, кто-то мне здесь доказывал, что Emacs умеет «понимать» текст, а не просто раскрашивать его дешевыми регекспами. С чем я немного поспорил, даже порывшись ради этого в исходниках, но доказать ничего не смог.

Вот более монументальный труд, переводить который нет времени, но который очень детально описывает фундаментальные ограничения Emacs, без которых ничего реально серьёзного на его базе создать невозможно:
https://project-mage.org/emacs-is-not-enough

Но это наезд не только на Emacs, а вообще на все текстовые редакторы, т.к. сейчас все из них, даже самые продвинутые, базируются на тех же самых примитивных моделях и подходах (текст - это длинная строка, подсветка регекспами, и т.д.).

Бонусом идёт восхваление Temple OS, и моих знаний английского недостаточно, чтобы понять, это стёб или искренне. Но, кстати, выглядит так, что даже Temple OS в какой-то области превзошёл современные редакторы.

P.S. Тега Temple OS не существует и у меня нет прав на его создание.



Последнее исправление: maxcom (всего исправлений: 2)

Temple OS - это круто, но я не совсем понимаю зачем в коде 3д-модели и картинки. Чтобы ускорить их вызов из кода или что?

vbcnthfkmnth123 ★★★★★
()
Ответ на: комментарий от vbcnthfkmnth123

Хотя бы для того, чтобы видеть ресурсы в том виде, которые они понятны человеческому мозгу, а не в виде строк.

emorozov
() автор топика

Много буков, но ради таких перлов

Редактор таблиц в emacs будет дрянным, это будет медленная куча коровьего навоза, растекающаяся и рассеивающаяся, направляющая испарения. (с) Гуголь транслэйт

добавил в закладки, почитаю на досуге.

mydibyje ★★★★
()
Ответ на: комментарий от rupert

Не удивлюсь, если текст частично или полностью сгенерирован искусственной нейросетью. :)

emorozov
() автор топика
Ответ на: комментарий от mydibyje

добавил в закладки, почитаю на досуге.

Тексты добавленные в закладки не будут прочитаны никогда. :)

emorozov
() автор топика

По ссылке не ходил, но звучит странно. Emacs это не редактор, а процессор. Скриптами можно сделать все что угодно, можно написать свою отдельную систему для анализа, а потом ее интегрировать в emacs, а можно сделать ее на elisp, собственно lisp для AI и был когда-то основным языком, если я ничего не путаю.

soomrack ★★★★★
()
Ответ на: комментарий от soomrack

Надо читать. Дело в том, что не всё можно сделать именно из-за того, что Emacs умеет работать с данными, только как с двумерной матрицей символов или длинной строкой. Это фундаментальное ограничение, из-за которого многие вещи нереализуемы или почти нереализуемы.

Впрочем, во всех остальных редакторах то же самое.

emorozov
() автор топика
Ответ на: комментарий от emorozov

А чего еще надо? Длинная строка и двумерная матрица это и есть все raw данные. А потом они там и на слова разделяются и на предложения.

soomrack ★★★★★
()
Ответ на: комментарий от soomrack

В этом мире всё состоит из атомов. Это и есть все raw-кирпичики, из которых состою я, люди, которых вижу, ноутбук, на котором пишу.

Но всё-таки удобнее работать с ноутбуком и общаться с человеком, чем с группами атомов.

emorozov
() автор топика
Ответ на: комментарий от emorozov

Ну я пробежался бегло по тексту, как я понял суть в том, что он хотел бы чтобы структура была иерархической, чтобы показывалось одно, а по клику оно разворачивалось бы в другое, чтобы еще при этом и верстка не съезжала, даже если это ячейка в таблице. Это странно требовать от приложения предназначенного для работы с кодом… Впрочем это тоже можно сделать, если разворачивать в другом фрейме, видимо автор заметки не особо много работал с emacs и просто попытался перенести все эти выпадающие штуки в него (зачем?)…

soomrack ★★★★★
()

Кажется, чувак хочет (умерший) isomorf.io, только для произвольного текста.

Arrest
()

раскрашивать дешевыми регекспами

Как что-то плохое. Я конечно не против, если кто-то запихнет в текстовый редактор половину компилятора для каждого языка, чтобы всего лишь раскрасить код. Но кто это будет делать? И потом, сейчас же через LSP стали раскрашивать (что мне кажется несколько безумным). Наверно можно и к емаксу эту жесть прикрутить.

bread
()
Последнее исправление: bread (всего исправлений: 1)
Ответ на: комментарий от rupert

Проблема не в форматировании, а в том, что это word salad. Написание текста - не упражнение в freewriting’е: нужна какая-то структура, общая идея, переходы (опуская аспект ограниченности вокабуляра людей, не являющихся нейтивами). Что не нужно - это лексика, употребляемая неумело, демонстрирующая незрелость автора (fuck, shit, motherfucker и пр). Есть несколько интересных с точки зрения идеи заходов, но реализация - уровня dev.to.

KolyaKirgiz
()
Ответ на: комментарий от emorozov

Хотя бы для того, чтобы видеть ресурсы в том виде, которые они понятны человеческому мозгу, а не в виде строк.

В DrRacket можно использовать картинки как значения - https://0x0.st/o7lA.png

No ★★
()
Ответ на: комментарий от bread

Во-первых, в текстовые редакторы и IDE уже запихивают половину компилятора для разных языков; без этого нельзя надежно сделать даже вменяемые подсказки или тривиальный рефакторинг типа переименования переменных. YouCompleteMe внутри использует Clang, IDE от JetBrains строят свои модели для Java, Python, Kotlin и прочих; дополните своими примерами.

Во-вторых, LSP это не только раскрашивание текста, а общий протокол, по которому текстовый редактор может спрашивать фронтенд компилятора о семантике редактируемого кода – как раз для того чтобы половину компилятора можно было встраивать в редакторы, используя для этого не O(nm), а O(n+m) кода.

(А к емаксу lsp-mode написали уже лет пять назад.)

Arrest
()

Неверная постановка вопроса. Emacs это не текстовый редактор, а среда с кучей разных макросов и опций. Не всем нужны понимания кода, многим достаточно просто раскраски. Мне в нём не хватает только бесшовного дерева файлов слева и табов как в VS Code и любых других современных редакторах/ide. А остальные 100500 опций отлично меня радуют и так.

stalkerbss
()
Ответ на: комментарий от Arrest

в текстовые редакторы и IDE уже запихивают половину компилятора для разных языков

И много их разных то? Три с половиной языка, и для каждого своя отдельная жиробасина. А емакс/вим должны как-то раскрасить все стопицот языков. LSP это более практичное решение, чем запихивание компилятора в редактор, тут не спорю. Главное, им можно совершенно бесплатно не пользоваться сохранив простоту редактора.

bread
()

Бонусом идёт восхваление Temple OS

С этого надо было начинать :D

LINUX-ORG-RU ★★★★★
()
Ответ на: комментарий от stalkerbss

Там есть жалоба и на раскраску кода в том числе, на то что при прокрутке раскраски нет.

mydibyje ★★★★
()
Ответ на: комментарий от stalkerbss

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

Я с этим сталкивался постоянно в языках с богатым и причудливым синтаксисом типа C, C++, JS, когда пользовался Emacs 12 лет назад.

В частности, в то время JS в Emacs подкрашивался отвратительно любым существующим js-mode. Практически любой реальный JS сложнее «Hello, world»

Собственно неспроста существуют проекты типа tree-sitter и LSP.

emorozov
() автор топика
Ответ на: комментарий от soomrack

собственно lisp для AI и был когда-то основным языком, если я ничего не путаю.

Ну как был. Надежды были, AI не было.

hateyoufeel ★★★★★
()
Ответ на: комментарий от stalkerbss

Мне в нём не хватает только бесшовного дерева файлов слева и табов как в VS Code и любых других современных редакторах/ide.

ИМХО, в Emacs табы (tabbar-mode) реализованы гораздо удобнее, чем в VS Code и любых других современных редакторах/ide.

Kostafey
()

Temple OS

О, да ты нашёл собрата по разуму.

доказывал, что Emacs умеет «понимать» текст, а не просто раскрашивать его дешевыми регекспами

Тут и доказывать ничего не надо. Достаточно открыть документацию:

  1. https://www.gnu.org/software/emacs/manual/html_node/elisp/Text-Properties.html
  2. https://www.gnu.org/software/emacs/manual/html_node/elisp/Syntax-Tables.html
no-such-file ★★★★★
()
Закрыто добавление комментариев для недавно зарегистрированных пользователей (со score < 50)