Comment by oldjokes
6 years ago
I feel the same way about much of Computer Science. So much nonsense was forced into my head as the "best practices", from OO development to Agile to cloud snake oil to crypto scams.
And then on top of that it turns out the CPUs are designed to be inherently insecure so all those amazing mathematical proofs in perfect penmanship were a waste of time.
I feel like OOP, Agile, "cloud" as a concept, and cryptocurrency/blockchains are not computer science topics.
The way in which blockchains are implemented, sure, that's math, applied as cryptography, applied to achieve distributed consensus, which is very much computer science. But you specifically mention crypto scams, which is much more applying the general concept of distributed consensus to different areas, and I think that's where it jumps out of the realm of computer science.
Maybe a better label for the "best practices" for the application of computer science is "software development". I think that, as an area of instruction, is more inherently subjective.
OOP design is usually part of a CS curriculum (at MIT it was, at least) since it has some theoretical framing and applies to a wide variety of practical problems.
I don't think I've ever heard of a class in crypto scams or Agile.
A pure CS curriculum probably won't, but one aimed at Software Engineering or whatever name you'd pick for CS + industry-applied stuff might very well have a class that includes Agile and other development techniques. (Our legal classes also touched on it)
I mean if you want to get into the nitty gritty details yeah I think the biggest waste of time of all was the years implementing and tweaking linked lists in C. Not sure who decided to define that as "computer science" at the time, but I have trouble with those definitions too.
CS is very new though, and already pressured by immense economical interests.
Give it a thousand years.