3 ms·
What, nobody wants to piss on PG's beloved language? Well, I DO hate Lisp and I'll tell you why. Syntactically speaking is the ugliest of all. I don't deny its
by TweedHeads 18y ago
What, nobody wants to piss on PG's beloved language?
Well, I DO hate Lisp and I'll tell you why. Syntactically speaking is the ugliest of all. I don't deny its inner beauty but those parenthesis are a stopper for me.
Look, nowadays we have powerful IDEs that help programmers do their job. How about an editor that subtly hides the parenthesis so they are out of the way when you don't need them?
Maybe then I would consider it, meantime no, I don't want to be cool.
- KirinDave 18y agoSo things like paredit mode (http://mumble.net/~campbell/emacs/paredit.el http://mumble.net/~campbell/emacs/paredit.el) for Emacs don't count because... why exactly? Honestly I find most people who "hate parenthesis" don't actually hate parenthesis. They hate the idea of having to delimit the start of a statement as well as the finish. And unless your editor is helping out it can sometimes be a pain (let's admit it, it can be). But like every computer language, Lisp makes a tradeoff here and says that the features they can enable with such an incredibly regular syntax outweigh the pain of needing an editor mode.
- TweedHeads 18y agoHey, I DO hate parenthesis as much as I hate brackets, angled, square and curlies. They are visual speedbumps, at least for me. Therefor I hate all C based and java languages, also html and xml. Again, visually speaking. Good to know there are editors out there that deal with the issue, I didn't know they existed.
- parenthesis 18y agoParentheses, braces etc. sure beat BEGIN and END.
- jimbokun 18y agoI think that leaves Haskell and Python? The Python indentation thing was an inspired choice and usually works very well, but sometimes fails in a way that would be solved neatly if everything was delimited with parentheses. But it is a pragmatic compromise much in the spirit of the rest of Python (or "Pythonic" as they say). There is a lot of use of delimiters in data collection literals and list comprehensions, though, which are commonly used parts of the language. Haskell, to me, demonstrates the problem of getting rid of almost all delimiters. I have a hard time scanning Haskell code and discerning the structure or figuring out what is being applied to what, etc. I like Clojure's approach: mix up the delimiters to provide cues for mentally parsing the code at a glance. If you see [], it is usually a place where variables are defined and destructuring can happen. () is function or macro application or a special form. {} is mapped data. Along with consistent indentation, I find it quite readable. I credit you, though, for declaring your hate of all delimiters equally :). I find the people who abhor parentheses while never noticing all the {};<> in their preferred language a bit maddening.
- gaius 18y agoThis is called "Python" ;-)
- TweedHeads 18y agoAnd ruby, both nice languages syntactically speaking, even if they don´t heap, or stack, or allocate stuff, or garbage collect, or do the dishes...
- jimbokun 18y ago"Look, nowadays we have powerful IDEs that help programmers do their job." There is a very good one for Lisp called SLIME. (I suppose it's actually SLIME + Emacs, but that makes my point less concise so I will leave this as a parenthetical remark.)
- anc2020 18y agoIndentation reader for Scheme: http://www-student.cs.york.ac.uk/~anc505/code/sugar-read.scm http://www-student.cs.york.ac.uk/~anc505/code/sugar-read.scm Some less-parenthesised forms for Scheme: http://www-student.cs.york.ac.uk/~anc505/code/macro-sans-parens.scm http://www-student.cs.york.ac.uk/~anc505/code/macro-sans-par... Scheme mode for Emacs will fade out any remaining parenthesis :)