Hacker News new | past | comments | ask | show | jobs | submit login

So things like paredit mode (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.




Hey, 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.


I 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.


Parentheses, braces etc. sure beat BEGIN and END.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: