Really? Write any tree structure in Java or C++ and the accompanying algorithms. Write the same structure in Standard ML. I bet that the Standard ML version is half as long and not filled with memory allocation code that’s irrelevant to the algorithm.
Well, it’s been 25 years or so, but I think it was the Winston book. Not only was “The Little LISPer” just a bit twee, but I think it referenced a fairly obscure dialect of Lisp with funky set quote functions.
As for Candid Gamera’s opinion on Lisp – * everyone * who moves to Lisp from a procedural language * hates * it. For a while. Then you realize that you’re being ridiculously productive and that you have no desire to ever program in anything else. Some of that might, of course, be the interactive nature of the Lisp interpreter which means that you have debugging capabilities that most languages can’t even dream of.
LISP’s case wasn’t helped for me because our access to the interpreter was over a crappy TELNET client that made editing text you’d already entered next to impossible.
My university teaches Python to first year mathematics students, and I was very impressed with how elegant it is (and I’d only programmed in BASIC before that). It inspired me to start programming for fun again.
Python (almost) completely lacks the WTF-factor of other languages. No more “Why can’t I do this?”, “Why doesn’t it work like this?”, “Can’t you tell what I’m doing without that?”, etc. It works exactly like you expect it to – it was designed that way. The Python developers had a chance to observe what works in other languages, and discards or borrows those features accordingly.
However, I’ve only used it for simple “programming for the sake of programming” sort of tasks (simulating monopoly, phonetic translator, etc). I have no idea how suitable it is for system stuff or making applications.
Sorry, It sounds a bit presumptuous to say I’ve only programmed in Basic then talk about Python’s edge over other languages. To clarify, I can only program properly in Basic (and OPL, which is very similar). I’ve had a look at C++ and Java, but got frustrated and gave up with both.
At our company, which does a lot of professional software, we’ve switched most of our in-house software development to Python because its so much easier than any other language we’ve tried, yet has all the capability and flexibilty we could want. As a colleague says, “I could program something in Python in one tenth the time it would take me to do it in C.”