Agreed. When I first started writing go I thought "Wtf is this caveman language"
And now years later I couldn't imagine going back to using exceptions. The non-linearity of exceptions creates such a cognitive load of picking up unfamiliar code, and this is where go really shines. I can dive into almost any go codebase and get a lay of the land very quickly.
On another note, I've been enjoying rust's approach with Result<T,E> / the ? operator. Same principle with less visual bloat.
> On another note, I've been enjoying rust's approach with Result<T,E> / the ? operator.
For the record, the `try` proposal which was just declined, is almost equivalent to the `try!` macro in Rust, which was the "testbed" for the `?` operator.
And now years later I couldn't imagine going back to using exceptions. The non-linearity of exceptions creates such a cognitive load of picking up unfamiliar code, and this is where go really shines. I can dive into almost any go codebase and get a lay of the land very quickly.
On another note, I've been enjoying rust's approach with Result<T,E> / the ? operator. Same principle with less visual bloat.