this post was submitted on 16 Jul 2023
1270 points (98.8% liked)
Programmer Humor
32495 readers
308 users here now
Post funny things about programming here! (Or just rant about your favourite programming language.)
Rules:
- Posts must be relevant to programming, programmers, or computer science.
- No NSFW content.
- Jokes must be in good taste. No hate speech, bigotry, etc.
founded 5 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
I know the guy meant it as a joke but in my team I see the damage "academic" OOP/UML courses do to a programmer. In a library that's supposed to be high-performance code in C++ and does stuff like solving certain PDEs and performing heavy Monte-Carlo simulations, the guys with OOP/UML background tend to abuse dynamic polymorphism (they put on a pikachu face when you show them that there's also static polymorphism) and write a lot of bad code with lots of indirections and many of them aren't aware of the fact that virtual functions and
dynamic_cast
's have a price and an especially ugly one if you use them at every step of your iterative algorithm. They're usually used to garbage collectors and when they switch to C++ they become paranoiac and abuseshared_ptr
's because it gives them peace of mind as the resource will be guaranteed to be freed when it's not needed anymore and they don't have to care about when that is the case, they obviously ignore that under the hood there are atomics when incrementing the ref counter (I removed the shared pointers of a dev who did this in our team and our code became twice as fast). Like the guy in the screenshot I certainly wouldn't want to have someone in my team who was molded by Java and UML diagrams.I think many academic courses are stuck with old OOP theories from the 90s, while the rest of the industry have learned from its failures long time ago and moved on with more refined OOP practices. Turns out inheritance is one of the worst ways to achieve OOP.
That’s the problem, a lot of CS professors never worked in the industry or did anything outside academia so they never learned those lessons…or the last time they did work was back in the 90s lol.
Doesn’t help that most universities don’t seem to offer “software engineering” degrees and so everyone takes “computer science” even if they don’t want to be a computer scientist.
@einsteinx2 @magic_lobster_party
This is most definitely my experience with a lot of CS professors unfortunately.
There's an alternative system where this doesn't happen: pay university professors less than a living wage.
You do that, and you'll get professors who work in the industry (they have to) and who love teaching (why else would they teach).
I studied CS in country where public university is free and the state doesn't fund it appropriately. Which obviously isn't great, but I got amazing teachers with real world experience.
My son just finished CS in a country with paid and well funded university, and some of the professors were terrible teachers (I watched some of his remote classes during covid) and completely out of touch with the industry. His course on AI was all about Prolog. Not even a mention of neural networks, even while GPT3 was all the rage.
Professors love doing academic research. Teaching is a requirement for them, not a passion they pursue (at least not for most of them).
Yeah, that makes it even worse.
To be clear, I'm not advocating for not paying living wages to professors, I'm just describing the two systems I know and the results.
I don't know how to get teachers who are up to date with industry and love teaching. You get that when teaching doesn't pay, but it'd be nice if there was a better way.