Sign in to follow this  
draconar

c++ from zero to hero

Recommended Posts

Got this thought in my mind after remembering the joining date of the members from this forum whose replies were the most valuable to me. Most of them joined the forum for 4+ yrs up or so. But what I wanted to know is how much these guys were practicing c++ explicitly. I've been programming for many years but I still can't see the day when I will be endowed with enough c++ details in my mind to call myself a master. What are your thoughts on this? cheers!

Share this post


Link to post
Share on other sites
Similar story here, been using C++ for about 15 years, around 7 of those professionally, and I certainly wouldn't call myself an expert, just reasonably well-versed. An interesting aside on this - at the company I'm at right now, part of our pre-interview process is to send out questionnaires asking people to rate themselves at various skills, C++ being one of them. Usually we find it's graduates who rate themselves highest at everything, with scores dropping with experience. :)

edit: I guess part of the reason for this is just the fact that the more you learn, the more you find out you don't know. But also when you're working with a large team with a range of skills and experiences, you meet some very smart people and realise how much more you can learn.

Share this post


Link to post
Share on other sites
Quote:
Original post by Hinch
edit: I guess part of the reason for this is just the fact that the more you learn, the more you find out you don't know. But also when you're working with a large team with a range of skills and experiences, you meet some very smart people and realise how much more you can learn.


And the master was enlightened.

Share this post


Link to post
Share on other sites
Programming in C++ (actually back when it was "C with classes") for maybe 30 years - only 5-6 sporadic years professionally. I'm comfortable with the language but will never feel I'm a master. Hah. Besides, programming in C++ involves APIs, SDKs, etc., all of which change faster than I can keep up. The best C++ internal code is worthless if you can't interface it to the world.

Working with a team is definitely beneficial. "You can do that?"

Share this post


Link to post
Share on other sites
I used C++ for 6 years, and then another 3 professionally. I grew to be reasonably comfortable with the language.

Every other language I've dealt with (and reached that level of competency) took a fraction of the time.

Share this post


Link to post
Share on other sites
15 years doin C++, w/ only about 7 years doing it professionally.

Still learning things pretty often (:

For instance someone the other day was telling me a flaw with c++ is that privates should not be in headers. Reason being, when you change a private in a header you have to recompile anything that includes that header even though you haven't changed anything that any other file should care about (barring the use of the friend keyword and perhaps the sizeof(class) of course hehe).

I never saw it like that but it makes sense in a way.

Share this post


Link to post
Share on other sites
Nope, that's BRAIN-dead idiom.

In the infinite wisdom of C++, privates are part of the class interface, in the sense that any change to a private will trigger a recompilation on everything that depends on the class. Unfortunately, the solution may cause pimples.

Share this post


Link to post
Share on other sites
You need to understand C++, but I'm not sure it's the single most important part of programming.

C++ is like English; and just because you can read and write some English words doesn't mean you can put together sentences, especially sentences any one wants to read or hear. Or, breaking all of the rules of grammar doesn't necessarily make the sentence wrong.

I've programmed, in C++, for over 14 year professionally, and my biggest development is finding a better and simpler solution to problems.

Share this post


Link to post
Share on other sites
Quote:
Original post by cdoty
You need to understand C++, but I'm not sure it's the single most important part of programming.

C++ is like English; and just because you can read and write some English words doesn't mean you can put together sentences, especially sentences any one wants to read or hear. Or, breaking all of the rules of grammar doesn't necessarily make the sentence wrong.

I've programmed, in C++, for over 14 year professionally, and my biggest development is finding a better and simpler solution to problems.


that's why I started this thread. Even though I was able to get many programs up and running without problems, only by reading advanced stuff I realized HOW MUCH I took for granted things that I didn't know exactly why/how they worked. Other languages hide this little deadly details from you, while c++ don't (I think). :)

Share this post


Link to post
Share on other sites
I actually wrote a blog post recently that touched up on this subject; here is the relevant part:

There is a period of time for a C++ programmer which I call “the tribulations”, where one goes from knowing nothing of the language to the desire and efforts to master it. The end of the tribulations is not actually mastery, but rather the acceptance that C++ has no master (or at least very, very few.) With this acceptance comes the ability to work efficiently within your knowledge constraints of the language and the ability to produce stable and maintainable code. The period of tribulations is different for every programmer, and admittedly, many give up in the process. It’s called the tribulations for a reason. For myself it lasted several years, but even then, I still held out hope to truly conquer every last facet of the language and the standard library. A few more years and I realized the foolishness of those suppressed desires. Sometimes I do still dream though.

Share this post


Link to post
Share on other sites
Using Delphi for ~10 years now. Later on added C/C++ to the collection, a little bit Java, some SQL, Python, and lately I'm doing quite alot VB.NET. Can't say I know each and every technique of these languages, but it's good enough to do (most) of the things I want.

However, I sometimes feel the techniques are evolving alot quicker than I can possibly follow. Just when you thought you were up-to-date, new hardware comes, another languages arises, Web technology takes over, DirectX 26.A has been released, Super threading with 100 cores... it never stops. Mastering programming is more than just knowing howto write code. "You can talk the talk, but can you walk the walk"?

The good news is, the more you've seen, tried and done, the quicker you pick up other techniques. For now that is, hope I can say the same when I'm 20 years older :)

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this