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

Rust has Option which you opt-into for cases like the one you describe.

What's special is that it's not like Go/Java/JS/etc where *every* pointer/reference can be null, so you have to constantly be on guard for it.

If I give you a Thing in Rust, you know it's a Thing and can use it as a Thing. If I give you an Option<Thing> then you know that it's either a Some or None.

If I give you a Thing in Go/Java/etc well, it could b nil. Java has Optionals...but even the Optional could be null...though it's a really really bad practice if it ever is...but it's technically *allowed* by the language. Rust doesn't allow such things and enforces it at the language and compiler level.




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

Search: