Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I'm coming back to C++ after a month. I still didn't start practicing but seeing my old code gives me nauseous feeling like I'm seeing something new even with simple small code.

Is this normal? Will I retain everything as I'll start writing code back?

share|improve this question

closed as not constructive by gnat, JeffO, Jim G., Mark Trapp, Yannis May 10 '12 at 11:59

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.If this question can be reworded to fit the rules in the help center, please edit the question.

I'm very certain this will be closed soon but still lemme give it a try :P Why? – Yannis May 9 '12 at 21:17
@YannisRizos Cause my last two questions were closed and deleted brutally. So I guessed whatever I'll ask here will be closed soon enough :) – M3taSpl0it May 9 '12 at 21:18
@M3taSpl0it - this is only your 2nd question... – ChrisF May 9 '12 at 21:20
@Songo In that case, add me to the stack ;) We've all been there. – Yannis May 9 '12 at 21:31
I actually counted the number of closed posts on the front page the other day, and the day before that. 2/3 of the posts had been summarily closed by moderators. Most were upvoted by the community :P Don't take it too personally--it's the way this site is; most questions will be closed. – Crazy Eddie May 9 '12 at 22:03
up vote 9 down vote accepted

Sounds about right to me. In my case, I have been using R for around 6 years, but these days there are long periods of time where I don't need to do any statistics in R, so there can be 3-6 month periods where I do not do a ton with it and let me assure you, there have been some scary moments where I am filled with self doubt when I can't get a simple dataset loaded. Fortunately it always comes back pretty quickly and stays with me if I am doing it a lot.

I have found this to be true for math (sometimes I goof up embarassing questions), simple statistics and about everything else I take a break from. The fortunate thing is that as I get better at things the relearning time goes down and in some cases ceases to exist at all. It also has motivated me to try and keep a project or two going in my free time where I bumble around with R and .NET. I think the conclusion is that it is not uncommon and you should not be worried, but you might want to do a bit of C++ in your free time to keep your skills sharp.

share|improve this answer

Most programming skills are universal. Very little is language specific, especially with regard to what is good design and what is bad. Thus the new skills you developed programming in other languages helped you see problems with old C++ code.

It's fairly normal.

share|improve this answer
The principals are the same, but look how many implementations of a simple case statement are out there. "switch","case","EVALUATE","select" etc. etc. – James Anderson May 10 '12 at 4:31

Yes, it is normal. After you start developing more and more software with that language, you'll forget less.

But even while you are still developing, you can forget some of the features of that language when you don't use it. So this is why we need a good reference book about that particular language.

If you are working with C++, you need a good understanding of the language. It is a very large language and you'll always need a good C++ reference.

share|improve this answer

Yes, it is normal to forget. But as Crazy Eddie said, knowing good programming style and technique in one language is generally applicable to another, provided it is not too different. For example, techniques that work well in C++ might not translate well to something like Lisp (though Lisp experts might argue that Lisp skills make you better at everything).

I find that reading a book about a language will only get you so far as to be able to understand code in that language when you read it. To know how to write in it, you really need to do a non-trivial project with it. Once you accomplish that, you might forget a few details after an absence, but your skills will quickly return when needed. Only by building something in a language do you begin to get the intuitive sense of how its pieces fit together that you need in order to excel at it.

share|improve this answer

1) The longer the 'break' period the more you'll forget.

2) The "more" you used them originally, the longer they can last 'on break'.

Example: I used UNIX and the VI editors for a year. Then I was on windows only for 8 years. So how were my skills when I returned? Pretty good actually. The fact that I had to do everything in vi and Unix for a solid year meant that when I returned I still found a solid base in my memory to return to. However I would say that for a while I was back at a "4" (out of 10) compared to an "8" before. However with a bit of relearning thrown on top I got back to my "8".

Final note: It's very normal to forget a lot. If we remembered every detail of everything perfectly forever, life would be very different.

share|improve this answer

Not the answer you're looking for? Browse other questions tagged or ask your own question.