4 ms·
I neither want to deny or confirm this but if love to see a more in depth analysis of the idea. Why? Is it because of the "fine grained control" part? Because
by worldsayshi 7y ago
I neither want to deny or confirm this but if love to see a more in depth analysis of the idea.
Why? Is it because of the "fine grained control" part? Because it breaks the neat abstraction?
- xyzzy_plugh 7y agoExpressiveness is too powerful. I have to understand what the author was thinking. What you typically want is composition. With composition, you have to understand what the author is doing. Painting with acrylics vs Lego.
- agumonkey 7y agofair point, expressiveness shifts idioms toward "single man private jokes" A point I just realize the value.
- worldsayshi 7y agoBut you could just have expressiveness through composition then?
- kccqzy 7y agoIt's basically the same reason Go was created: not many advanced features, lack of abstraction power, leading to highly predictable codebases so that companies can easily onboard new software engineers.
- willtim 7y agoThis was probably the theory behind their decisions. While I agree that the lack of expressiveness might discourage some incidental complexity, for example premature or unecessary abstractions, the inherent complexity of a problem will remain. Removing expressive power, in general, will lead to ad-hoc and cumbersome workarounds. For example, look what the Kubenetes codebase had to do to work around the lack of generics: https://medium.com/@arschles/go-experience-report-generics-in-kubernetes-25da87430301 https://medium.com/@arschles/go-experience-report-generics-i...