This reminds me a bit of something a chess teacher named Richard Shorman said. In the late '80s and early '90s, Shorman was at the LERA chess club in Sunnyvale where each week people would bring their games and Shorman would go over them and advise them how to improve.
Shorman was particularly good at getting players who were stuck in the 1800-2200 USCF rating range moving again. One of the big reasons people get stuck is that they are trying to play too good. They are trying to apply deep positional concepts they learn from reading annotated grandmaster games, or reading books with titles like "Play Like a Grandmaster!". They are planning openings developed by grandmasters for use against grandmasters.
That's fine for grandmasters--because grandmasters UNDERSTAND what is going on. All of those deep positional concepts that shape grandmaster thought are ultimately designed to lead to a tactical advantage over their opponent, or to prevent bad tactical things from happening to them. To understand the positional stuff, you have to thoroughly understand the underlying tactics.
Shorman would steer these stuck players toward a more aggressive approach. Play the most aggressive move they can (that you can't see an outright refutation for). Open with gambits that give you a good attack.
This worked. As the stuck players got used to the sharp games that arose from this style of play, and came to really understand how the pieces worked tactically, they'd start understanding positional play, and be ready to move toward playing good chess.
The way Shorman put it was something like this (paraphrased since I can't remember it exactly): before you can play good chess, you have to get good at bad chess.
Im guessing youre being sarcástic, but Basic should not be visited upon any human you wish no harm done to. It was a pox on a generation of programmers, foisted upon us under the guise of 'lets expose kids to computers! Thats a Good Thing!'
[...] a very particular piece of grammar, expressing a nuance
that standard English leaves to context. Black English is a seemingly still
water that runs deep.
I found the oppose to be true. The more the different things you exposed to, the more you can borrow to reflect on the new material. Exposed to a different paradigm like OOP only helps.
Developing a useful, general framework for expressing the relations among different types of entities (what philosophers call ``ontology'') seems intractably difficult. The main difference between the confusion that existed ten years ago and the confusion that exists now is that now a variety of inadequate ontological theories have been embodied in a plethora of correspondingly inadequate programming languages. For example, much of the complexity of object-oriented programming languages -- and the subtle and confusing differences among contemporary object-oriented languages -- centers on the treatment of generic operations on interrelated types.
I don’t quite get the last bit. Why is "centering on the treatment of generic operations on interrelated types" inadequate?
Do they talk about the tree-like structure of inheritance which might be useless in scenarios where the relations can be better modelled by an arbitrary graph?
Also, why would studying OO first be narrowing my ability to learn different paradigms?
I don’t quite get the last bit. Why is "centering on the treatment of generic operations on interrelated types" inadequate?
Go to the link, and find what it was a footnote on. You'll be reading through a section that is attempting to make operations like addition work in a reasonable way across different numeric types for an abstract math package which needs to support integers, rationals, floating point, complex analogs of all of the above, polynomials over all of the above, and lots of other fun stuff..
Do they talk about the tree-like structure of inheritance which might be useless in scenarios where the relations can be better modelled by an arbitrary graph?
Also, why would studying OO first be narrowing my ability to learn different paradigm?
Because your mind naturally goes through prepared channels. If you've got OO available to you, then you naturally solve the simple versions of problems with OO. Then when you get to the subtleties of the complex version that your form of OO doesn't work well for, it is hard to see that OO isn't a good fit, rather than being trapped into thinking that you just chose a poor initial model.