After seeing users struggle with YAML and the “two spaces at end of a line for a linebreak” rule in Markdown, I can definitively say that any tool which hinges important semantics on invisible characters ... is a mistake.
Also indirectly means hipster implicit end of line JavaScript (instead of semicolon) is bad hackernoon.com/an-open-letter…
@codinghorror There are rules you have to follow to avoid unexpected behavior even if you do use semicolons everywhere, like "never put the value after a return statement on a separate line". ASI is stupid but it affects your code whether you choose to add semicolons or not.
@codinghorror This triggers me in all the right places 🙈
@codinghorror semicolons are not important just like punctuation in writing is not important you can tell when a sentence has ended when a list is being written and when a section of a statement is an aside just by context if you spend twice as much brain power so why use them I ask
@codinghorror I'm going to print out that screenshot so I can set it on fire
@codinghorror They can take my semicolons when they pry them from my cold, dead hands.
@codinghorror I'm getting old - the past is repeating itself so soon. Just wait for it. Somebody is going to rediscover comma as a line terminator.
@codinghorror How is a new line an invisible character? It's visible by virtue of there being a new line. I'd say that's generally pretty obvious.
@codinghorror FUD! We didn't use semicolons in the last ~40 projects we delivered. No issues found were related to not using ;
@codinghorror I can only assume brain worms were involved somehow. Because that's the only reason I can think of to not put a statement terminating symbol anywhere But terminating a statement. Semicolons at the start of a line what the christ
@codinghorror Was VB hipster too? I may need to invest in some skinny jeans!
@codinghorror After switching to no-semicolons, my coding experiences have been improved dramatically. Of course, I have the tools to auto detect and fix edge cases for me. These days I see semicolons are weird. Check Rust, Swift, Kotlin & Go.
@codinghorror I've not read it all but, one solution is putting them at the front instead??
@codinghorror I don't write semicolons but I have prettier which writes them for me (on each file save). So it's basically a mater of configuration and easy to change for the whole codebase.
@codinghorror So.. reading TFA comments.. ASI must be the worst design decision I've seen in a language. It seems you must be aware of its rules - using semicolons or not. It only makes things worse. JS feels like one big antipattern. And don't get me started on the ecosystem. Bloody hell.
@codinghorror Agreed. Darn kids these days don't realize semicolons are there to help them tell the compiler what they meant. Disliking semicolons is like disliking static type checking.