Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I have worked with decades old codebases. I use up-to-date compiler where you get to use smart pointers and all the Modern C++ features. It's your fault if you not teach them how to upgrade the compiler. There is zero risk when compiling C++98 with C++11.

It's also student fault if he selects a company with C++98 codebase. The student shall do due diligence.

It's my advice for you to teach the Modern C++ before driving into legacy C++ sort of like how you teach History. You start what's current then drive deep under.

It builds intuition.



Ok. I'll take your advice and give it the consideration which it's due. Thanks for taking the time out of your day to create a throwaway account just to tell me how to do my job. Cheers.


Unfortunately, the C ++ Committee knows that universities do a terrible job teaching C ++, except the one Bjarne teaches. If you ask Bjarne, he will tell you the same things I said.

A lot of universities stuck in C++98. It will takes them 1000 years to adopt C++20 tho.

One of mistakes many universities do is teaching either C or Java before C++.

I find C++ as a minimal OOP language to get head start.

C++ -> Java -> C

But if student is a complete noob to programming, I'd suggest to learn Javascript before going to C++

Again, this is to keep the intuition otherwise they will forget what they learnt.

I wish if many universities listened to Kate Gregory talk.

When you teach Java before C++,

Students try to write C++ in Java Style (Eg with new and delete). I answer plenty questions of students on Reddit's cpp sub who are trying to write C++ in Java style. I might make a talk on this in CPPCon.

When you teach C before C++,

Students try to write C with Classes.

But, as once Steve Jobs said,

"I used to think that technology could help education. I’ve probably spearheaded giving away more computer equipment to schools than anybody else on the planet. But I’ve had to come to the inevitable conclusion that the problem is not one that technology can hope to solve. What’s wrong with education cannot be fixed with technology. No amount of technology will make a dent."

You can laugh at me, that's okay. But truth is truth!

By the way, This is my 50th throwaway account. I use them because I'm getting down voted to death when speaking in defense of C++.


Depends on the universitiy.

I was blessed that my own university during the early 90's, already teached C++ after Pascal to first year students, C was never taught explicily and naturally Java was like 6 years away to be a reality.

The same univerity does teach modern C++ nowadays.


Have you coded on larger code bases not written by you? Usually most of the time you read code instead of writing it. Sure you can add new code that adds smart pointers, but you still have to understand the exant code, at least to some degree.


I've done plenty contractual work on larger code bases that has C++98 to some extent. I will tell you what you will never truly understand the whole code base.

Sourcetrail does amazing job at explaining larger code bases. Check it out.


My experience with C++ is that every time I look at it every few years, C++ developers tell me that I'm stupid for wanting to do memory management the way it was done a few years ago and nobody has ever done that.


>It's also student fault if he selects a company with C++98 codebase. The student shall do due diligence.

So you are saying they should (as totally newbies) ask to go through a company's code before accepting a job?


No. A lot of job posts out there that highlights the language version. For example, I saw a lot of job posts for C++11, C++17 so on. Heck even, some jobs directly mentions Modern C++.

https://jobs.smartrecruiters.com/FireEyeInc1/743999738511776...

They can also look at the creation date of company and make a educated guess.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: