Alan accidentally e-mailed me directly.. forwarding to list! :)
--- Begin Message ---
Andy wrote:
Hey everyone, I'm looking to get the opinions of some people with
more
experience then myself. Currently I only have time to learn one
language and I'm torn between C++ and Python.
If you have time to learn C++ then you have time to learn at least
two other languages! C++ is one of the hardest languages to learn,
in fact its one of only three languages that I actually recommend
formal training for (the others are COBOL and Ada)
I would honestly rather use Python then C++ but I have a few
concerns.
How hard is it to manage a large project in Python vs. C++?
Python will scale up to anything a single programmer will ever
attempt - say around 100,000 lines of code. That equates to
somewhere around 250,000 lines of C++ in my experience.
If you plan on hiring other programmers and working on a
multi-million line epic then C++ might have an advantage.
For singleton projects, provided you think about your file and
directory structures Python should be fine.
Whatever you do, use a good version control system.
cvs and subversion are the favourites for small - medium
scale use, even rcs is adequate for single user scenarios.
Luke:
I think if you have a large project in Python, the equivalent
project in
C++ would be much harder to manage.
Not necesarily true since the C++ header/implementation paradigm
and strict typing leads to more easily managed code. But at the
cost of requiring a lot more files and a lot more code generally.
C++ was designed to make writing large projects easier and in
that it is quite successful.
more of a hassle to me. Once the C++ program has been compiled
it's
much easier to distribute. C++ has a much higher learning curve
and
development time then Python does. Python has a much nicer
community
built around it then C++ from what I can see though.
All good points.
Except maybe the C++ community which is, in my experience,
very helpful to other professionals, but not so good for beginners.
C++ is a very advanced language and its adherents tend to be
experienced programming professionals with high expectations
of those seeking their help. They will answer questions, but the
answer may not be that intelligible to a novice!
Once you understand all of these things, C++ will be greatly easier
to
pick up, as should most Object-Oriented languages be.
And again I agree. Becoming familiar with Python first is a good
step towards making good use of C++/Java/Delphi/Lisp/Smalltalk/
ObjectiveC etc etc.
Of course this wouldn't apply to everybody, and the fact that I was
fairly young when I tried to learn C++ I'm sure had an effect.
I used C++ for many years after about 5 years of C programming
and it was still a big jump. C++ requires a lot of low level knowledge
about how it works internally to get the best from it and avoid
wierd bugs.
Just my two cents worth,
Alan Gauld
Author of the Learn to Program web site
http://www.freenetpages.co.uk/hp/alan.gauld
--- End Message ---
_______________________________________________
Tutor maillist - [email protected]
http://mail.python.org/mailman/listinfo/tutor