I've just read an article called "Zone of ceremony", and it opened my eyes a little bit regarding why I cannot digest Java or C# anymore even though they were my go-to languages during university (even though they didn't encourage
I like types in programming. But I also love freedom and control. I don't like languages that feel to restrict me from doing the wrong thing. I like optional typing that is used, for example with typespecs in Elixir or what people at Stripe do with sorbet for Ruby. Being able to use types in critical code to make it even safer and at the same time restricting it from less critical code path is something I see as useful because there is always more important code.
I guess this is one of the things that were a little bit redundant for me in golang. Being not able to define a function that works for different types which all share similar behaviour is painful at least. I never felt that before because Ruby was my first dynamic language for a long time. Going back to all those ceremonies in Java or any other verbose language is tough.
This makes me wonder where creators of Ruby will go with types in the future releases. Integrating such core feature into a language which is living already for roughly twenty years won't be an easy task. Then, there will be backlash from the community about types as a feature. Recently, Matz and team seem to walk in the dark and try different things without much consideration. Hopefully, types won't be one of those things. Would be wrong if such important thing would be jeopardised because of recklessness.
And I hope they won't introduce Haskell types into Ruby as well. Writing those was a pain in the ass.