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 work as a Java programmer, but C and C++ were always my favourite languages during studies. Unfortunatelly I don't have an opportunity to work with them as often as I would like to. As a result I sometimes get realized that I don't remember something quite important (today example: inherited protected members cannot be accessed in derived class constructors). The other example could be Python and Haskell which I enjoy using but don't use everyday. I got an idea to write my own wiki with easy to forget things (e.g. bash tricks & tips) but I find no sense in writing there everything I can forget about coolest programming languages. I know that the best way would be having a side projects (I want to start working on some C/C++ open source project after graduation), but currently I have to write my graduation thesis and work so I merely don't have time to do this. How do you stay sharp in languages that you don't use everyday?

share|improve this question

closed as off topic by Walter, gnat, MainMa, Thomas Owens Nov 12 '12 at 13:19

Questions on Programmers Stack Exchange are expected to relate to software development within the scope defined by the community. Consider editing the question or leaving comments for improvement if you believe the question can be reworded to fit within the scope. Read more about reopening questions here.If this question can be reworded to fit the rules in the help center, please edit the question.

Seven Languages in Seven Weeks is an interesting read. – Yannis Nov 9 '12 at 22:56
You’ve answered yourself. “Write my own wiki” — help with Wikibooks’ C++ book). “Having a side projects” — indeed working on an existing C++ open-source project would help. If you do not have time to do those (a couple of hours a week should be enough for any of those two options), I think you should wait until you have. – Gallaecio Nov 9 '12 at 22:58
Frankly if you program in Java using C++ isn't polyglot. It's like speaking Swedish and deciding to learn Danish - it's not exactly expanding the range of novel concepts – Martin Beckett Nov 10 '12 at 0:06
up vote 7 down vote accepted

How do I stay sharp in languages I don't use every day?

For me, the answer is "I don't". I've used perhaps a dozen languages professionally for relatively substantial projects, yet at any one time I only count myself proficient in maybe two, with maybe a third where I can use the language with a little extra effort.

Given an opportunity, I'm certain I could once again become proficient in FORTRAN or PERL or C or AWK or any of several other languages when the need arises. At any given time I only care about what I'm using at that moment.

Don't try to become "a Haskell programmer" or "a java programmer". Instead, focus on being just a really good programmer. Eventually you'll come to realize that languages are just syntax, and the real skill and joy in programming comes not from being proficient in one particular language, but being able to craft something useful in whatever language is appropriate at the time.

share|improve this answer
To be fair there is a more substantial difference between languages from different paradigms than just syntax. But +1 everything else is spot on, none of it sticks and that's fine because every 5-10 years you'll be working in a (maybe multiple) new languages that you don't know until the time arises. Also I play with languages in my off time I don't work with but play and work are totally different, the only way to maintain a current working proficiency in a language is to use it every day. Them's the breaks. – Jimmy Hoffa Nov 10 '12 at 1:49

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