summaryrefslogtreecommitdiff
path: root/content/emacs/whys-of-emacs.md
diff options
context:
space:
mode:
Diffstat (limited to 'content/emacs/whys-of-emacs.md')
-rw-r--r--content/emacs/whys-of-emacs.md183
1 files changed, 183 insertions, 0 deletions
diff --git a/content/emacs/whys-of-emacs.md b/content/emacs/whys-of-emacs.md
new file mode 100644
index 0000000..23912a2
--- /dev/null
+++ b/content/emacs/whys-of-emacs.md
@@ -0,0 +1,183 @@
++++
+title = """
+ My "whys" for Emacs
+ """
+author = ["MichaƂ Sapka"]
+date = 2023-12-26T22:12:00+01:00
+categories = ["emacs"]
+draft = false
+weight = 3001
+image_dir = "emacs"
+image_max_width = 480
+primary_menu = "cool-emacs-appendix"
+abstract = "My reasons for using Emacs"
+aliases = ["/cool-emacs/whys-of-emacs/"]
+[menu]
+ [menu.cool-emacs-appendix]
+ weight = 3001
+ identifier = "my-whys-for-emacs"
++++
+
+I have used many editors over the years.
+I've started with Notepad, then moved to Notepad++, Sublime Text, IntelliJ, and VS Code.
+Heck, I even Nova at some point.
+But only two really stayed with me for longer - the first being Vim, the second Emacs.
+Choosing Vim[^fn:1] seems like the logical option[^fn:2].
+It's an extremely popular editor with a huge community.
+
+But first: I **strongly** believe, that everyone working with computer, owe to themselves to spend some quality time with both, Vim, and Emacs.
+Vim is amazing.
+Modal editing is second to none when it comes to natural text processing.
+They keybindings are close to perfect.
+It requires some time to get used to, but let's not overstate that.
+You can get semi-fluent in Vim in 2 weeks.
+
+And then there's Emacs.
+I've tried it for a year.
+I like it, but something felt off[^fn:3].
+Then, for a few months I have returned to using Neovim.
+But here I am.
+Using Emacs once again.
+Why is that?
+
+
+## License {#license}
+
+VSCode is released under non-free license[^fn:4], and therefore the code you can see is not necessary what you run.
+In fact we know this, as VSCode spies on users[^fn:5], so it's an instant No for me.
+
+[Codium](https://vscodium.com/) exists as _libre_ version of VSCode, so it's an option.
+However, it is not the same program as VSCode as incompatibilities exist, and the presence of plugins is limited[^fn:6].
+Any advancement of Codium is to the benefit of VSCode, and I hove problems with this.
+
+IntelliJ is completely closed-source, so it's also a no-go for me.
+
+Emacs[^fn:7] is released on GPL[^fn:8]
+Vim is released under custom _libre_ license[^fn:9].
+Neovim is released under Apache license[^fn:10]
+This means that the software is truly free.
+I can see the entirety of codebase, not just the Lite version (like with VSCode).
+I can redistribute it, I can copy, and share it without any limitations.
+I can fork it, I can change it.
+I can do almost whatever the hell I want it - as this was the basis of FSF.
+This may be not important to you, but it is for me.
+
+I believe _libre_ software is a necessity.
+Some people prefer _proprietary_ programs - some even don't see problems with _software as a service_.
+But only _libre_ software allows for betterment of our _craft_.
+Only by being able to freely modify and share software are we able to make the _craft_ better for future generations[^fn:11].
+I am paying for free software without any second thoughts by donating to some foundations.
+Yes, I make my living creating _properties_ software, but I try to give back.
+I refuse to _choose_ non-free software.
+I am forced to use some, but whenever there is a choice, I will choose _free_.
+
+This leaves Vim and Emacs as two the two _important_ and _libre_ editors.
+And with this, I have quickly removed almost all competition.
+Now, how did I choose between those two?
+
+
+## Different visions of computing {#different-visions-of-computing}
+
+Vim and Emacs represent two, vastly different visions of computing.
+
+Vim is a precompiled program with plugin capabilities.
+This is the vision of computing that has won.
+You get a binary (or, worse, a webpage) which makes your program do its thing.
+You can _expand_ it using different plugins and configuration, but the _program_ is an unmovable object[^fn:12]
+
+Emacs is different.
+We've got a very small _core_ written in C.
+It handles basic functionalities, but by itself is close to useless.
+But then we've got Lisp.
+Almost all user-facing functionalities are written in Emacs specific dialect Lisp.
+
+And Lisp is the keyword here.
+All of the codebase is exposed to the user, ready to be not only read (as with Vim) but also modified during runtime.
+You can _change_ Emacs at a whim.
+
+VSCode tries the same, as it's a JavaScript-backed browser dressed as an editor.
+Emacs therefore can be though as a Lisp-backed virtual machine dressed as an editor.
+But the former was already rejected on the basis of being non-free (and I don't to run more Chromes that it's absolutely necessary), so it leaves me with Emacs.
+
+I am not a Lisp programmer, but I started learning it.
+For now I like it more than JavaScript.
+
+
+## Community {#community}
+
+I am not a people person, but people are what drive me.
+
+And this another aspect which drives me to Emacs.
+There are folks who are happy with all-batteries-included distributions, like Doom Emacs.
+
+But there's a huge community of personalization maniacs.
+People change every possible aspect of Emacs, because the program allows it.
+Lisp is right there, and Emacs seems to be the last standing in the good fight to preserve _Literate Coding_ with _Literate Configuration_ people share.
+To name just a few, who are my personal inspiration:
+
+- [Alex Maestas](https://se30.xyz/conf.html)
+- [Pavel Korytov](https://sqrtminusone.xyz/configs/readme/)
+- [Protesilaos Stavrou](https://protesilaos.com/emacs/dotemacs)
+- [Derek Taylor](https://gitlab.com/dwt1/dotfiles/-/blob/master/.config/emacs/config.org?ref_type=heads)
+- [Sacha Chua](https://sachachua.com/dotemacs/index.html)
+
+But at the same time the community is _small_ and I have a thing for smaller communities.
+There are Vim users everywhere, but it's not that easy to find an Emacsian[^fn:13].
+But when you do, there are huge chances you've met someone at least interesting.
+All Emacs users who I've ever meet in real life became my mentors to some degree.
+
+Also, what is **very** important to mention: despite popular joke, there is very little hate in the Emacs community.
+People into Vim tend to tell mean joke about Emacs users[^fn:14] - and part of this joke is that the feeling is mutual.
+It couldn't be further from the truth.
+We all have great respect for other _libre_ editors and their users.
+In fact, a lot of us move between Emacs and Vim on a daily basis.
+
+Maybe this is partly due to age[^fn:15]?
+Emacs users tend to be, well, older.
+Some have their configs evolving since the 90s!
+They've already got a lot to show, so they don't need to be mean spirited?
+I have no idea, but what I know is that they are a lovely bunch!
+
+
+## Stability {#stability}
+
+Lastly, stability.
+I use [BSD](/bsd/) because it doesn't change for the sake of change.
+No SystemD will ruin a perfectly good workflow.
+
+Emacs is the same.
+It's badge of honor - very rarely were there any bigger breaking changes.
+When I used NeoVim, every few weeks something broke due to unfortunate update.
+In Emacs on the other hand?
+Not even once has something broke not from my own volition.
+
+Emacs comes with multiple competing solutions for the same problem, as people may rely on one of those.
+If a new one comes along, the old ones are not replaced.
+This increases the confusion of a new user, but it's very much appreciated.
+
+
+## Summary {#summary}
+
+Emacs is the only empowering, libre and limitless editor I know.
+It has an amazing community which values I share, and I want to participate in.
+Also, it does not require constant maintenance because someone changed something.
+
+Using Emacs _sparks joy_.
+
+[^fn:1]: I don't distinguish between Vim and Neovim here.
+[^fn:2]: amongst specific crowd at least.
+ But since you are here, it's quite possible that you are one of us.
+[^fn:3]: mostly keybindings. I am now armed with Evil mode, the best replication of Vim in any editor.
+[^fn:4]: <https://code.visualstudio.com/license>
+[^fn:5]: "The software may collect information about you and your use of the software, and send that to Microsoft"[^fn:4]
+[^fn:6]: <https://ruky.me/2022/06/11/im-switching-form-vs-code-to-vs-codium/>
+[^fn:7]: I refer to "GNU Emacs" as "Emacs".
+[^fn:8]: <https://www.gnu.org/philosophy/free-sw.html>
+[^fn:9]: <https://github.com/vim/vim/blob/master/LICENSE>
+[^fn:10]: <https://github.com/neovim/neovim/blob/master/LICENSE.txt>
+[^fn:11]: I will need to write a dedicated article about it at some point, as all that would only mud this one.
+[^fn:12]: I know you can modify the source code, but then you are running a fork and not the original program.
+[^fn:13]: this also applies my other love, [BSD](/bsd/)
+[^fn:14]: sadly, this was one of the biggest reasons I stopped following certain hyperactive Vim evangelist.
+ Let him become nameless.
+[^fn:15]: there is a very funny movie about this <https://www.youtube.com/watch?v=urcL86UpqZc>