3 ms·
It's not clear to me what Python the language offers over the Lisp family, other than improved readability for some class of users and translation to and from p
by monkeyfacebag 14y ago
It's not clear to me what Python the language offers over the Lisp family, other than improved readability for some class of users and translation to and from pseudocode (see Peter Norvig's comment in 2010: http://news.ycombinator.com/item?id=1803351 http://news.ycombinator.com/item?id=1803351 ). These aren't necessarily small advantages, but neither do they mitigate Lisp's power and flexibility. I do, however, think Python the community offers a lot of practical advantages to the new user over, say, any particular Lisp community.
- TylerE 14y agoA high quality reference implementation. This is, in fact, a trait shared with pretty much every other language to gain traction in the last 20 years. In Lisp, there is substantial fragmentation on how do things like GUI and Networking, and often no clear winner. SBCL seems to be the de-facto FOSS implantation, but Allegro is the leading commercial vendor.
- 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).