12 ms·
Emacs has got to be one of the most misunderstood pieces of technology. It's often made fun of [1], just because of this misunderstanding. Saying Emacs is an ed
by submeta 6y ago
Emacs has got to be one of the most misunderstood pieces of technology. It's often made fun of [1], just because of this misunderstanding. Saying Emacs is an editor (mostly), is like saying a smartphone is a phone (mostly).
Emacs is actually an appliction framework (and a Lisp machine) with a unified interface where one application can share data with other applications via "buffers" very easily because the basic data is text (no proprietary or fancy datastructures that can get outdated at some time). With this underlying structure (plus with the integrated programming language Lisp) you can connect, combine, configure (to your liking) every application within Emacs easily. In non-Emacs world, using isolated apps (islands), I'd "beg" the dev teams to add this or that feature to make it more productive [3]. Not so in Emacs-land, where I can change every aspect of an app within minutes.
I have legacy tools / apps that were discontinued, and my data is stuck in those formats [2], and I don't have the time to migrate those documents.
Emacs is here to stay. And offers many apps (packages) for many use-cases: org-mode for project management, task-management, taking notes, writing complex documents, creating technical documentation with inline images, ascii tables, with embedded code (that can get run via org-babel); lsp-mode which transforms Emacs into a decent IDE; calc for doing basic to complex calculations within Emacs (documents); org-babel for doing literate programming; eshell for using your shell within emacs; mu4e which is a very good email client (says someone who used to use MailMate and was thrilled I could use keyboard shortcuts to control lots of aspects of my email client), and many more.
Emacs is the tool that will grow on you, and it will get better the more you learn about how to configure it.
---
[1]: "a great operating system, lacking only a decent editor"
[2]: EccoPro PIM from the 90s, AskSam (full text database) from the 90s, NoteMap (outliner), MS Access databases (from the 90s/2000s) with old format, and many many more.
[3]: Whenever I liked an app, I'd quickly start writing with dev teams back and forth in forums or via email. Bear.app, Ulysses.app, iA Writer, DevonThink, etc. Constantly writing to the dev teams, asking to include this or that feature.
- TeMPOraL 6y agoYup. All this. Emacs being a platform within a platform is a feature. It comes with an extra benefit: it's a free (libre) platform. Completely shielded from corporate interests. There's no bullshit inside. No proprietary formats, no unnecessary network dependencies, no "X as a Service". Just a community of folks maintaining and expanding a parasitic OS that embraces interoperability and personal productivity above all.
- submeta 6y agoWhen I realized how powerful Emacs is, how it enables me to create a very streamlined workflows in my day-to-day work, I realized I have no need at all for a crippled tablet (not naming the company) that won't allow me to use Emacs (or many other full-featured software), and that's when I put my fancy tablet on eBay for sale realizing that all the apps that I used on it created yet more islands of isolated data that I will have time and effort to get that out of those formats. Not many fellows are aware of the value of the freedom to use a platform and tools that are open, that give you the freedom to do what you want with it. They see a fancy interface, and they are sold, not seeing the long term costs, the loss of control, the crippled-ness, the trajectory of the whole industry towards a vision that takes away many forms of freedom that constituted personal computing as we know it.
- abeppu 6y agoI agree, and I am frequently impressed by the tools people have built on this platform. But I think the "it's a great operating system" line is wrong because it has underinvested in scheduling and process management.
- pierrebai 6y agoWhich is exactly the reason why... VSCode is winning the editors war. The main difference is that it chose javascript instead of lisp as its universal language, which, in the current world, is a much better choice for adoption. Also, saying app can share data easily because the format is text buffer is either a tautology or a non-sequitur: not having a defined format can't be broken, sure, but it also cannot be reliably used. ask anyone who had to maintain bash/awk/perl labyrinthine assemblies...
- dragonwriter 6y ago> The main difference is that it chose javascript instead of lisp as its universal language The main reason is that it's backed by Microsoft, both because of the investment that provides and the visibility it provides. JavaScript over Lisp probably helps, but if VSCode had Visual Basic as it's extension language it would still be doing strong, and not because VB is a good or popular language independently.
- taeric 6y agoI just want to underline your point on it having corporate backing. Commentary on our industry seems bent on the idea that things succeed in inherent quality. Reality seems to be full of contrary examples.
- deleted 6y ago[deleted]
- TeMPOraL 6y agoProgramming languages too. It seems to me that popularity of programming languages is directly tied to amount of corporate backing behind them. There's plenty of popular languages that have a large company sponsoring its development and marketing.
- taeric 6y agoAgreed. I've taken to this idea even stronger. "Simple" languages are believed to be simple mainly off the propaganda that pushes that they are simple.
- travv0 6y ago> "a great operating system, lacking only a decent editor" That joke seems to imply a perfect understanding that it's more than a text editor. It is, however, referred to as "The Emacs Editor" in its documentation and "an extensible, customizable, free/libre text editor — and more" on its official website, which could lead to some confusion about its primary purpose if that's not editing text. I do begrudgingly use Emacs as my main editor because that's what the communities of the languages I like use, but I do find the editing experience to be sub-par compared to other editors I've worked with, and I find that there are better external alternatives to any of the common elisp applications, barring org-mode.
- finder83 6y agoI generally agree with your statement, but the primary thing that prevents me from switching to a more modern editor is counsel/ivy. I really wish that VS Code or others offered a similar experience of filtering a buffer/project so quickly and easily. The editing experience of Evil with ivy is fantastic. I just wish that things like autocomplete or debugging were easier to get right across languages...
- teataster 6y agoThe whole point of Emacs is: you get to change whatever you don't like. Furthermore, why use Emacs as an IDE if you don't like it? Who cares what editor you use? Unless you use Emacs, then they make fun of you for using it, while relying on your efficient text processing skills to do refactoring.
- travv0 6y agoI care that the editor I use has good support for the language I’m writing, so, like I explained in my post, I use Emacs since that’s where the language’s community puts their effort. Also, to address your first sentence, the things I don’t like about Emacs can’t be fixed by writing a bit of elisp.
- yrimaxi 6y agoThe thing is that editing/text-navigation modes are so universally useful that it makes perfect sense to make a supposed “OS-level” text editor. How many plugins, extensions, etc. are there so that people can use Vim bindings in web browsers, IDEs, the window manager, etc.?
- imdoor 6y ago> "a great operating system, lacking only a decent editor" I've seen this thrown around when people joke why vim is better than Emacs and i think it's funny. But, seeing that Emacs has evil-mode, which is basically an implementation of vim on top of the said "operating system", i'd say it's false. Or ironic :D
- tharne 6y agoAs a vim user who recently migrated to emacs, this is 100% true. Emacs is now, among other things, a superset of Vim. Before using Emacs, I had always read that emacs has a steep learning curve. I found this not to be case since the vim emulation was so good and so complete, I was reasonably productive pretty quickly even though I obviously have a ton to learn about emacs.
- iso8859-1 6y ago> the basic data is text How can this work? Let's say I am developing a spreadsheet. Each cell has a formula, and it has a rendered text version. How can this work in Emacs? I want there to be a "underlying" strongly typed version of the data which is rendered, but Emacs forces them to be the same. Unix (with pipes) also works with plain bytes, but many pipes are not necessarily rendered. Given that emacs is inherently visual, because you see the buffer if you're working with it, why can't there be data structures?
- teataster 6y agoEmacs comes with a pretty good plain text spreadsheet. I have not figured out how to use it for large amounts of data (caped at 999 rows) but it's way more powerful than "your favorite spreadsheet software" as it allows for both calc and elisp formulas. All in plain text yeah, types are as strong as elisp's. And maybe I am wrong, but spreadsheets are not famous for strong types. I have horror stories to share on that respect. I guess you could strong type by using a type cast formula with elisp...
- Jtsummers 6y agohttps://www.gnu.org/software/emacs/manual/html_node/ses/index.html#Top https://www.gnu.org/software/emacs/manual/html_node/ses/inde... - I presume you're referring to SES mode SES is great as a quick & dirty spreadsheet. I also used it when I started "living" in emacs about 12 years back. I had SES worksheets for various things I'd often use Excel for. One was a stock tracker (downloaded data periodically form Yahoo! Finance), a tax estimator, a paystub tracker, a budget, leave tracker. Some were just worksheets for work problems (had a set of formulae and equations related to test cases, plug in numbers and determine what the expected output should be, or reverse it plug in received output and see what input should recreate it). If you use org-mode, it has its own format for doing the same thing: https://orgmode.org/worg/org-tutorials/org-spreadsheet-intro.html https://orgmode.org/worg/org-tutorials/org-spreadsheet-intro... If I use emacs-as-a-spreadsheet, I tend to the latter anymore since I org-mode is my primary use of emacs anymore (with org-babel for editing source code).
- emidln 6y ago> [1]: "a great operating system, lacking only a decent editor" There is even a decent editor application available these days in evil[0]. [0] https://www.emacswiki.org/emacs/Evil https://www.emacswiki.org/emacs/Evil