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

Context: I'm taking several classes this semester in which I'll be coding. Here is a list of possible languages I'll be using:

  • Java
  • C (system and embedded level)
  • C++ (contest programming)
  • VHDL (for FPGA work)
  • Python
  • Scheme

Is it possible to keep all these languages floating around in one's head? How can one code without having to look up reference material every time they start working?

share|improve this question

closed as not constructive by Jim G., Thomas Owens Sep 11 '12 at 9:04

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.

up vote 2 down vote accepted

C++ alone is a massive language as is Java. I could reasonably expect a skilled, veteran to remember all of Scheme, Python, or C but there is no shame to be had in using references.

I'd argue that learning generically applicable programming techniques and remembering the elements of style for each language over trying to remember the entire syntax. I'm not sure that's possible in some cases, particularly given how much languages can change.

I work at a technical bookstore and I routinely sell reference manuals to skilled, experienced professionals. Better to have knowledge that there is such a technique for "thing x" and not remember the exact syntax or semantics than to not know that "thing x" exists. That's why these things exist. You are plugging along and think "I know of something that would work nicely here" and perhaps you find it to be wrong for that language but the reference if it's any good and you've a solid grasp on the fundamentals will give you pointers (sometimes literally) toward a solution.

share|improve this answer

It takes practice to code without looking up the reference materials. That's not something likely to happen in a semester unless you use the languages a lot. I recommend keeping a one page quick reference for each language handy.

You should be able to remember the idioms in each language easily - how to write a function, loop, print a value, etc. Because these come up often in coding so you will be practice them a lot.

What's the harm in using reference materials?

share|improve this answer

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