Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free.

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

Intuitively it seems like this might be the case. Is there real research or authoritative anecdotal data (yes, please) supporting (or contradicting) this theory?

share|improve this question

closed as off-topic by Ixrec, Snowman, durron597, Dan Pichelman, GlenH7 May 19 '15 at 17:25

This question appears to be off-topic. The users who voted to close gave this specific reason:

  • "Questions seeking career or education advice are off topic on Programmers. They are only meaningful to the asker and do not generate lasting value for the broader programming community. Furthermore, in most cases, any answer is going to be a subjective opinion that may not take into account all the nuances of a (your) particular circumstance." – Ixrec, Snowman, durron597, Dan Pichelman, GlenH7
If this question can be reworded to fit the rules in the help center, please edit the question.

No matter what language you're studying, they key is to use it. I used to teach programming, and I always had some bright students who would do poorly on a test and then say to me "but I studied the book really hard..." – Mike Dunlavey Feb 5 '12 at 17:59
There is a well-founded body of evidence in favor of learning multiple languages and paradigms simultaneously. Just read the curriculum of any of the world's top CS universities. – SK-logic Feb 6 '12 at 9:15
up vote 7 down vote accepted

It is not necessarily confusing to teach beginners two different ways to program if done correctly.

The curriculum at ASU's Robotic Camp introduces middle and high school students to programming and robotics. In a two week period, it covers two programming environments, Alice and Microsoft's Robotic Studio Visual Programming Language (VPL). I have participated (as a teacher) in this camp, and we have survey data and empirical evidence that shows that most students learn enough about these two different languages to be able to produce their own creations in each language, and they feel much more comfortable about programming after the camp is over.

share|improve this answer

Keep in mind that most developers have to be able to at least read and patch multiple languages. It would be rare to find a developer that uses only one main language for multiple years.

By looking at more than one language in short order you will begin to see the similarities and differences between the languages. Once you have been exposed to your first language there is no need to struggle to understand the different types of loops, or what is a class.

share|improve this answer
True, but at the same time many developers do have a language as their forte or as a foundation for their career. – sjsam Jun 6 at 4:00

I would say, learning more than one programming language from the beginning is not the best thing you could do. I've taught C# at my university for two years. Some people always thought that they were able to learn java and c#, without any preknowledge, from scratch at the same time, let me tell you they were not able :D

Learning a programming language is more than learning some vocabulary. It's more than that, it's a step to have a complete new look on objects and progresses. Learning C# or Java isn't very hard, but learning the right way to develop and to analyze problems to find a solution is the problem.

And that's the point when it becomes difficult for beginners. You have to keep algorithm in mind together with a complete new vocabulary, or grammar ;-). And java and c# or php or or or are sometimes similar but not completely. So start with one language and after that you can try to learn more than once.

I think it's the same like development. Working in one project is fast with a good quality. Working in more projects at the same time is bad for quality and you need much time for all the projects.

share|improve this answer
Learning C# and Java in parallel is not a good idea, I agree - they're too similar, there is just no point in doing this. But learning, say, Scheme, C, Prolog and Forth all in the same time, as the very first languages is beneficial. This way beginners would be able to understand how things work, instead of just memorising the magical incantations, like most of those who start with Java do. – SK-logic Feb 6 '12 at 9:12
ok... I would always say: One thing a time. But what I could prefer is learning a development language like C, Java or C# together with some dialects or markup languages and databases. But never two languages per time :-) – Smokefoot Feb 6 '12 at 9:39
did not you get my point? Learning multiple paradigms simultaneously would give you a much deeper understanding of the very basics - of what the computation is, what is algorithm, what is complexity, etc. Learning the slightly different facets of a single language (C/Java/C#) is pointless and markup languages has nothing to do with programming per se, so I'm not getting your point at all. – SK-logic Feb 6 '12 at 10:13
ok now I get your point :) Sorry missunderstood :-) – Smokefoot Feb 6 '12 at 10:55

I would say no! Because your aim is to grasp the concepts of programming. It is advantageous to learn programming languages with different syntaxes and styles. As a beginner, it is good to learn Python/Visual Basic and Java if you are totally new and naive to programming (also depends what age group you fall into).

If you are like to pursue programming as a career then it is best to start with C and/or C++ and then learn Java as in C you come to know about memory management using pointers and C++ is a multi-paradigm language besides being OOP language.

Essentially programmer should concentrate on logic and skills rather than just the syntax and constructs of the language.

share|improve this answer

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