5 ms·
I don't get all the love for lisp. In my lisp experience I remember being in debugging hell trying to count out between 18 and 19 close-parentheses to add some
by andrewparker 19y ago
I don't get all the love for lisp. In my lisp experience I remember being in debugging hell trying to count out between 18 and 19 close-parentheses to add some parameter I'd forgotten. Bad memories.
- tl 19y agoMost text editors have some sort of parenthesis matching highlighter. I don't usually find counting () to be that difficult. I see that the greater problem is that lisp (and a lot of languages that empower functional programming ideals), undermine the idea of lines of code that other tools like source control and debuggers take advantage of.
- xlnt 19y agoif you're having that much trouble debugging paren, put them all on their own lines and use indentation. then it'll be easy enough to fix.
- brlewis 19y agoIf he used an editor that auto-indented parens, he would probably be using an editor that had M-x forward-sexp and M-x backward-sexp too, so the debugging wouldn't be a problem. Still, 18-19 close parens sounds excessive. The source for ourdoings.com has 1 place with 9 close parens in a row, 4 places with 8, and 7 with 7. That's in 13KLOC.
- apgwoz 19y agoI looked and discovered you were using Jetty, does that mean you're using SISC or JScheme?
- brlewis 19y agohttp://brl.codesimply.net/ http://brl.codesimply.net/
- apgwoz 19y agoFunny, I didn't say Kawa because I've always assumed SISC was more popular... I didn't know about BRL though, thanks for the tip!
- brlewis 19y agoKawa can't capture continuations, so SISC definitely gets more attention. However, Kawa is way faster. If you read SISC's performance boasting you'll notice that it only compares itself to other Scheme interpreters on the JVM. Kawa is a compiler.
- mixmax 19y agoCould you elaborate on your experience? You very rarely hear anything bad about lisp, so it would be interesting to hear more from someone who has had a bad experience with it. There is probably no perfect language, and every one has its good and bad sides - it would be great to hear more about the bad sides of lisp. Simply because the arguments are never heard. I'm assuming that there are bad sides of course :-)
- gruseom 19y agoThat doesn't sound pleasant, and no one would want to work that way for long. But no one does work that way in Lisp for long. Any decent editor takes care of all that. And it's not like that fact is obscure, either! The parenthesis objection is always the first thing to come up, and the editor rejoinder is always the second... it's the ceremonial opening of The Lisp Debate. Why do the parentheses always come up? E.g. Crockford advocating Javascript: "You get lambdas without having to balance all those parens." But balancing all those parens is easier than balancing all those parens, curly braces, square brackets, commas, and semicolons that one is used to in other languages (again, assuming a decent editor). This is so obvious to me that I wonder whether the parenthesis business is a stand-in for other things that people really don't like about Lisp. It's harder to pin those other things down so people single out Lisp's most visibly distinctive feature - parentheses - instead. (This has the bonus of being instantly convincing to the ignorant.) I'm not saying people should like Lisp, or that if they're intelligent enough and give it enough of a try, they will like it. I know at least two brilliant programmers who meet those criteria and don't like Lisp. (Interestingly, both favor Smalltalk.) I don't know of anyone who's quite gotten to the root of why.
- watmough 19y agoYou should watch the SICP videos, and play along with MzScheme. Sussman has a sort of rythym when he closes parens. It was definitely a moment for me when I sort of recognised myself doing it. I think once you have written enough functions in Lisp or Scheme, it becomes ingrained, that you sort of parens-match whilst reading back through the function. I've only written a few thousand lines, so it doesn't take that much practice. Obviously you sort of need a real project to even make a dent in picking up a language.