3 ms·
I think Go is a reasonable counter example to your assertion that mainstream languages have to be complex and constantly changing in a breaking way.
by pietroglyph 8y ago
I think Go is a reasonable counter example to your assertion that mainstream languages have to be complex and constantly changing in a breaking way.
- pjmlp 8y agoGo is an example of language designers ignoring modern practices, with lots of boilerplate in the libraries to workaround those deficiencies, a broken dependency management system, thus shifting the complexity to the language users and library writers.
- cbolton 8y agopietroglyph's point still stands. Well I guess Go is the obvious example to sort-of-refute your assertion, since the designers emphasize simplicity so much. It's almost a defining feature of the Go approach, just as the borrow checker could be considered a defining feature of the Rust approach. Of course, the designers of Go made compromises that shift some complexity to the language users and library writers. It seems that many find the result useful. I'm very glad that both approaches are now realized each in a popular language, but like OP I hope Rust won't go too far on the path of increasing complexity, as to me it would then lose its appeal. By the way, it's probably a bit early to say that Go's dependency management system is broken, and anyway it has little to do with the language's complexity.
- pjmlp 8y agoJust wait a couple of years and lets see how relevant Go will still be as 1.x without adding more features, outside stuff like Kubernetes and Docker.