Python Is Really Middleware

Neil Hodgson nhodgson at bigpond.net.au
Thu Aug 2 20:50:51 EDT 2001


Peter Mayne:

> Note that .Net is *not* offering a core language, but a Common
> Language Runtime (CLR) upon which you can layer any language
> you like, and all of the languages will interact happily with each other.

   .NET does this by constraining the types and features usable in the
library interface to the Common Language Subset, whereas a Python (or Dylan,
or ...) specific library can use additional language features to create a
better library. The .NET CLS doesn't support multi-dispatch, backtracking,
deterministic finalization, multiple inheritance, generics, or closures
AFAICS. Individual languages can provide these over the CLR but you can not
then use them from all the other languages without resorting to clumsy
wrappers that work around the CLS limitations.

   Generators are one of the better recent additions to Python and I expect
libraries to start exporting them. Will other .NET languages be able to
consume these? Are they convertable to .NET iterators?

> (Yes, all three of those are or will be available for .Net.)

   They've been announced for .NET. How many actually get delivered for .NET
release 1 and then stay alive is another thing and I'm very sceptical.
Several COBOL for Java compilers were produced (I worked on one myself) but
they all look dead now. If Python.NET doesn't speed up a lot, it doesn't
look viable to me.

   Neil






More information about the Python-list mailing list