HELP! Must choose language!

Nick Vargish nav at adams.patriot.net
Mon Dec 30 10:40:02 EST 2002


This is a really great question, and I think a lot of the responses
have been very good. One thing that has a lot of bearing on what
language is "best" for you is your motivation for picking up
programming. You didn't make that quite clear in your post.

If you want to learn to program because you're considering it as a
career, I think Python might be the wrong choice for you (at this
stage). It will teach you a lot about "how to program", but it is not
a language with a lot of employment opportunities -- trust me, I just
spent four months on the market, and only by luck do I get to use
Python in the office[*]. Getting used to Python might also mean that
you will be very frustrated when you have to program C++, Java, or
Visual Basic to make your living.

So, if you are getting into this for a career, I think you should
start with C, which can be learned in a couple of weeks. Then move to
C++ once you have a grasp of memory handling in C, because that's a
complicated and dangerous aspect of both C/C++, and the most critical
to learn if you're going to be a professional.  There seems to be a
lot of call for Java programmers these days, and as much as I dislike
the language, it is pretty easy to pick up in a few weeks.

If you are interested in programming as an intellectual excercise, I
think Python is a terrific way to go. It is an excellent procedural-
style language with a very pleasant object model. You can start with
the basics of "traditional" process-oriented programming, and easily
move into object oriented and data-driven programming with Python.

If you have a few tasks you want to solve by programming them, Python
is also a great language. It has a command-line interpreter, so you
can easily experiment with various approaches to accomplishing your
goals.

Personally, I think the best reason to program is because it's fun and
rewarding. Python is the most fun programming language I've ever used,
and that's why I do all my personal projects in Python. I
occassionally find myself chuckling to myself while I code, because it
all fits together so beautifully. On the other hand, I'm the kind of 
computer language geek who taught himself Scheme, Smalltalk,
assembler, and several others just for the fun of it.

Nick

[*] At my new job the boss is looking to rewrite some decrepit and
    ancient C programs in "something else." He's willing to let me
    make a case for Python by demonstating it can Do The Job. If I
    fail, we will be working in Java or Something Worse (Visual
    Basic)... As you can see, the stakes have rarely been higher.

-- 
#include<stdio.h> /* SigMask 0.3 (sig.c) 19990429 PUBLIC DOMAIN "Compile Me" */
int main(c,v)char *v;{return !c?putchar(*v-1)&&main(0,v+ /* Tweaks welcomed. */
1):main(0,"Ojdl!Wbshjti!=obwAqbusjpu/ofu?\v\1");}  /* build: cc -o sig sig.c */



More information about the Python-list mailing list