Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

    > It would be interesting to see what thought process 
    > went into deciding to include certain constructs. 
Happy to oblige. There's plenty of reading material and conversations about most language decisions available here:

https://github.com/jashkenas/coffee-script/issues?direction=...

As to the existence of (optional) postfix "unless" and "if" -- does it also sound backwards to you when someone says:

    "Call your mother if it's her birthday."
... in English? If that doesn't sound so crazy, then consider the CoffeeScript:

    call mom if mom.birthday.isToday()
It's a little thing, that hopefully you can take advantage of to make short conditionals more readable then the JSLint-style JavaScript:

    if (mom.birthday.isToday()) { call(mom); }


The problem is we're mainly conditioned to expect the condition up front, notwithstanding Perl's initial slide down this slippery slope. Ugly syntax seems an argument for improving the syntax, not changing the grammar.

    if mum.birthday.isToday(): call(mum)


Does a language need three ways to say "if x do y" ? or maybe there's an "unless !x do y" construct and it's 4 ways.

This to me looks like going out of your way to have lots of ways to do the same thing. I never cared for it in PERL either.

The argument that "it reads like English" is not one that I like much - The history of making programming languages read like English is a long succession of dead ends. Programming languages work more like formal maths proofs than they do like English prose. Rather make the language readable on its own terms.


> The history of making programming languages read like English is a long succession of dead ends.

There certainly have been notable failures, such as Applescript, but I find it hard to dismiss Coffeescript, Ruby, SQL and FORTRAN which have all been quite popular.


I like SQL, not for the english-ish keywords, but for the strong mathematical underpinnings.

You left out a notable example of Cobol - Which would you rather read: "Add 1 to someValue Giving someValue", or "someValue++" ?




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

Search: