Right. I think Rust was the first to propose “?” operator as a syntactic sugar to Result and Option monads. (i am not 100% though)
Ref: https://www.ruby-lang.org/en/news/2015/12/25/ruby-2-3-0-rele...
https://www.logicbig.com/tutorials/misc/groovy/safe-navigati...
https://www.logicbig.com/tutorials/misc/groovy/elvis-operato...
https://docs.microsoft.com/en-us/dotnet/csharp/whats-new/csh...
https://docs.microsoft.com/en-us/archive/msdn-magazine/2014/...
Roslyn compiler, also supporting this operator, was released earlier in the same year, too.
C# also has a Null-Coalescing operator (`??`) which behaves like Rust's `unwrap_or` method.