a different question: can you earn a living with *just* python?

sjdevnull at yahoo.com sjdevnull at yahoo.com
Wed Sep 27 02:10:18 EDT 2006


Roy Smith wrote:
> "sjdevnull at yahoo.com" <sjdevnull at yahoo.com> wrote:
> > If you're really trying to become a well-rounded computer professional
> > I'd recommend reasonable exposure to at least:
> >
> > * C
> > * A static functional language (ML, Haskell, etc)
> > * Lisp or scheme Scheme
> > * A static class-oriented language (Java, C++, etc)
> > * A dynamic OO language (Python, ruby, smalltalk, etc)
> >
> > and at least a brief look at, say, Forth and Prolog.
>
> Interesting list.  Of those, I've done tons of C, just enough lisp to get
> the feel of it, lots of C++, and of course Python.  I've never done any
> functional stuff.

You should.  It's very enlightening.

>  Just enough Forth to be able to say I'd done it (as long
> as you don't press me too hard on the exact definition of "done it").
>
> I've also done a lot of serious Fortran.  Some SQL.  Some Java.  Perl when
> I'm forced into it.  PostScript (yes, it really is a programming language).

SQL I don't class as a programming language, but it's certainly worth
learning for most modern programmers.

Postscript is a stack-oriented language  in the same vein as Forth, so
if you really learn one then I wouldn't bother with the other until
you've learned something in each of the genres I've listed (unless you
need the second for a reason--but I wouldn't learn 2 stack languages in
an "expand your brain" excercise until after you've learned languages
in lots of other categories).

> The point is, there's lots of languages.  If your goal is to make a career
> as a programmer, you will eventually end up learning lots of languages.
> Each one will teach you something and make you a better programmer.

Yes, and making sure that the first several you learn are disparate in
their common idioms and programming models is incredibly worthwile to
your development as a programmer IMO.  Obviously if you need a language
for a job, you learn that next.  But when it comes to learning new
languages for fun, if you already know C++ and Python I really think
you're much better off learning Lisp, ML, or Forth than Ruby or Java as
your next "learn to improve my skills" language.

And it's not about hot new things; you can easily learn a _ton_ about
programming by learning C, Lisp, Smalltalk, C++, ML, Algol, and Forth,
and you haven't learned any new "flavor of the month" language.  The
difference between Ruby, Python, and Smalltalk is very small compared
to the difference between C, Lisp, and ML.




More information about the Python-list mailing list