Mono and Python

Andrew Kuchling akuchlin at mems-exchange.org
Wed Jan 2 10:42:50 EST 2002


"Don Tuttle" <tuttledon at mailandnews.com> writes:
> And truth be told, I'm scared CLI is going to be a multiplatform hit and
> Python isn't going to be invited to the party.

I kind of doubt it.  The whole supporting-multiple-language thing
seems like a trick to fool purchasers who look for cross-platform
support but don't look too closely, similar to Internet Explorer's
multiplatform support.  IE has been ported to Solaris and HP-UX,
mostly so Microsoft can say "See, you don't have to standardize on
Netscape inside your company, because IE runs on Unix."  Only later,
when the decision has been made, do you realize that it doesn't run on
Linux or AIX or Tru64, and only then does it start to become less of a
priority to release updated versions; the Unix versions are at 5.0
while 5.5 and 6.0 have subsequently been released.  At that point you
decide it's easier to just move everyone to Windows, and the goal of
the port has been accomplished.

Similarly, I think MS would like people to use the CLI/CLR and
therefore entices them with the run-any-language-you-like carrot.  But
only C# and VB will run really quickly -- remember, the .net port of
Python ran about 10 times slower than MS's anointed languages, because
the CLR isn't well-suited to dynamic languages -- and oh sorry,
version 2.0 will probably break all those other languages, and at that
point you'll just give up and write C# and VB code.

I think Parrot is much more promising as a future frontier, because
it's being written by the same people who are actually going to
implement languages on top of it, and it already supports some nice
features such as stacklessness.  The chief danger is that if no one
else tries to build languages on top of Parrot, then Perl-specific
biases will creep in.

On a more general note (and not one aimed at Don or at anyone in
particular), this whole "Python popularity" thread has been an example
of Town Council planning in action
(http://slashdot.org/features/98/10/13/1423253.shtml).  There have
been lots of opinions about what Python needs -- an optimizing
compiler, better support for building standalone support for Parrot,
support for .net -- but distressingly few people have actually gone
ahead and started coding anything.  (And I don't mean "designing", or
"vaguely speculating"; I mean "coding".)

I simply delete messages that pontificate about what Python needs, and
I suspect I'm not the only person around who does this.  If something
is supposedly vital to Python's future, yet no one is willing to spend
time on it, then it probably isn't so vital after all.  If someone is
willing to spend time on it, then it's probably worth considering, and
the very attempt will teach us something.  Talk is cheap; actual code
can be worth more than rubies.

And the initial job isn't even that hard.  No one expects a complete
finished product to spring up fully-formed like Athena from the head
of Jupiter.  Armin Rigo's Psyco isn't complete, yet it'll likely teach
us more about JITs than a year's worth of comp.lang.python postings.
My Python-to-Parrot translator does nothing non-trivial, yet I learnt
quite a bit about Parrot in the process.  Writing a rough cut at a C#
Python implementation using .net or Mono might provide the fourth
Python implementation, but it would certainly teach you about C# and
Mono, and it would be real-world experience, not claims from MS or
Ximian press releases.

--amk                                                  (www.amk.ca)
If my dream was true, then everything we know, everything we think we
know is a lie.
    -- From Rose Walker's diary, in SANDMAN #16: "Lost Hearts"



More information about the Python-list mailing list