[Types-sig] Avoiding innovation
Guido van Rossum
guido@CNRI.Reston.VA.US
Tue, 14 Dec 1999 12:36:44 -0500
> In response to Greg's message I want to add a design goal:
>
> #11. Wherever possible the system should try to build upon existing
> implemented type systems and research rather than being designed from
> scratch for Python. It will build much more closely on dynamic
> language type annotation systems such as those in Smalltalk, Common
> Lisp, Dylan and Visual Basic. Java and C++ are of secondary interest
> as models.
>
> ---
>
> Python is just another syntax and virtual machine for the lambda
> calculus. It obeys the same mathematical laws as other programming
> languages. I think it would be a mistake to throw out everything that we
> know about type systems and implement something idiosyncratic.
>
> Python IS a classical dynamic object/procedural programming language. It
> is not a research language and I dislike attempts to put in untested new
> ideas, especially in the area of type checks.
I like this.
I have almost always tried to avoid invention for the rest of Python,
and some of the few bits of invention are some of my least favorite
Python features.
I also often think of Python as a particularly dynamic
*implementation* of a fairly conventional type system.
--Guido van Rossum (home page: http://www.python.org/~guido/)