Is it worth learning python?

Mr. Neutron nicktsocanos at charter.net
Thu Aug 22 11:46:33 CEST 2002


On Wed, 21 Aug 2002 14:42:53 -0400, Raphael Ribeiro wrote:

> I wanna start learning some real programming language (I know now only
> Visual Basic , but i don't find it interesting ,sorry for the vb
> programmers, but this is my opinion). And I was reading some docs ,
> which were talking about lots of programming languages, I saw there
> Python , and took a look at some python sites. I saw some snippets and
> read some docs and liked the language a lot. But I don't know if this
> language is well-accepted in the market and if having a good python
> knowledge would give me a good job.. I am only 17 and I'm only making
> plans, so if you have any suggestions tell me.
> 
> Raphael Ribeiro

Yes, it is definitely worth learning Python. While there are very little
jobs in the market I have seen that say Python developer in the title, it
is a good tool to have under your belt. Many companies are using Python
for prototyping and scripting, but don't publicize this fact. Knowing
Python can also be a very educational and rewarding experience!

Visual Basic seems to be dying in the market. My experience of looking
for work has shown that most companies are looking for Java developers at
the moment, with experience in C/C++ and Python or Perl. C/C++
programmers are next, followed by Perl. Compare this to several years
ago, when VB was number one in the number of jobs posted.

If you want my advice, learn Python. Then learn C++ and Java. Perl is
also useful to know, and it is different than Python in many ways, it is
more or less in the same class of language as Python (scripting). 

In any case you should fundamentally learn C programming. It is the most
widely used language around. A basic grasp of C goes along way. Most
modern languages incorporate ideas from C into their syntax. Once you
know C you know how to move to many other languages. C++ is just C with
extensions to the language. If you know C++, you know C. If you know C++,
you can move to Java with less learning curve.

I don't suggest Pascal unless you have some historical interest in
educational languages. While Pascal is a capable language, and I learned
to program in it and actually like the language, it is not heavily used in the USA
that I know of. There is support for it by Borland (Delphi/Kylix) and it is popular in
some circles.

So if you wanted my advice (I have programmed in C/C++ and Pascal for
over 10 years, and I am now catching onto the interpretive and higher
level language fever) learn Python. 

The fundamental concept of programming though is not to become engrossed
in the language of implementation but the *concepts* of programming. Once
you have mastered the concepts of computer science, language
implementation is just the translation of the idea into a working
program. Language syntax is fundamentally different from one to another
but the essential concepts of computer programming are the same in all
languages. Concepts like algorithms, recursion, and data structures are
the essential ingredients of making a program. When you understand these
principles, you just need to learn a language to implement them into.
Once you have mastered a language (particularly C) and the concepts,
moving to other languages is not hard. Python gives you all the tools to
learn the important concepts of programming interactively. Maybe some
might disagree with my statement. Computer programming is
an art and a science. Each language I know or have experimented with
emphasizes some particular way to accomplish the same thing. Python is
like a swiss army knife or a monkey wrench. It is useful for many
different things, but it is not a specialty language. It is an all around
good general computing language and I really have enjoyed it so far. I
have only found one problem with it so far.

It's important to understand that every language has pros and cons. 
No language is perfect. Python has faults and there are issues that are
not really possible in the language that can only be done in C. Python is
also slower than C because it is interpreted. There is a tool I saw for
Python for JIT compiling (psyco) which claims to speed Python up. I
haven't tried it yet. 

C/C++ fault is that it can take forever to compile your programs (if they
are very large), it is easy to make mistakes and crash your program (or
the computer), the syntax is sometimes very difficult to read, and it
takes reams of code to do a simple thing that you can do in a few lines
in Python. On the positive side it is very fast execution speed as it
compiles to native code.

I know little about Java. It is interpreted like Python (through the
JVM). It is a strongly typed Object oriented language. It has many tools
available to it. It is not a scripting language like Python. It is very
popular with server side development and network programmers. It is based
on the philosophy 'Write once run anywhere' which made me puke when I
heard that (I can write C/C++ code that I can write once and compile
anywhere too...or pascal...I was very resistant to Java, and to Python,
because in my mind I could see no difference between them when I learned
about them.. my bad... also computers have gotten much faster in the past
10 years as well. It is feasible to write large programs in Python and
Java now. Back then things were to slow (if you can get your hands on a
80486SX computer compare it to a modern P4 computer...))



##########################################################################
Ok I've tortured you with my advice so now go learn Python and be happy!
You will learn to appreciate it! It is really a cool language.



More information about the Python-list mailing list