I’m not talking about the underlying model, I’m talking about the control flow. What I mean is errors are explicit values belonging to the signature of the functions.
You realize that have of the features you are counting are now in Go while missing in the beginning exactly because people were missing them and Go simply did not offer a sane way to work around the missing features?
I'm also quite sure that Go will provide a more sane way to handle errors in the not so far future, since it's continuously at the top of people's complaints
your comment exemplifies the mentality, yes, and unfortunately it has now been adopted by project leadership, so I’m sure you are quite right that more “missing features” will get baked into the language soon :)
It's far better to have those features well-designed and baked into the language once, then to have them constantly poorly redesigned and baked into every other Go app.
nobody would ever use this argument for the design of C. It’s good for C to stay lean and simple while communities using C (please let’s not with this imaginary monolithic “The Community”) are free to try things and offer competing solutions that others are free to ignore.
kitchen sink languages are bad. Justifying them with “well the community is bad, so we need the bad thing to be mainlined” is maybe worse
By Go standard, all other languages are "kitchen sink". Conversely, I would argue that basics like decent error handling are not in any meaningful sense a "kitchen sink" thing.
They simply can afford to pay more high performers. And since they have sustainable growth, there is no reason to switch course of action.
Compare this to consulting which is known for squeezing their employees to the max. They simply pay enough that there is a steady stream of new highly qualified and highly capable candidates.
These are two wildly different companies. AMZN still has some upside and pays a lot in equity. The only reason to own T is for the dividend while your capital sublimates.
That said AMZN is a lot more like the old model, they never really subscribed to the Microsoft & Silicon Valley ways of doing things.
Also I do not agree with the premise that we can only think about one thing at a time.
We routinely communicate with multiple people at once and also communicate with the same persons in multiple threads of conversations.
Of cause this means that we switch between those tasks and do not really do them in parallel. At most we listen to one person, answer a second via speech, a third via text while thinking about what to respond to a fourth
This is the part that bothers me. I can definitely think of multiple things at a time. It really just depends on the complexity of the tasks. I can listen to and process and audiobook while driving to work every morning, for instance. I definitely can have multiple thoughts in parallel. I remember when I used to recite prayers, I would be reciting the memorized prayer while thinking about other things. Both things were happening at the same time. The memorized task takes less processing power, but it still requires some thought to execute.
I think you are missing up concepts here