•  ontereh-licht

Emacs

Waarom emacs, en mijn persoonlijke emacs-verlanglijstje.

Wat is emacs?

EEN virtuele machine of tolk voor de emacs lisp programmeertaal... een soort van. De programmeertaal emacs lisp (elisp) is voor algemeen gebruik, maar heeft eersteklas ondersteuning voor de eigenlijke teksteditor die het uitvoert. De primitieve typen zijn gericht op tekstbewerking, maar je kunt alles schrijven wat je wilt met pretty behoorlijke prestatie (onlangs dankzij de jit compilatie ) omdat het een lisp-afstammeling is van MACLISP en een broer of zus van gemeenschappelijke lisp . Emacs lisp heeft echter geen standaard en de specificatie is gelijk aan de meest populaire implementatie, namelijk GNU Emacs.

Waarom emacs?

Met de uitdrukking "Emacs is een besturingssysteem" bedoelen mensen dat je het kunt gebruiken om alles te doen waarvoor je een computer zou gebruiken. Het schiet tekort om een ​​letterlijk besturingssysteem te zijn, aangezien de kernel (meestal linux) nog steeds de leiding heeft over de hardware.[1] Het kan echter gemakkelijk een desktopomgeving worden genoemd, omdat het een omgeving biedt om mee te werken. Het geeft je de mogelijkheid om snelle interactieve code te schrijven voor interface met elke applicatie, het kan zo smerig zijn als shellscripts of goed doordacht om stabiele API's te bieden. In feite worden veel emacs-functionaliteiten geleverd door pakketten.[2] Kunnen andere editors net zo uitbreidbaar zijn als emacs? Nee waarom? Omdat andere editors een ander gebruikersmodel gebruiken, een waarbij de gebruiker moet worden beperkt omdat hij wordt beschouwd als een "gast" van de actieve omgeving die een "service" aan de gebruiker aanbiedt. Dit is niet het geval bij emacs, waar de omgeving en de gebruiker één en hetzelfde worden. In emacs heb je toegang tot alles en kun je bijna alle dingen wijzigen op dezelfde manier waarop die dingen zijn gemaakt, oftewel elisp.

Is het het waard?

De voordelen stapelen zich op, het is een investering, en zoals bij elke investering, mag u winst verwachten die evenredig is aan hoeveel u erin stopt, daarom moet u wat tijd besteden aan het leren en oefenen hoe u het kunt gebruiken.

Mijn GNU emacs-verlanglijst

Emacs is een zeer goed besturingssysteem, maar een slechte teksteditor.

...Of iets in die richting. De GNU Emacs-implementatie heeft, net als emacs, zijn wortels in de jaren tachtig, en veel delen van de kern ervan laten hun leeftijd zien...

[7]kan niet vanwege snelheid, maar snelheid is alleen belangrijk op korte termijn, en zonder rekening te houden met jit-compilatie
[6]Het argument voor meer geavanceerde animaties kan controversieel worden, omdat veel mensen van mening zijn dat zaken als overgangen, onscherpte, texturen, schaduwen, enz. geen waarde toevoegen aan een GUI... maar dat doen ze wel. Maar het verdedigen van animaties is voor een andere post, hier kan ik alleen maar zeggen dat een zorgvuldige en doordachte toepassing van meer geavanceerde eigenschappen ook een groot verschil kan maken in bruikbaarheid en productiviteit (het is niet alleen styling!).
[5] emacs-ng maakt gebruik van webrender, wat op gpu gebaseerd tekenen mogelijk maakt, aangezien het op dezelfde manier werkt als een game-engine, het vervult delen van mijn wensen, maar ik weet niet hoe de webrender-backend verbinding maakt met de interne onderdelen van emacs; als zijn inspanningen vergelijkbaar zijn met de [pgtk]-backend, zou hij nog steeds behoorlijk tekortschieten.
[1]Het is echter leuk om na te denken over een toekomst waarin GNU HURD (de kernel) kan worden gekoppeld aan emacs om te spreken met een lisp dichter bij bare metal
[2]Er is echter nog steeds een bulk van 200k regels C-code die kernfunctionaliteiten implementeert
[4]Aangezien emacs dingen als een "server" weergeeft wanneer het met een andere server praat, stuurt het een volledige "update" van het venster, wat in sommige gevallen flikkering veroorzaakte.
[3] doorbladeren kan webpagina's binnen de terminal weergeven, de uitgebreide website is "gereduceerd" om de terminalinterface te ondersteunen, dit is een geval van "grafisch eerst, terminal als tweede"

Berichttags: