Is python worth learning as a second language?

Bruno Desthuilliers bruno.42.desthuilliers at websiteburo.invalid
Mon Mar 9 08:19:19 EDT 2009


ZikO a écrit :
> Hi
> 
> I hope I won't sound trivial with asking my question.
> 
> I am a C++ programmer and I am thinking of learning something else 
> because I know second language might be very helpful somehow.

Indeed. FWIW, I use about four programming languages on a daily basis - 
plus "non-programming languages" like SQL, CSS, (x)HTML etc, know at 
least four others enough to be able to read code and do simple 
maintainance, and have been studying (at least enough to get a general 
feel and have a general understanding) half a dozen other languages.

Learning a new languages serves two purposes:
1/ add another tool to your toolbox, so you have the right tool for the 
job (I definitively wouldn't use C++ for web programming or sysadmin 
scripting)
2/ learn new concepts and idioms (and this can be invaluable, at least 
if you hope to become a better programmer).

> I have 
> heard a few positive things about Python but I have never writen any 
> single line in python so I do not know this language at all.

Quite a lot of Python users come from other languages - mainly C, C++, 
Java and Lisp, and these last times from PHP too thanks to Django.

If you're already an experimented programmer, specially from a C/C++ 
background, getting started with Python should be really easy. I guess 
your main problem will be the mental adjustement needed to work *with* 
the language instead of fighting *against* it.

> Do you think python would be good complementary language for C++? 

Quite a few C++ programmers here seems to think it's the case.

> Do you 
> think it's worth learning it or let's say try Java?

Java being mostly a stripped down version version of C++, and not being 
usable as a glue or scripting language, I don't think you'd get any 
benefices from learning it.

> and how difficult it 
> would be for me if I know C++ pretty well I would say?

cf above. As I said, the hard part will be to stop trying to forcefit 
C++ concepts and idioms in Python - as usual when learning a somewhat 
different language. FWIW, learning Python 101 is a matter of days, but 
it took me months to get rid of the declarative-static-typing / 
defensive-programming mental straightjacket. Seems like some never get 
past this point...

HTH



More information about the Python-list mailing list