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

I love Python. I prefer working without semicolons.

But from a new language standpoint, it's not worth dropping them. The ridiculous arguments that come out of it, the programmers who refuse to use the language because of it, they're things that can and should be avoided by using semicolons like most languages.

I'll never understand why programmers care so much about this, but hey, that's life.




Programmers care about it because it adds extra noise to your program.

If you semantically, and naturally, communicate "end of statement" with a line break to human readers, why should you have to say it again with a semicolon to the compiler? Programming languages should focus on being DRY.


For human readers we use periods, not line breaks.


Code is more like poetry.


That was not a flippant remark.

Lines of code are clauses not sentences. This is also true of poetry.

A sentence is more akin to a stanza in poetry, and a function in code.

While I could entertain an argument for lines ending in commas and for functions to end with periods there is no reasonable argument for lines to end with periods (is there a language where a line is equal to a function?).

APL, and to some degree Perl, are examples of languages where to you might consider a period half-way through a line.


The context is programming, not writing.


Semicolon makes it possible to do jQuery-style chaining with the least noise. I think frequent-backslash is uglier than always-semicolon.


Semi-colons do not enable this feature. Multi-line chaining works just fine sans-semis.


I very often use and see "single" line of code flow onto more than one line for readability. So often a line break is definitely not enough.


I wasn't suggesting exclusive use of linebreak… Semicolon with no linebreak is fine, but semicolon + linebreak is 100% additional cruft. One or the other. Say it once.




Consider applying for YC's Spring batch! Applications are open till Feb 11.

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

Search: