2 ms·
"In Lisp, there is substantial fragmentation on how do things like GUI and Networking, and often no clear winner" Is there a clear winner for GUI in Python? G
by betterunix 14y ago
"In Lisp, there is substantial fragmentation on how do things like GUI and Networking, and often no clear winner"
Is there a clear winner for GUI in Python? GTK, Qt, etc. Python also has quite a few networking libraries; networking in today's world is more than mere sockets.
"SBCL seems to be the de-facto FOSS implantation"
Meh, GNU Clisp is pretty relevant, and a lot of people are using Clozure. CMUCL also remains relevant, if only because of its useful extensions (SBCL is a fork, and dropped many extensions like Motif support).
I think what CL really needs is an update, a CLtL3 that adds support for modern features. Modern Lisps like Clojure and Racket do not have many of the constructs that make CL great (which is not to say that Clojure or Racket are not great languages, but they are missing some of the nicer CL features).
- TylerE 14y agoThere are alternative's in the Python world, but they are not mutually exclusive. Where-as in the lisp world stuff like the socket interface is DIFFERENT depending on the implementation. So you don't get to pick and choose.
- pavelludiq 14y agoCompatibility libraries exist for nearly every implementation detail like the one you describe. Threads and networking being incompatible was a valid concert 15 years ago.
- TylerE 14y agoIt's still a layer of complication and headaches most languages just don't have.
- takikawa 14y ago> (which is not to say that Clojure or Racket are not great languages, but they are missing some of the nicer CL features). Any examples? Just curious.
- betterunix 14y agoWell I suppose it really boils down to taste, but two things come to mind: 1. LOOP -- (loop for i in some-list maximizing i) is just the beginning of nice iterative constructs in CL. 2. Conditions -- continuations are a building block for this, but it's nice to not have to build it up yourself. Agents in Clojure are pretty good also, but not applicable for any exception (correct me if I am wrong, I am not as much of an expert in Clojure as in CL). Again, just a matter of taste. Clojure and Racket certainly have advantages over CL, just by virtue of supporting more modern features (especially Clojure, which inherits all the features of the Java standard library).