> is it just me or is the language trying to be all things to all people?
Well yes, in the sense that it's a systems programming language designed not to be a single-paradigm language (you can write procedural, or somewhat functional, or classic OOP, or generic functions-based OOP) and to be very efficient at all.
Some of the features are seemingly arcane in order to preserve the zero-cost abstraction approach as much as possible.
> Or can you be a high level dev without ever touching the new features?
So some features are arcane as I wrote above but some are deliberately high level, designed to make it easier to write safe, efficient high-level code without getting into the weeds. Being able to type
for (auto& a_frob : from_manager) ...
and have it be fast, efficient and not leak memory is a feature, right?
> I hope golang doesn’t grow this large over time.
Go's explicit design goals are the opposite: have only a few constructs, a specific "opinion" as to how things should be done, and to deliberately limit expressiveness in favor of other objectives. So I doubt it will come close.
Edit: I don't agree with go's design criteria, but I respect them.
Well yes, in the sense that it's a systems programming language designed not to be a single-paradigm language (you can write procedural, or somewhat functional, or classic OOP, or generic functions-based OOP) and to be very efficient at all.
Some of the features are seemingly arcane in order to preserve the zero-cost abstraction approach as much as possible.
> Or can you be a high level dev without ever touching the new features?
So some features are arcane as I wrote above but some are deliberately high level, designed to make it easier to write safe, efficient high-level code without getting into the weeds. Being able to type
and have it be fast, efficient and not leak memory is a feature, right?> I hope golang doesn’t grow this large over time.
Go's explicit design goals are the opposite: have only a few constructs, a specific "opinion" as to how things should be done, and to deliberately limit expressiveness in favor of other objectives. So I doubt it will come close.
Edit: I don't agree with go's design criteria, but I respect them.