I can't remember, right off. I want to say that slime was having issues for me one day, and someone suggested sly. I switched and inertia has kept me on it. I don't know of that many differences, all told. It was nice that I didn't have to remember what all nice plugins I wanted for the repl. And then the stickers and such are just fun.
For what it’s worth, if your goal is to write Lisp in Emacs, a reasonable environment can be set up in a few minutes on a modern system with a package manager:
1) Download Emacs
2) Download e.g. sbcl
3) Install SLIME using Emacs’s package manager
4) Maybe install paredit
That’s basically it, modulo a few small bits of configuration I may have overlooked.
Failing that, true support for out-of-the-box with Visual Studio Code would be nice. Yes, I know about Alive and that... what I mean is, you open up a Lisp file and it asks to download the LSP for Lisp, Alive, and other support extensions.
The barrier to entry is not the IDE, its that Lisp is not fashionable at the moment. Those who know how to use it, put their head down and do the work, those who dont will follow the next fashionable trend for their work that they see their employment needing.
3/4 of devs use Visual Studio Code. A significant portion of the remainder use full-fat Visual Studio or an IntelliJ product.
The number of new Lisp users in 2023 is pretty small, sure. But it's frickin' 2023, those users need a better onboarding experience than having to futz with Emacs, even given something like Portacle. They will be familiar with VSCode or one of the above IDEs, not Emacs, and they shouldn't have to entirely relearn how to write code.
>But it's frickin' 2023, those users need a better onboarding experience than having to futz with Emacs
Funny, the years spent onboarding Emacs, and GNU/Linux for that matter, was the experience I was looking for.I never wanted to be just another cog in a well lubed task grinding machine.
>they shouldn't have to entirely relearn how to write code
If you are referring to elisp, it really isn't a mountain to climb or anything like that. Besides, only very basic lisp knowledge is required to customize Emacs, after that you can code your day away in a lisp of your choosing.
If you are looking for a more modern experience with emacs try elgot + tree-sitter [1]
There are developers out there who don't just jump on the next fashionable trend but who still want a better out of box experience than "you want to learn Lisp? Cool also learn emacs and about all these different lisp distros"
Common Lisp will probably never be the next Python, but it might be the next Ruby.
Thanks for this. I don't get to far in the weeds with setting up emacs but this showed me how to make the toolbar disappear so I'll be adding that.
I've unfortunately put CL on the back burner for the past month or so. I felt I kind of stagnated with it, couldn't grasp some concepts (condition systems), and then felt I needed to up my game at work so put CL aside for a bit.
Today, FYI, we have good to very good plugins for other editors: Atom/Pulsar, VSCode, Jebrains, Sublime, vim of course: https://lispcookbook.github.io/cl-cookbook/editor-support.ht... as well as a Jupyter kernel, simpler support with Eclipse and Geany, as well as Lem, a ready-to-use editor for CL (and other languages with its LSP client). The LispWorks IDE (with a free version) is less surprising than Emacs and has more graphical widgets.
Lispworks IDE free version seems like the safest bet for a beginner recommendation. It works without fuss, it has a GUI step debugger, is well supported, consistent across platforms and architectures. All those things outweigh the limitations of the free version for newbies IMHO.
> who hears “10k commands” and goes, “wow, perfect”
You have to understand: Those thousands of commands are like songs. You wouldn't pay and subscribe to Spotify if they allowed only a few hundred songs, right? When another editor adds another command, it's not composable. You cannot meddle with it; there are no hooks, no advising. In Emacs, every command is a function, a function you can alter, extend, exploit, or override. So, yes, give me a million elisp functions. I'd love to use them in every weird way possible.
Relatedly, I made the switch to sly not long ago. Well, ok, it was a few years at this point...
Regardless, worth taking a look at including in this guide. http://joaotavora.github.io/sly/#Stickers, in particular, are very powerful and fun playing with.