| As someone who writes Go every day for work, I can't agree that Go is simple. Using a language for analytics without generics can be quite painful and error prone. Go is a language that pushes remembering corner cases and failure conditions onto the programmer rather than the language and runtime itself. When you already have to remember a myriad of corner cases for business logic, also remembering so many corner cases for your code hurts productivity. I also believe that languages exist to make getting to an end result in given domains easier. Go does not make my life easier. I really hope it gets generics. I wish it would do away with nil/null. Nim is a very good language that actually accomplishes the simplicity Go wanted imo. Go affords simplicity to the Go compiler writers at the cost of burdening Go users with having to remember inane things. |
I don't think that's possible to retrofit onto a language. Best you can do is to add non-nullable types. But zero values are so core to Go's semantics that I kind of doubt it's possible to even add those in a sensible way.