3 ms·
I used Sublime Text 3 through college and drifted between tools the past few years of my professional life, variously trying JetBrains' IDEs, VSCode, and some o
by fprog 6y ago
I used Sublime Text 3 through college and drifted between tools the past few years of my professional life, variously trying JetBrains' IDEs, VSCode, and some others. For Go, GoLand was nice, if heavyweight; for Python, VSCode had a fantastic plug-and-play experience, though it was hard to shake the feeling of using a web app, albeit a snappy one.
The Sublime Text 4 dev builds pulled me enthusiastically back to Sublime full-time, and I'm excited that it's close to release. It's been carefully modernized and is a joy to use. In particular, writing Go in Sublime with LSP (gopls) and Sublime's Go Build System plugin essentially makes it an IDE for me, but still as snappy as, well, Sublime. That's a hard combination to beat. I suspect Sublime's approach of "do one thing well" (text editing) is especially well-suited for a language like Go, which has such an excellent selection of first-party tools. Sublime's approach lets those tools shine rather than hiding them away.
It's hard to name all of the features that feel fast. Some are little, like scrolling; many are bigger, like starting up the editor, switching projects, and searching for symbols, all of which are instantaneous. Even the dev builds have been remarkably stable; the result of the care taken is that the whole application feels crafted. It's a quality that HN (rightly!) laments is lacking in much modern software.
There are caveats; in particular, to get gopls to work, I recall having to search around a plugin's GitHub issues to find a solution for some problem with my $PATH. Not everyone will want this upfront learning investment. For me, the tradeoff was worth it. Having gotten familiar with the Sublime console and just a bit of how its plugin system works, there are no longer any parts of my editor I'm scared of and consider a black box.
Finally, I am happy that I paid for Sublime; I own my copy. The VSCode community seems vibrant and sustainable, but when trying it, I couldn't shake the feeling that I was living in Microsoft's world. They've shepherded it well so far, and it would seem they have incentive to continue. But despite being OSS, I never felt it was mine. One modicum of validation to that feeling: Microsoft recently (last year?) switched to a closed-source model for the Python language server that made the VSCode python experience so great for me. So overall, the transaction with Sublime HQ felt clearer to me. I paid them money for a great editor, rather than using an editor for free in exchange for goodwill or developer mindshare. That is a transaction I'd make again.
- memco 6y agoI love Sublime, but like many others have not used it nearly as much in recent years due to how much more powerful VSC is for Python development: do you still do work in Python and if so, does ST4 have a somewhat comparable experience to VSC? Last I tried (which was two or three years ago) I couldn't get code navigation, completion and debugging to work on nearly the same level and remote editing in VSC was also much easier to set up.
- fprog 6y agoUnfortunately I haven't worked with Python in some time, so I can't say. If my Go experience translates, then the basics (code navigation, completions, definitions...) have gotten much better, both in form and function. Those could be worth another try. I'm less sure about debugging, and as far as I know, there's no equivalent to VSC's remote editing. I've heard great things about that VSC feature and been meaning to try it out.
- krut-patel 6y agoI'm someone who always tries to use the "right tool for the job", CLion for C/C++ (large projects), VSC for Rust (the inline type hints from Rust Analyzer are to die for), and ST for Python. I tried out the python experience in VSC but have found it to be _inferior_ to the speed of ST when coupled with the Anaconda (not the venv stack) plugin [0]. It supports venvs, build systems (even remote jobs, but I haven't messed around with those), and all the basic things like go to definition (instant! Even works inside libraries) and find usages work quite well. When paired with the SublimeREPL plugin, I get the venv repl inside ST _with_ autocomplete. That is just a step below full blown (slower) Jupyter notebook experience. The Python exception tracebacks in the output panel have their file paths clickable, so I can immediately jump to the source line. This is adequate for me in terms of debugging experience, but ST obviously doesn't bundle a full-fledged debugger like VSC. The quality of autocomplete is pretty much the same as VSC since both Anaconda and the LSP server use Jedi internally for all the core stuff. There are definitely some rough edges, like having to set the python interpreter path for a new project using venvs, instead of the auto-setup we see in VSC. Another thing is the development of Anaconda has mostly gone into maintenance mode, and is much slower with bug fixes than VSC in that regard, but this hasn't affected me by a lot since most of the core functionality is pretty stable. I really recommend giving Anaconda+ST a try for your Python dev needs. [0]: http://damnwidget.github.io/anaconda/ http://damnwidget.github.io/anaconda/