•  niereh-światło

Emacs

Dlaczego emacs i moja osobista lista życzeń emacsa.

Co to jest emacs?

A maszyna wirtualna lub tłumacza dla emacs Lisp język programowania... w pewnym sensie. Język programowania emacs lisp (elisp) jest językiem ogólnego przeznaczenia, ale obsługuje najwyższej klasy edytor tekstu, który go uruchamia. Typy prymitywne skupiają się na edycji tekstu, jednak możesz napisać co tylko chcesz z ładnym przyzwoita wydajność (ostatnio dzięki kompilacja jit ) ponieważ jest potomkiem seplenienia MACLISP i rodzeństwo wspólne seplenienie . Jednak emacs lisp nie posiada standardu, a specyfikacja jest odpowiednikiem najpopularniejszej implementacji, czyli GNU Emacs.

Dlaczego emacs?

Wyrażenie „Emacs to system operacyjny” oznacza, że ​​można go używać do wszystkiego, do czego używa się komputera. Nie jest to dosłowny system operacyjny, ponieważ jądro (zwykle linux) nadal odpowiada za sprzęt.[1] Można go jednak łatwo nazwać środowiskiem graficznym, ponieważ zapewnia środowisko do pracy. Daje możliwość pisania szybkiego interaktywnego kodu do interfejsu z dowolną aplikacją, może być tak brudny jak skrypty powłoki lub dobrze przemyślany, aby zapewnić stabilne API. W rzeczywistości wiele funkcji emacsa dostarczanych jest przez pakiety.[2] Czy inne edytory mogą być tak rozszerzalne jak emacs? Nie dlaczego? Ponieważ inni redaktorzy używają innego modelu użytkownika, w którym użytkownik musi być ograniczony, ponieważ jest uważany za „gość” działającego środowiska, które oferuje użytkownikowi „usługę”. Inaczej jest w przypadku emacs, gdzie środowisko i użytkownik stają się jednym i tym samym. W emacsie masz dostęp do wszystkiego i możesz modyfikować prawie wszystkie rzeczy za pomocą tych samych środków, które zostały stworzone, czyli elisp.

Czy warto?

Korzyści narastają, jest to inwestycja i jak w przypadku każdej inwestycji, powinieneś spodziewać się zysków proporcjonalnych do tego, ile włożysz, dlatego musisz poświęcić trochę czasu na naukę i ćwiczenie, jak z niej korzystać.

Moja lista życzeń GNU emacs

Emacs to bardzo dobry system operacyjny, ale kiepski edytor tekstu.

... Albo coś w tym stylu. Implementacja GNU Emacs, podobnie jak emacs, ma swoje korzenie w latach osiemdziesiątych, a wiele części jej rdzenia pokazuje ich wiek...

[7]nie mogę ze względu na szybkość, ale szybkość jest ważna tylko w krótkim okresie i bez uwzględniania kompilacji jit
[6]Argument za bardziej zaawansowanymi animacjami może być kontrowersyjny, ponieważ wiele osób uważa, że ​​takie rzeczy jak przejścia, rozmycie, tekstury, cienie itp. nie dodają wartości do GUI… ale tak. Ale obrona animacji to kolejny post, tutaj mogę tylko powiedzieć, że ostrożne i przemyślane zastosowanie bardziej zaawansowanych właściwości może mieć duży wpływ na użyteczność i produktywność (to nie tylko stylizacja!).
[5] emacs-ng używa webrendersa, który umożliwia rysowanie w oparciu o gpu, ponieważ działa podobnie do silnika gier, spełnia część moich życzeń, ale nie wiem, jak backend webrendera łączy się z wewnętrznymi elementami emacsa; jeśli jego wysiłki są podobne do backendu [pgtk], to nadal będzie trochę za mało.
[1]Fajnie jest jednak myśleć o przyszłości, w której GNU HURD (jądro) może być połączony z emacsem, aby mówić seplenienie bliżej gołego metalu
[2]Jednak nadal istnieje większość 200 tys. linijek kodu w języku C, które implementują podstawowe funkcje
[4]Ponieważ emacs wyświetla rzeczy jako "serwer" podczas rozmowy z innym serwerem, wysyła pełną "aktualizację" okna, co w niektórych przypadkach powodowało migotanie.
[3] przeglądać jest w stanie wyświetlać strony internetowe w terminalu, bogata strona internetowa jest „zredukowana” do obsługi interfejsu terminala, jest to przypadek „najpierw graficzny, drugi terminal”

Tagi postów: