should i learn it first ?

Bengt Richter bokr at oz.net
Sun Mar 10 02:03:17 EST 2002


On Sat, 9 Mar 2002 12:59:31 -0600, "Jason Orendorff" <jason at jorendorff.com> wrote:

>Qiang.JL wrote:
>> I am a student who have learned perl,java and other like data structure
>> stuff. Now i want to take some further step to learn one or two 
>> languages to improve my language view. There are two languages are on
>> the list: python and C++
>
>Learn C first.
>
I'd say if you don't know C, C++, or Python, then start with Python.
Then C++, then C. In that order, you won't have to unlearn patterns
of design you absorb solving problems with C.

If you start with C, you will get used to a procedural way of looking
at problems, and when you get to C++ you will be tempted to see it
as just C with extra features. You'll have to dislodge yourself from C
habits of thinking in order to "think objects" in C++. Coming from
Python you shouldn't have that problem (unless you've carried bad baggage
into Python from something else ;-)

If you start with Python, you will have a pleasant experience, and if
you learn to use classes effectively, you will then more readily see
the object-oriented aspects of C++ that really differentiate it from C,
and lets you design in ways that aren't practical or fun in C.

>> do i need to learn C/C++ to be a good programmer?
>
>You can be a good Java programmer without knowing C.
>You can be a good Python programmer without knowing C.
>But every good *all-around* programmer I've met knows C.
>
No argument. Also, you will find C for more processors
than any other language, which is important for embedded
and to-be-portable work (like CPython itself), if not so
much for app-level work.

Regards,
Bengt Richter




More information about the Python-list mailing list