Let's seek some feedback by people who used it.
(emphasis mine)
I own LW for Linux, Mac, and Windows. That's a lot of $$$. But I can build trimmed down binaries for multiple platforms. If there's another platform I need, I can just pay LW, and it'll just work. (I used a beta version of LW for Android for a while, and I was impressed with how everything just works, I chose not to keep paying for it though since Android didn't remain a primary platform I was working on). As a solo dev, it would take me too much time to make my code work on multiple platforms without LW.
I like the Java support. I can use Java libraries when I need it. Very valuable.
I love LW's FLI vs something like CFFI. It's just very well thought through, and really well documented.
Speaking of documentation, the LW documentation is outstanding, and the folk at LW will respond to you explaining implementation details that aren't documented if you need it.
And it's rock solid. I have my server running for weeks and weeks at a time, with constantly reloading code. I don't think I've ever had a crash in prod except when I ran out of memory on occasion.
Cons: not every library is well tested with LW. You'll frequently have to fix libraries, or have your own fork of things.
I haven't used CAPI [their cross-platform GUI toolkit, based on Gtk on GNU/Linux] much. I don't use the IDE, I use Emacs+sly.
All that being said, SBCL is still fantastic. If you're building a web app, SBCL would work perfectly well for your use case.
@tdrhq of ScreenShotBot
https://www.reddit.com/r/Common_Lisp/comments/yq2t4r/why_buy_lispworks/ivmoexy/
My first Lisp job was building a touch-screen GUI for a law enforcement booking system that ran on an embedded Windows OS. We used LispWorks 5 if I recall correctly. It was stellar and extremely stable. Our attempts at the time to port to an open-source compiler were complete boondoggles for a multitude of reasons.
Aside from stability, the following stood out:
- Their GUI toolkit is great if you're building a commercial application.
- Their documentation is better than any open source Lisp compiler.
- Turn-key ways to build optimized, small, and safer executables and dynamic libraries. I don't think any open source Lisp offers good options to shake out unnecessary functionality from the Lisp image.
- You can pay someone to fix things that don't work as well as you want.
My big issues with LW:
- It's a great Lisp implementation, but it's just an ok compiler. It takes a ton more work to get performant numerical code compared to SBCL.
- Last I checked, it's $3k per OS per processor. So if you want to provide binaries for Win, Mac (Intel, ARM), Linux, you're going to have to shell out $12,000 or so.
stylewarning, same reddit link https://www.reddit.com/r/Common_Lisp/comments/yq2t4r/why_buy_lispworks/
The combination of CAPI, Common SQL, KnowledgeWorks and the Java interface inside a single image is difficult to beat. They’re all very solid and battle-tested. This integration as well as the substantial development velocity that comes from using CL is what finally convinced me to pony up the cash, which I definitely don’t regret. My current project is automated planning and scheduling in healthcare and uses all of these features.
The IDE tooling is solid and things like breakpoints, the debugger, stepper, tracer and profiler are really useful and ‘just work’ as expected. The editor isn’t quite as strong as Emacs, but can be tweaked to paper over the differences, and having immediate access to the documentation and much deeper integration with the rest of the system far outweighs minor annoyances like trailing white space that can be easily fixed with a pre-commit hook.
Other, smaller, things that I’ve come to appreciate:
- the advice facility
- embedded FLI modules
- dspecs
- action lists
- with-prolog / deflogfun to interface prolog and Lisp
- user defined streams over pointers into foreign memory.
- extremely fast start times in delivered applications
- being able to easily integrate my own extensions into the IDE
- gentle on my laptop battery and no annoying ‘help' compared to products like IntelliJ.
- it’s almost trivial to bang out a prototype or some utility application, complete with a user interface, in an afternoon.
- Like some others, I don’t tend to use saved sessions all that much. The compiler is fast enough that it isn’t a big problem to compile & load your code at the start of a session, and I find it helps prevent unexpected issues some delivery time.
- Yes, it is expensive compared to SBCL+Emacs or VS Code and whatever iteration of JavaScript we’re up to now. But I think you get what you pay for which is a solid, extensible, general purpose development environment with some fairly high-voltage batteries included.
same link
Top comments (0)