should i learn it first ?

Paul Rubin phr-n2002a at nightsong.com
Sat Mar 9 07:27:04 EST 2002


"Qiang.JL" <dragon at china.org> writes:
> 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++
> I have heard a lot ppl talk about C/C++,saying it's the must language to
> learn for a programmer.and i indeed feel so. but C/C++ is hard and may need
> to take longer time to learn and get the concept.also, Python seems a good
> language and easier to learn.
> I think some of you may come cross this, so let me ask you these questions

C++ is complicated, and in order to really understand it you have to
understand the problems it tries to solve, which are the organizational
problems that software projects get into when a lot of programmers are
working on the same program.  

C is simpler, and different in feeling.  It's more like a high level
assembler.

> do i need to learn C/C++ to be a good programmer?

No.  Both are very useful, especially if you need to write programs
that run fast.  For most things, you can write in C and not worry
about C++ unless you join a big project that uses it.  There are some
specific things like writing Windows COM objects that are easier in
C++ than in C.  

That's separate from needing to learn something to be a good
programmer.  To be a good programmer I think you need a sense of what
the machine is doing, so you should learn a low level language, but if
you're just doing it for the sake of learning, you may as well go all
the way and learn to program in assembly language.  There used to be a
saying that assembly language programming is good for the soul.

That doesn't mean you should actually try to develop complex programs
in assembler and make them useful--you should just get some experience
with it as an exercise, to understand how computer's instruction set
works and have a sense of what a compiler does.  Once you've done
that, C will seem very straightforward and logical to you.

> which one is better to start with ? ( I'm not a program beginner so python
> being a beginner programmer maybe not be applied here)
>
> How many language do you think one should _master_? I think one or two is
> enough.learning others are letting you to learn the language concept and
> structure etc certainly helpful.

If you're an experienced programmer in other languages, you can learn
basically everything about Python in a few weeks.  C++ takes longer
but again, it's just a computer language that some people designed.
It's not like a spoken language which evolves over thousands of years.
The thing is, to really understand C++, you have to spend time working
on multi-programmer projects.  If you only program by yourself, some
parts of C++ will never make sense to you.



More information about the Python-list mailing list