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

I think a much bigger consideration would be the utter difficulty of reading something like this:

  a-b - a - b
Even though I personally love hyphenated-identifiers in Lisp, I would not want them in any language that has infix operators, whether it cares about minification or not.



I refer to long symbol names a lot more often than I subtract things. If I could have it in Python or Java I'd be happy, using - is just nicer than _ or camelCase. Using spaces in pipes |like this| is nifty sometimes too. I'd be willing to accept warnings/compiler errors on the seemingly never-in-practice occasion when the compiler notices that all 3 of 'a-b, 'a, and 'b are bound symbols and I need to use a more explicit expression (like the escaped '- in lispm's example, which is how the cmu-infix library solves the problem).

On the other hand, some advice from Chuck Moore (found in Thinking Forth) that I think about sometimes:

"There are diverging programming styles in the Forth community. One uses hyphenated words that express in English what the word is doing. You string these big long words together and you get something that is quite readable.

But I immediately suspect that the programmer didn’t think out the words carefully enough, that the hyphen should be broken and the words defined separately. That isn’t always possible, and it isn’t always advantageous. But I suspect a hyphenated word of mixing two concepts."


In some infix syntax, one might then need to escape characters. Example 'infix' for Common Lisp:

  (let ((foo-bar 29))
    #i(   foo\-bar - 3 * foo\-bar    ))


I think it’s getting used to it, for example I would never confuse a-b with a - b, but that’s because I’m used to using hyphenated identifiers.

I can see others (beginners) getting confused, but it’s something they will very quickly get over. For example I didn’t know JavaScript was case sensitive, but it was a very quick adjustment when I learnt this


That could be English written in ASCII, with the same hyphen serving as a dash:

Example sentence:

"Examples of sado-masochism - such as Java-influenced languages - are rampant in the field of computing."

Quite readable.




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

Search: