[Tutor] Question

Alan Gauld alan.gauld at btinternet.com
Sat Jun 19 10:19:09 CEST 2010

"Independent Learner" <nbr1ninrsan7 at yahoo.com> wrote 

> ~I was wondering if I should try to learn 2 programming languages 
> at once, Python and C++. 

No, no no! If it had been a different pair I might have said try it. 
But C++ is one of the most difficult, complex and difficult 
programming lamnguages out there. It is full of subtle things 
that can trip you up and cause very weird and subtle bugs 
that are diffficult to find. And it has similar concepts to Python 
but implemented so entirely differently that studying the two 
together will be an exercise in frustration.

Part of the reason why C++ is so difficult is because it is 
so powerful. You have full access to the machine through 
the C language elements, plus a full OOP environment, 
plus a powerful generic type system. Plus it combines 
static and dynamic variables with a reference model all with 
slightly different syntax and semantic behaviours.

At work I hardly ever recommend that people go on language 
training courses, C++ is the exception! You can learn C++ 
by yourself but you will need a good book and a lot of 
time and patience.

> Obviously I am working on learning python right now, 
> I have gotten up to Classes

Stick with Python and get comfortable with that.

Then move onto C++ as a separate and significant project
if you really feel you have a need to know it.

> there are still a lot of things I am not really fully 
> comprehending, but like I said I have a pretty good idea. 

Ask questions here. That's what the tutor list is for.

> ~So is it better to learn 1 programming language 
> first, then learn another. Or better to pretty much 
> learn them at the same time? And why? 

If you had asked about Python and Object Pascal 
or Ruby or even Lisp I'd have said sure, if you enjoy 
comparative learning. Those languages are sufficiently 
close to makle it worthwhile. (That's why I teach 
VBScript and JavaScript as well as Python in 
my tutor) But C++ is awash with gotchas and has 
an internal object model completely different to Python.
(COBOL is another one that I'd never recommend 
as a comparative languiage!)

Alan Gauld
Author of the Learn to Program web site

More information about the Tutor mailing list