Another enjoyable read. Thanks! One thing, though -- it's about time to update your understandings of Python's object system. Python's culture doesn't insist that traditional (Smalltalkish) OO is the One True Way to re-use code, but that doesn't mean that everything in Python is not an object (because they are, since 2.2 several years ago) or that Python is less OO because Guido likes the explicit self in method declarations (because really, we both know that's just a syntactic quibble) or Python prefers a protocol-based approach to common functionality like "sorted" or "len" rather than a purely method-based one. (I think that covers the usual complaints. :)
Steve, thanks for another interesting rant. I've watched the lisp community for the last ten years. I've dabbled in scheme and common lisp and although I learned a lot I've never really felt that it was worth using them for serious projects. It always seemed more pragmatic to leverage the existing libraries that exist in the python/ruby/c++ communities, where I know that, at least for a few years, you're going to have user communities that number into double digits. One language that doesn't get mentiod often these days is Dylan. I had great hopes for it, it had the makings of a better lisp than python or ruby, it had macros if you really needed them, it was deeply OO, it had equivalent infix and prefix syntaxes, it even had native compilers and the potential for C++ level performance. Unfortunately it had multiple abusive parents who each abandoned it before it reached maturity. Now that the Fun-O implementation is open sourced maybe it's worth another look ? From a human perspective we need a DHH marketing effort to do for Dylan what was done for Ruby. There's nothing like a killer app to hype a programming language, theoretical arguments just don't cut it. I don't suppose it's likely to happen but one can always dream ... Reference: http://www.opendylan.org/
Very interesting read. As someone who's been playing with Lisp lately, I certainly identified with the confusion about which Lisp to pick and all the different implementations and CFFI and UFFI and ASDF, etc, etc. Have you seen the list of prerequisites to go through the UnCommon Web Framework tutorial? It seems to me that Python and Ruby have most of the power of Lisp, but then they have the advantage of a canonical implementation and tons of libraries to let you do interesting things right away.