another beginner sort of question

Mike Meyer mwm at
Thu Nov 3 06:52:38 CET 2005

John Salerno <johnjsal at> writes:
[Wants to learn C# and Python simultaneously.]
> So my question is, is this feasible?

Should be. It might be faster to do them sequentually.

> Or does learning Python require (or entail) learning all the details
> behind it?

Not really. There are some traps you can fall into that are obvious if
you know how the underlying implementation works, but even for those,
you just need the general idea, not the details.

> Also, do I need to know anything about C or C++?

No. In fact, the less you know about them, the less you'll have to
unlearn to use Python effectively.

> Python seems to connected to those languages that I'm afraid
> learning Python by itself might not be practical, but hopefully
> that's unfounded.

CPython (the implementation most people mean when they say "Python")
is written in C, and has well-defined APIs for putting an interpreter
into a C program, or making functionality from a C library available
to a CPython program. Other implementations have similar hooks for
different languages. Unless you want to get into the internals of an
implementation, to embed Python in an application, or to write a
Python extension (usually because you're wrapping an existing
library), you won't need to worry about any of these.

One thing. While Python is called a "scripting language", it doesn't
have facilities for dealing with shell scripting that other "scripting
languages" have. As such, it's harder to do shell scripting type
things in Python than in those languages. On the other hand, it's
easier than doing them in C, for the same reason that doing pretty
much anything in Python is easier than doing it in C. On the gripping
hand, if you do things pythonically instead of like you'd do them in a
shell script, you may find that Python is easier than the shell

Mike Meyer <mwm at>
Independent WWW/Perforce/FreeBSD/Unix consultant, email for more information.

More information about the Python-list mailing list