Without database access, sockets, threads, POSIX, or a portable FFI (which I could at least use to write many of those features), my programs can't talk to the outside world, and that makes them basically useless.
Is this a troll, or did the author simply not do very much research?
CLSQL can talk to MySQL, PostgreSQL, SQLite, Oracle and (through ODBC) MS SQL. What database does dking want to access?
I'm pretty sure all the major Lisps provide a socket interface. Usocket standardizes it.
I think the commercial Lisps provide threads. SBCL and CMUCL have threads on certain platforms, especially x86 Linux.
POSIX is available through the FFI, but some Lisps provide their own POSIX package. I think there's some work being done on a more portable library.
CFFI and UFFI are both good FFIs portable between all the major Lisps.
Everything the author asks for is easy to find. Many of these libraries are the first hit for a reasonable google search (e.g. "lisp sql"). I've had issues finding good Lisp libraries on occasion, but the situation is much better than the author suggests.
> Is this a troll, or did the author simply not do very much research?
It's not a troll, and I did do some research. I wrote this a few months ago (this is its second round on news.yc, and I'd make some addenda to it if it weren't actively linked to at the moment). My biggest problem was that I was insisting on portability across implementations, because that's something that I got for free in languages like Ruby that I didn't want to give up. Reading around, it looks like most Lisp users didn't have such a requirement, and mine was largely engineered because of bias given to me by the implementations of the other languages I was using.
When it comes down to it, I needed an implementation with those things that would work with FreeBSD, OS X, and Linux, and maybe sometimes Windows, and support threads, WebDAV, and some other stuff. While I still can't find a WebDAV client library, it looks like my requirements for portability across implementations may have been unfounded.
Since then I've gotten into Erlang, but if I were to try Lisp again it would probably be a Scheme after reading around.
The problem is, yes, there are libraries available for these things, but as far as I can tell they're not usually included or standardized. When I fire up Ruby or Python or whatever I know that most of the things I need are already there, and I don't usually have to go hunting down libraries all over the net.
There are just too many options for dialects, libraries, etc. I want one standard Lisp that has all the "expected" things built in so I can focus on programming.
I had similar issues. But I find that the simplest way to get around them is to use VMWare or Parallels, depending on what your emacs is running on. Run Lisp inside the OS of your choice and connect to it using Slime.
If you don't use Slime+Emacs+Tramp, I don't think it's worth getting into CL at all. Slime absolutely rocks my world. I have 8 SBCL instances running on multiple machines (virtual and dedicated) on my network and the internet, and I don't have problems doing any lisp development.
My advice would be to pick the OS/Lisp implementation based on what you think you might need.
About SQL, for example, I'm using Submarine (ORM) with Postmodern and it's running like a charm. For Web development, there are Hunchentoot, AllegroServe and interesting frameworks like UCW or Weblocks (each one I'm using right now).
Maybe the guy didn't tried enough, more 5 min. at google would be enough ;-)
I was thinking the same thing -- there's also a Lisp for the JVM called Clojure (http://clojure.sourceforge.net/) which he might have found interesting.
Lisp the Platonic ideal is powerful and important. Particular dialects like Common Lisp and particular implementations are akward because the ANSI standard is intentionally silent about common network, I/O, etc. stuff.
Submitter: thanks for submitting the (original) ketralnis.com article. The same article was submitted under my experimental domain wrotit.com to reddit, and I'd much prefer to reduce the incoming links to that domain until I've made final decisions about the link and URL structure over there :)
[+] [-] Zak|18 years ago|reply
Is this a troll, or did the author simply not do very much research?
CLSQL can talk to MySQL, PostgreSQL, SQLite, Oracle and (through ODBC) MS SQL. What database does dking want to access?
I'm pretty sure all the major Lisps provide a socket interface. Usocket standardizes it.
I think the commercial Lisps provide threads. SBCL and CMUCL have threads on certain platforms, especially x86 Linux.
POSIX is available through the FFI, but some Lisps provide their own POSIX package. I think there's some work being done on a more portable library.
CFFI and UFFI are both good FFIs portable between all the major Lisps.
Everything the author asks for is easy to find. Many of these libraries are the first hit for a reasonable google search (e.g. "lisp sql"). I've had issues finding good Lisp libraries on occasion, but the situation is much better than the author suggests.
[+] [-] ketralnis|18 years ago|reply
It's not a troll, and I did do some research. I wrote this a few months ago (this is its second round on news.yc, and I'd make some addenda to it if it weren't actively linked to at the moment). My biggest problem was that I was insisting on portability across implementations, because that's something that I got for free in languages like Ruby that I didn't want to give up. Reading around, it looks like most Lisp users didn't have such a requirement, and mine was largely engineered because of bias given to me by the implementations of the other languages I was using.
When it comes down to it, I needed an implementation with those things that would work with FreeBSD, OS X, and Linux, and maybe sometimes Windows, and support threads, WebDAV, and some other stuff. While I still can't find a WebDAV client library, it looks like my requirements for portability across implementations may have been unfounded.
Since then I've gotten into Erlang, but if I were to try Lisp again it would probably be a Scheme after reading around.
[+] [-] tlrobinson|18 years ago|reply
There are just too many options for dialects, libraries, etc. I want one standard Lisp that has all the "expected" things built in so I can focus on programming.
[+] [-] vikram|18 years ago|reply
If you don't use Slime+Emacs+Tramp, I don't think it's worth getting into CL at all. Slime absolutely rocks my world. I have 8 SBCL instances running on multiple machines (virtual and dedicated) on my network and the internet, and I don't have problems doing any lisp development.
My advice would be to pick the OS/Lisp implementation based on what you think you might need.
[+] [-] mov|18 years ago|reply
[+] [-] mov|18 years ago|reply
About SQL, for example, I'm using Submarine (ORM) with Postmodern and it's running like a charm. For Web development, there are Hunchentoot, AllegroServe and interesting frameworks like UCW or Weblocks (each one I'm using right now).
Maybe the guy didn't tried enough, more 5 min. at google would be enough ;-)
[+] [-] brlewis|18 years ago|reply
[+] [-] hhm|18 years ago|reply
Rather than a Lisp that runs on the JVM, I'd be very interested in knowing a Lisp that somehow runs as Python bytecode. Does such a monster exist?
[+] [-] dpapathanasiou|18 years ago|reply
[+] [-] henning|18 years ago|reply
Old news.
[+] [-] ketralnis|18 years ago|reply
[+] [-] awt|18 years ago|reply
[+] [-] unknown|18 years ago|reply
[deleted]
[+] [-] sohail|18 years ago|reply