25 comments

[ 43.7 ms ] story [ 558 ms ] thread
...and you have to get the enterprise edition (+2400€) if you want the luxury of 64-bit.
LispWorks and Franz are both expensive because they offer very good support and have some very talented staff that need to get paid.

The free SBCL and Clozure CL systems are very good also, and free support from the developers can be good: one customer project using SBCL 4 years ago hit a snag running on a 64 GB server and one of the developers sent me a patch in a few hours. Excellent!

I don't doubt the quality of LW, I just doubt that 64bit can be considered an optional feature these days.
And why not? Almost all OSes except unix (and maybe *BSDs) ship almost completely 32bit userspace these days (Solaris does this for ~15 years). Most applications does not need more that 2GB of memory, which is largely only reason to go 64bit. Although on amd64 it's slightly more complex, because of new registers and instructions, which may overweight increased cache and memory BW requirements of 64bit code.
Doesn't 32bit get your 4gb of memory, not just 2.
Windows at least chops off 2GB for itself so you only have 2GB of the address space. Other OSes chop off similar chunks.
You can boot with a special parameter to increase the available user address space to about 3GB, but that's not terribly well-supported, and you'd only want to do that on your own servers, not expect customers to do it.

There are also explicit paging APIs which allow you to unmap ranges and later map them back in, but it's a pain. Usefulness of this is limited anyway, as physical RAM is limited to around 3GB on the client versions of Windows (Windows Server supports more via PAE).

A useful trick is to run a 32-bit process on a 64-bit version of Windows, you can get close to 4GB of address space that way. No need for special boot flags.

For all of these cases, your executable needs a special "big address space" flag set.

FWIW, most x86 Linux kernels set aside 3GB for user space.

Mac OS is 64bit, and most of the applications are already 64bit. Applications are compiled by default using 64bit (you need to pass a parameter to gcc to create 32 bit executables).
I think it's a great way to do market segmentation. 32 will run, but people who are serious will get the 64 version.
Really? Every 64bit OS I know of can run 32bit programs.

Seems a pretty fair segmentation to me.

Still cheaper than a single license for a single developer for a single platform for QT.

hmm, Lisp or C++.

I just downloaded the non-commercial version and tried it out. The interface does not seem to have changed very much over the years, but it has always been nice.

I bought Linux, Windows, and Mac LispWorks professional licenses about 8 or 9 years ago. One very nice thing about LispWorks is that the utility to make standalone applications has a "tree shaker" to toss unused code so executables can be reasonably small (compared to SBCL where a standalone app is about 30 MB minimm or Clozure CL where a standalone app is around 20MB minimum).

I always thought that the tree shaker was the really big win for LispWorks.

Now, when I want to use a Lisp to create small standalone applications I use Gambit-C Scheme.

BTW, about 10 years ago, I was paid a fee to work on the LispWorks documentation - but that does not bias my opinion.

Interesting.

I remember Actor (an Algol-ish syntax flavor of Smalltalk that ran on Windows 3) had a similar thing to trim the image file prior to packing up the runtime. It removed everything that whatever your app was didn't depend on.

I learned to program with Actor. God I loved programming in that environment.

Why the heck did Symantec buy the whitewater group if they were just going to kill the damn thing!

This happens all the time. Mainly a company wants the technology and, more importantly, the people making the technology to apply to their own products. This is how Sun got its Java hotspot VM, they mainly got people doing this successful for Smalltalk and other languages.
After learning Smalltalk and then Actor, it took me years to find it bearable to learn C++. It didn't feel right, nor a step in the right direction.
Dolphin Smalltalk had (has?) this as well.
This looks wonderful, especially the polishing they have been doing to the IDE. Unfortunately, it's also way outside of my price range.
The Personal Edition isn't -- it's free (but crippled by heapsize and runtime limitations, and some missing features, so you have an incentive to buy one of the payware versions).
It seems to me that the main hooks of Allegro and Lispworks are things like modern UI bindings, really solid database integration, modelling tools and stand alone applications... but these are the features excluded from the trials.
IMO it would depend on what you do. If well-rounded libraries and a good IDE would make you far more productive than a free or less expensive product, then it is probably worth the admission price.

We use a proprietary Prolog interpreter (SICStus), but it comes with very good support and it has some advantages over open source interpreters that matter to us. Plus they provide continuing support/maintenance for their previous major version.

I bought Lispworks Professional several years ago, but now only use SBCL - why pay when you can have such a powerful and robust system for free.
Depends on what the paid option offers, of course. In the case of Lispworks it has (as mentioned elsewhere in the thread) a "tree shaker" that makes building stand alone apps a lot nicer than SBCL. It also has a superior debugger. I'm sure there is more but these are what stood out to me when I evaluated it (I currently use SBCL almost exclusively, but I can see why someone would pay for Lispworks).