5 ms·
I’m sure if Go had nullable types and/or sum types from the beginning, it’s have been much more popular
by sharno 2y ago
I’m sure if Go had nullable types and/or sum types from the beginning, it’s have been much more popular
- hu3 2y agoI'm sure of the opposite given the ideas behind Go's design.
- segfaltnh 2y agoIt's already quite popular. I'm less convinced there's a large pile of people wishing for a fairly high performance garbage collected language that are not using Go because of this. There just aren't many viable alternatives.
- ReleaseCandidat 2y agoJava and C# being the obvious (and more performant) alternatives. And compared to them, Go already wins because of not being, well, "enterprisey". And with that I mean less the languages itself, but also the whole ecosystem around them.
- valenterry 2y agoThere are definitely lots, I'm one of them. I use Scala, which is very powerful and imho much nicer language than golang. But the tooling and other support is slow and subpar. But I just can't go back to a brain-dead language(!) like golang because it hurts to program in such languages to me. So I hope that either golang catches up with Scala's features, or that Scala catches up with golangs tooling. And I think there are many similar people like me.
- valyala 2y agoScala is overcomplicated esoteric programming language. It is great for obfuscation contests. It is awful for production code, since Scala code lacks maintainability, readability and simplicity properties.
- valenterry 2y agoI guess we have different opinions. Maybe you had some bad experiences in the past? Scala 3 is very different from Scala 2 many years ago There are few languages that are safer and easier to maintain, imho. The typesafety is superb.
- foldr 2y agoPerhaps, but other languages that look a lot like Go with these additions (e.g. OCaml) have not gained much popularity, despite getting much more love on forums like HN. It's important to remember that the people expressing strong opinions about sum types on the internet are a tiny and non-representative fraction of working programmers.
- lupire 2y agoOCaml has a huge number of challenges besides "popular language plus sum types"
- lupire 2y agoGo has nullable types! We want non-nullable types!
- chuckadams 2y agoI blame C# for the confusion. Think of it this way: the ability to explicitly express a type Foo|null implies the existence of a non-nullable Foo as well. IOW it’s shorthand for “nullable and non-nullable types”.