What to do after Python?

Bob Calco rcalco at cortechs.com
Sun Feb 18 21:51:00 CET 2001


# Other languages.  Hm.  I've heard prolog is cool, but I've done all of
# my constraint-based programming in lisp.  I looked at Haskel, but it
# seemed over-pure.  OCaML is nice, but I never really got into it.
# Sather is a great language, but it's dying.  It's like Eiffel, in that
# it teaches good OO design, but it has really cool Icon-like iterators
# (I would so love it if python got those some how), and it's
# contravariant rather than covariant, so it doesn't have to do nearly
# as many type-checks and is thereby much faster.

Check out Mozart, an implementation of the Oz language, at
www.mozart-oz.org. It's very fringe in the sense that not very many folks
know about it but its one of the few (IMHO) successful hybrid languages
(from an engineering perspective, not a commercial perspective -- it hasn't
had enough exposure yet to make it to the "big time"), with emphasis on
concurrent programming, constraints-based programming, mobile agents, and
the like; plus, it's cross platform like Java. Its power lies in being able
to code each piece of an application according to the paradigm that best
fits the solution (functional, object-oriented, declarative, etc.) all in
the same language. I find it very "natural" for all sorts of applications,
particulary expert systems, if your into that.

It's funny; I stumbled into it looking for classical music MP3's and
information about famous composers on the web, believe it or not!

Sincerely,

Bob Calco

# -----Original Message-----
# From: python-list-admin at python.org
# [mailto:python-list-admin at python.org]On Behalf Of Johann Hibschman
# Sent: Sunday, February 18, 2001 3:04 PM
# To: python-list at python.org
# Subject: Re: What to do after Python?
#
#
# Jim Eaton writes:
#
# > Thank you very much for your advice.  I was also wondering if
# learning Perl
# > sometime later would be needed.  I've heard people talk of Python as the
# > natural successor to Perl and I'd like to know what people feel
# about this.
#
# Heh.  I didn't even get a chance to get started.
#
# Clearly, this depends on what you want to do with your new-found
# programming power.  If you're interested in web-related work, then
# Perl would be a good thing to know, simply because it's very common.
# I don't do web-stuff, I do numerics, so I've never been able to make
# myself learn it.  (Well, I know enough to use it as a "better awk",
# but that's about it.)
#
# If you want to become a better general programmer, Perl will not help
# you at all, IMHO.  I don't really think that Java would help, either,
# since I'm not sure what it would teach you.
#
# C or C++ would at least help you understand how to manage your own
# memory and perhaps give you a better sense of what goes on in the guts
# of the machine.  Out of those, I'd recommend learning the basics of C
# first, because I find C++ very confusing.  Now, that being said, my
# main production code is a Python/SWIG/C++ system, so I like some parts
# of C++, but it's an awful mess to learn.
#
# This may be heresy in a c.l.python, but I really wish I'd written the
# whole thing in Common Lisp to start with.  Too late now, but my next
# project will be entirely CL.  I'm tired of the wall between the
# scripting language and the speed language; CL can be both (I get
# numeric performance as good as Fortran in Common Lisp using the free
# CMUCL compiler), so I'd just use that.
#
# (Python is great for things that I think I will never need that
# to-the-metal performance in.  If I can stay in pure Python, I use
# that.  I'll just never try to maintain a dual Python/C++ project
# again.  Arg.)
#
# One warning about this lisps; you might want to be careful with them.
# I never like advocating them.  I absolutely *hated* Scheme when I
# first had to deal with it in an AI class, but I've grown fonder of it
# with time.  I had to do far too many things in a completely backwards
# way; if you're just trying to learn new ways to do things, it's great,
# but if you're trying to implement alpha-beta pruning in your checkers
# game for the assignment due the next day, you'll come to hate it.
# Common Lisp is a lot more practical.
#
# Other languages.  Hm.  I've heard prolog is cool, but I've done all of
# my constraint-based programming in lisp.  I looked at Haskel, but it
# seemed over-pure.  OCaML is nice, but I never really got into it.
# Sather is a great language, but it's dying.  It's like Eiffel, in that
# it teaches good OO design, but it has really cool Icon-like iterators
# (I would so love it if python got those some how), and it's
# contravariant rather than covariant, so it doesn't have to do nearly
# as many type-checks and is thereby much faster.
#
# That's about it for my experience.  Sorry for the brain dump.  I just
# started out by saying that learning Perl won't teach you anything that
# you can't get from Python, so don't bother with it, unless you just
# want to make yourself more marketable.  And I stand by that statement.
#
# --Johann
#
# --
# Johann Hibschman                           johann at physics.berkeley.edu
# --
# http://mail.python.org/mailman/listinfo/python-list
#





More information about the Python-list mailing list