Hacker News new | ask | show | jobs
by walki 2737 days ago
> #aargh

Many system programmers will think this line is commented out. Indeed what a nightmare!

2 comments

Yup.

The muscle memory is so strong, when writing Javascript/Typescript I type # by accident sometimes.

But then, // is one of the most commonly used operators in another language I use, so it's weirdly symmetrical :)

Curious: which language?
Perl, the defined-or operator.

Like ||, but // tests definedness instead of truthiness.

The equivalent in several other languages is ??, which is uglier imho, but it's just syntax. https://en.wikipedia.org/wiki/Null_coalescing_operator

I use // and ?? often as it's conceptually clean, fast and concise. When available, it arises naturally in logic like caches, memoizations and defaults. //= is pretty useful too, and I'm surprised it's not more widely available.

Python uses it for integer division. Typically it is meant as "divide and floor" as far as I've seen.
Wouldn't most system programmers think it's a macro?