• 0 Posts
  • 2 Comments
Joined 11 months ago
cake
Cake day: October 16th, 2023

help-circle
  • > My conclusion is that editors of all kinds are becoming more and more like emacs, a core with a plugin system.

    Other editors have a core and an api and a scripting language for writing plugins. Emacs doesn’t have that. When you write code for emacs it becomes a part of emacs. The C code is not a core, it is more like parts of emacs that were rewritten in C to be be faster. Elisp is not a scripting language that speaks to a core via an API. This is one of the things that sets emacs apart from the other editors and ides you mention.

    The other is the power of lisp. Lisp is homiconic. From Wikipedia:

    A language is homoiconic if a program written in it can be manipulated as data using the language The program’s internal representation can thus be inferred just by reading the program itself. This property is often summarized by saying that the language treats code as data.

    -- https://en.wikipedia.org/wiki/Homoiconicity

    Finally, emacs treats everything as text. In the Unix tradition everything in the OS boils down to text. You used text in a REPL or Shell, log files were simply plain text files, configuration was done by editing other plain text files. Emacs is designed for that world. And it still largely is true, but many things that used to be kept in text files are now in databases, and highly structured formats like YAML or JSON (which at least is better than the nightmare of using XML for config files) and we need to interact and manage far more binaries (blobs) than we used to. Email used to be plain text and blob attachments were rare. Now most people use email as html marked up text linked to blobs.

    Emacs is not designed for this, which some now see as a disadvantage. But only if you no longer live at the text level of the stack. Most people today want to live in a mediated WYSIWYG environment.

    I personally don’t like mediated environments. I have never liked Disneyland, (I visited Disneyworld when I was a kid in the 70’s when I was still living in the States) it makes me uncomfortable not knowing how everything works. The magic of Disneyland is the suspension of belief, that you can pretend for a while that the illusion you are presented with is real. I prefer to know who the person is that stands behind the curtain pushing the levers that creates the dazzle of smoke and pyrotechnics.

    I still prefer to work with systems running on bare metal rather than in the cloud. But that world is now all but gone. Hardware has been sequestered into datacenters that you can only enter after passing through man traps. I still run two racks of servers in my office. But the funding for keeping these running is no longer there and we’re moving everything into cloud services with datacenters located in Tokyo two time zones away. It IS far easier and cheaper, but I no longer have control of the entire stack and I don’t feel the deep connection and understanding of the systems we now run as I used to… I don’t miss the old days but I miss the control we had over what we built and maintained.

    That is why I have used emacs for more than 25 years and have no intention of stopping.


  • > My conclusion is that editors of all kinds are becoming more and more like emacs, a core with a plugin system.

    Other editors have a core and an api and a scripting language for writing plugins. Emacs doesn’t have that. When you write code for emacs it becomes a part of emacs. The C code is not a core, it is more like parts of emacs that were rewritten in C to be be faster. Elisp is not a scripting language that speaks to a core via an API. This is one of the things that sets emacs apart from the other editors and ides you mention.

    The other is the power of lisp. Lisp is homiconic. From Wikipedia:

    A language is homoiconic if a program written in it can be manipulated as data using the language The program’s internal representation can thus be inferred just by reading the program itself. This property is often summarized by saying that the language treats code as data.

    -- https://en.wikipedia.org/wiki/Homoiconicity

    Finally, emacs treats everything as text. In the Unix tradition everything in the OS boils down to text. You used text in a REPL or Shell, log files were simply plain text files, configuration was done by editing other plain text files. Emacs is designed for that world. And it still largely is true, but many things that used to be kept in text files are now in databases, and highly structured formats like YAML or JSON (which at least is better than the nightmare of using XML for config files) and we need to interact and manage far more binaries (blobs) than we used to. Email used to be plain text and blob attachments were rare. Now most people use email as html marked up text linked to blobs.

    Emacs is not designed for this, which some now see as a disadvantage. But only if you no longer live at the text level of the stack. Most people today want to live in a mediated WYSIWYG environment.

    I personally don’t like mediated environments. I have never liked Disneyland, (I visited Disneyworld when I was a kid in the 70’s when I was still living in the States) it makes me uncomfortable not knowing how everything works. The magic of Disneyland is the suspension of belief, that you can pretend for a while that the illusion you are presented with is real. I prefer to know who the person is that stands behind the curtain pushing the levers that creates the dazzle of smoke and pyrotechnics.

    I still prefer to work with systems running on bare metal rather than in the cloud. But that world is now all but gone. Hardware has been sequestered into datacenters that you can only enter after passing through man traps. I still run two racks of servers in my office. But the funding for keeping these running is no longer there and we’re moving everything into cloud services with datacenters located in Tokyo two time zones away. It IS far easier and cheaper, but I no longer have control of the entire stack and I don’t feel the deep connection and understanding of the systems we now run as I used to… I don’t miss the old days but I miss the control we had over what we built and maintained.

    That is why I have used emacs for more than 25 years and have no intention of stopping.