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

“You also don’t need to write semicolons at the end of every statement.”

Please. Please. PLEASE don't be whitespace delimited!




Please. Please. PLEASE don't be whitespace delimited!

One of the prime examples I give for how HN/reddit has gone downhill was being downvoted by some clueless hipsters for suggesting that it would be easy to cross-compile from a whitespace-delimited language to a non-whitespace-delimited one. It's not some kind of huge fundamental divide in languages. For any non-whitespace delimited context free language, it should be possible to write a homomorphic transformation to a whitespace delimited one.

This is something that people should consider trivial and be beyond discussing.


That does not sound like a practical solution for any language that offers a standardized toolchain or no explicit compilation as features. For those languages adding a homebrew translation step results in discarding unrelated features that the user might have wanted, and completely isolates you from intermingling your code with the rest of the language community.

Syntax is not the most important thing in a language but it's not nothing either.


That does not sound like a practical solution for any language that offers a standardized toolchain or no explicit compilation as features.

Should be doable as an editor plugin.


If the solution for a feature intended to save time and reduce hassle ends up being "write and maintain your own compiler extension" it's a bad feature. Period.

I'm not a fan of whitespace delimiting or type inferencing because while they seems like they save you time and effort, I've found that in the long run you end up spending more time debugging your indentations here or type declarations there than you would have spent just explicitly declaring them in the first place.


I'm not sure how much Python you've written but I personally have never had to debug problems with whitespace. (I'm had to debug plenty of problems in other languages where the whitespace implied one thing but the curly braces said another).


If the solution for a feature intended to save time and reduce hassle ends up being "write and maintain your own compiler extension" it's a bad feature. Period.

Note that your contextual value of "save time and reduce hassle" is mostly programmer dependent.


Practically speaking I'd prefer to work with a language and toolchain that doesn't require me to do that kind of stuff (write my own cross compiler from a derivative of the language that has all my own preferences for syntax). I'd constantly worry about maintaining that piece and having that cut into my quality & productivity. I think applied language theory as it pertains to productivity is fair game for a good discussion.

That said, whoever downvoted you for that reaffirms my belief that HN should have limited metamoderation with some kind of exponential backoff of mod privileges for egregiously poor moderation.


"Clueless hipsters" will attract downvotes.


I just wouldn't bother to downvote for such a minor, subjective tone issue. Anyway, sorry, I'll end it here. Don't want to detract from the Swift discussion.

It makes me sad that companies are coming up with their own language stacks. Obviously Google vis a vis Oracle makes it a good move, if a company has the scale to accomplish and maintain it. Not to be a downer on what seems like a nice language, but other than that reason I see no need for Swift.


I didn't use that term until after the downvotes.


The post in this thread uses the term "clueless hipsters" in its first sentence. That phrase will attract downvotes. If you care about downvotes stop using needlessly polarising terminology. If you don't care about downvotes, well, do whatever.


I care more about calling out the cluelessness than the downvotes. If it gets attention and brings some bits of CompSci to the attention of people who wouldn't otherwise know, then all the better.


Ruby doesn't have neither semicolons nor whitespace syntax


Ruby has both semicolon and newline statement termination.

    > x = 1; y = 2; z = x + y
     => 3


actually, the rules are the same as swift. newline is the end of a statement, multiple statements on the same line require a semicolon.


Oh. I was rather hoping it would be!

But still, there's not a lot to hate. It looks like a cleaner javascript at first glance. Not quite as pretty as Python but then, what is. :)


Common Lisp.



You're ok. It's {}




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

Search: