Rant: More thoughts on Sublime Text
I finally caved in and bought a copy of Sublime Text 4, along with Sublime Merge 2.
I've been using them for the better part of a month and I have some more thoughts I'd like to write down.
Stability and Age
When I wrote my original post, I mentioned that Emacs has been in active development for something like 40 years, and that ST4 could never compete. I'm learning that not only open-source projects can maintain stability. Several of the Sublime Text plugins that I've been installing are incredibly stable. Some of them were written for ST2 and have been around for over a decade! That's impressive, certainly much more stable than I would have thought.
I think it's very likely that ST will be around for a while. Even if it isn't, the software still works and so do the plugins. With the introduction of LSP I could feasibly keep working in this editor and just adding features to a language server for a very long time.
So, even though it's not as stable as Emacs - I don't think I'm worried.
Python
I always considered myself pretty good at Lisp and didn't find configuring Emacs or editing plugins or reading source code to be all that challenging. Because of this I didn't think I would notice any substantial difference between ST4's Python-based API and Emacs's Lisp API. In my previous post I mentioned that Python was cool, but since ST4 was so much less flexible I probably wouldn't love it like I Emacs Lisp.
Boy, was I wrong. The ST4 API is significantly smaller, easier to understand, and more convenient. Editing Python is nearly effortless. I wouldn't say Lisp is hard to write but I seriously underestimated the amount of friction trying to remember what everything did.
Compounding this, most plugins I encounter are small, or if they're not small then they're extremely readable. Emacs is full of esoteric and old names - none of that here.
JSON isn't so nice to write as a configuration language but reading other people's configs is dead simple most of the time - there's no need to guess what "word_wrap": true
means.
Documentation being built-into Emacs is nice, but reading documentation in a browser is usually easier, and with a proper config you get 80% of the way there in ST anyways.
Speed and Failure
Most of the time when I made a mistake in my ~/.emacs
, it resulted in the editor crashing or being otherwise non-usable, and I would have to close it and restart again.
ST4 auto-reloads plugins and it seems like such a small thing, but it is extremely fast and nice. If you break something, the other features usually remain working, and you get a pop-up telling you that something broken. This experience is much nicer.
The Right Tool for the Job
In the past, whenever I wanted Emacs to do something, I would hammer away at Lisp trying to get it to work. Eventually after like two hours of writing Lisp and pouring over documentation, I would get a 90% solution, where the last 10% would annoy the hell out of me for the coming months until I finally got used to it. Using this method, I wrote the beginnings of an entire PIM at work that linked my Org nodes and my Outlook calendar.
Now the workflow looks something like this:
I search "Can you do X in Sublime Text" in Google. If a solution exists or seems possible, I either download it or write a quick Python plugin myself. If the solution seems really complex, I quickly figure out that Sublime Text just can't do that. I then go download another tool that can. For example, a calendar app for managing calendars.
An Aside
I talked about this in the last post but I'm more convinced the more I use different tools - it all does come back to being older. The hacker mindset is exhausting. Doing everything yourself means living with only what you can make. As I get older and I have less and less time to do anything, much less the things I like. Hours spend reading documentation used to feel charming and exciting, like a choose-your-own-adventure book. Now I just feel sad and frustrated that computing is so difficult when it feels like it should be so simple.
I am not even 30 yet and I feel very jaded about the future of computing. As mindset changes my tools are changing. I find myself more willing to make compromises, such as paying for tools or services, or forgoing a feature. A few weeks after starting to re-think my text editing experience, I started reading the writing of Nikita Tonsky and it really, deeply resonated with me. I don't think it's a coincidence that he also uses Sublime Text.
In Conclusion
It feels sacrilegious to say, but ST4 is more Unix than Emacs because it does One Thing Well, even though it doesn't originate from that intellectual crowd. Yet somehow it also embodies many of the philosophies of Emacs - being fast, configurable, and relying on text as an interface.
I am still using Emacs every day to edit .org
files and the like.
I'm glad I learned and used Emacs, and because of the stability, my configs (should) work even if I need them a few years from now.
But I'm also glad that I'm branching out and trying new things.