Hacker News new | past | comments | ask | show | jobs | submit login

Why do you want to take away my ability to choose a suitable implementation?

I let you have your freedom to choose a scripting language.

Lisp is a family of different languages and implementations. Like 'scripting languages': python, rebol, ruby, javascript, vbscript, ... - similar problem there: why not have one main language? why these all these scripting languages which share almost NO code?

In Common Lisp I have a core language and can share lots of code between different implementations. ECL compiles to C and byte code and can be embedded. SBCL uses an optimizing compiler to machine code. CLISP uses a byte code engine written in C. ABCL is compiles to the JVM. LispWorks and Allegro CL define very large languages with lots of bells and whistles. Each of these implementations have been developed for different usages scenarios. CLISP is fine for scripting, LispWorks is better for the development of portable applications with a GUI.

There are Common Lisp implementations that are more popular than others. For free implementations SBCL is the most popular. But there is competition. CCL is also very good. Some implementations are less popular, but they survive because they use different implementation technologies. The commercial implementations like Allegro CL and LispWorks are also widely used, and provide features that the other implementations don't provide or don't provide as complete. LispWorks for example has a cross platform GUI toolkit that is used to implement its cross platform development environment. One can develop sophisticated GUI applications that can be compiled for Windows, Unix, Linux, FreeBSD and Mac OS X without changes.

Dan Weinreb gives an overview: http://common-lisp.net/~dlw/LispSurvey.html .

Ruby for example does not give me these choices. The main implementation is widely used, but lacks much of what the advanced Lisp implementations offer - which enables me to write a different class of applications in Lisp.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: