I've seen this sentiment in a few places recently, and as a software engineer with 20 years of experience I can say with 100% certainty that this is a terrible (and dangerous) trend when it comes to programming.
Undergrads should absolutely be learning how memory works, how to allocate it, when to free it, and what issues you can get into when you don't do it properly. Sheltering them from such things will lead to a more ignorant generation of developers, which will lead to a lot of headaches down the road, for everyone.
The programming field is going through what math has been going through for ages. Many people don't want to learn how things work because they can use a calculator or software to do basic maths. But then when it comes to actually understanding what's going on, there becomes a big loss.
Manual memory management has about as much applicability these days as assembler did back when I was doing my degree. It should be covered as part of learning How Things Work Under the Hood, it's still needed for some kinds of specialist work, but many—perhaps even the majority of—people writing code will never need to deal with it in the real world, because the languages in which most code is written these days all have some form of memory management.
There is still an enormous amount of C++ code still in use (and other unsafe languages for that matter). It is still an actively developed and used language, and likely will be for many years to come. Having at least a basic grounding in it is very valuable element of flexibility for any potential programmer, as well as an understanding of the underlying concepts.
You’re probably right. But to any student reading this I’d say you’re likely to become a significantly stronger programmer, and thus find it easier to find employment, if you understand and feel comfortable knowing how to use a memory-unsafe language. Eventually you’ll arrive up in a problem that’s caused by it, or a required optimisation that benefits from manual memory management. If you want to work in games, too, there really is no other option.
In that sense it’s the same as assembler. One day you’ll sit there and not understand why something breaks only to realise that the underlying assembler doesn’t quite do what the source alludes to.
So, I’m not sure you need it, but I’m pretty sure you’ll benefit from it.
You can do all that with Rust. Maybe C/C++ is good to teach if the professor explains why they should almost never be used, but IMO it would probably be better to just educate them using a well designed language like Rust so that they have the experience for a career.
For those in the unknown, this comment is in reference to an article on The Daily WTF, which ThePrimeagen “reacted” to.
rant
As I have frequently found myself not knowing a quip/quote/reference from popular (or worse, obscure) media, I am doing my bit to add context to this rather plain comment disguised as an in-joke.
For people who derive pleasure from posting such references, please annotate your reference with some context for others to take part in/appreciate the media you liked enough to remember and make a reference of.