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

For example, Rust distinguishes between PartialEq and Eq

https://is.gd/kRvoMm

you can't derive Eq (transitive equality) on f64

https://is.gd/FjTcA5

but you can derive PartialEq (intransitive equality)



Unfortunately I do not yet know very much about Rust, but I wasn't referring to the specifics, but to the point that every programming language seems to have quirks and hidden rules.


So just use a programming language with less annoying quirks and hidden rules. Especially when those quirks are issues at compile time, not issues at 3 AM in production.

"And I found a whole lot of references to req.randomThing and even some req.randomFunction() calls. I then proceeded to search back through every single middleware function which had run before, to figure out what exactly was going on."

In a statically typed languages names are bound at compile time, so you can actually jump to the definition of each name using tooling. A JS tool can only make an educated guess.


"I wasn't referring to the specifics, but to the point that every programming language seems to have quirks and hidden rules."


That's just an excuse to say "all programming languages are hard"

Which is true, but ultimately useless


Not entirely useless. For low risk, use the language you know instead of new ones - they will have yet-to-be-learned gotchas.




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

Search: