Conversation

That does sound awesome! On the other hand, I'm actually super comfortable juggling a bunch of nulls around, I just think API documentations should be very clear whether it'll return null or throw an exception if it couldn't return a thing.
2
1
You can have your cake and eat it too - you just explicitly 'opt-in' to nullability when you want it. In some languages you call it `T?`, in others it's `Option<T>`. Swift, Rust, Kotlin, C# 8.0, Haskell, etc. all have this lovely feature - thankfully it's becoming more popular!
2
1
The <T> makes me think of generic classes/method (but maybe it means something else in other languages). But yeah, looks like C# 8.0 is indeed getting better ways to control whether things can be null or not, which is great!
1
Yeah, in Rust for example you have: enum Option<T> { Some(T), None, } So it can either be something or nothing. No value can ever be null in Rust, so it effectively gives you opt-in nullability. Likewise you have: enum Result<T, E> { Ok(T), Err(E), }
1
Ah, okay! Yeah, the first has been around in C# as Nullable<T>. Excited to see what will be added in C# 8 though.
2
Yeah, I got into Rust for gamedev because I was avoiding C++ - never got around to making a game though 😬. There's a nice bunch of peeps who like to mess around with game stuff in Rust though! Also audiophiles like :)
1
2