6 ms·
I concur. The big advantage to picking up one of these Lisp-like languages (rather than Lisp itself) is that with their corresponding web-frameworks (Rails and
by alanthonyc 18y ago
I concur.
The big advantage to picking up one of these Lisp-like languages (rather than Lisp itself) is that with their corresponding web-frameworks (Rails and Django), you will be able to put up some pretty cool apps pretty quickly. This helps your motivation as well as your bottom line personal ROI (they're both pretty marketable skillsets).
I don't think you lose all that much, as far as the experience of picking up a functional paradigm goes. (This last bit is not fully backed up by experience with Lisp on my part.)
- javert 18y agoI wouldn't call Rails and Python "Lisp-like languages."
- silentbicycle 18y agoPython's lead designer is actively hostile to this, actually. (And Rails isn't a language, goshdarnit...) Lua is very Scheme-y, though, much the way Javascript is. While I don't use Ruby much (Python and Lua fit that niche for me), it seems more Lisp-y than Python.
- alanthonyc 18y agoYes, I did read his post about his basing Python more on C and Algol than functional languages. But then he goes on to explain how and why Python got more functional programming features. Also, I based my assumption that Python is "lisp-like" on a statement I remembered from one of PG's essays: "Each one is progressively more like Lisp. Python copies even features that many Lisp hackers consider to be mistakes. You could translate simple Lisp programs into Python line for line." If there is more context to all this that I am missing, then my mistake. Anyway, I wasn't looking to make any detailed comparisons between languages for the OP. I was just saying...hey, Python or something else could be fun to learn...
- silentbicycle 18y agoIt's "Lisp-like" in the sense that it's garbage-collected and has an interpreter for incremental development, rather than only being batch-compiled. If PG were a Smalltalk fan, though, he would probably be talking about how every language is getting more Smalltalk-like (the above, plus class-based OO in the core language). It says at least as much about him as it does language design. Python's lambdas are quite a bit less powerful than any Lisp's, and it doesn't have any tail call optimization. It's like, you can kinda sorta do functional programming in C, you just need to recast function pointers and do manual memory allocation. Python is carefully designed to encourage programming in a certain relatively straightforward style, and while you can force some FP techniques into it, it doesn't sit well with the rest of the language, and it's kind of unfair to anybody else who will have to deal with the code down the road. While I don't have much experience working with web frameworks (not my thing at the moment), Python is a very good all-purpose language.
- alanthonyc 18y agoI gotcha. Well, I picked up PG's book and was starting on the language, when I came up with a project I wanted to get up and running quickly. So, I figured Django would help me get something going (it was either that or Ruby/Rails). What I failed to ask, I guess is...is there an equivalent web framework for Lisp? I guess I might have gone in that direction if I knew of one.