Why static typed languages are sometimes better.
Heather Coppersmith
me at privacy.net
Fri Jul 2 08:05:17 EDT 2004
On Fri, 02 Jul 2004 06:29:40 GMT,
"Mike Austin" <mike at mike-austin.com> wrote:
> There are dynamically typed language such as Dylan and CLOS that
> can put restrictions on what type of arguments are passed to
> functions, and fail if there is no match. Although this is
> using a mechanism -- multimethods. On that thought, are
> multimethods considered to be a form of type checking, or simply
> a mechanism? Hmm.
Is "Object Oriented Programming" a form of type checking, or
simply a mechanism?
Untested code:
class A:
def a( self ): print "A.a"
class B:
def a( self ): pass "B.a"
class C:
pass
def foo( an_object ):
an_object.a( )
foo( A( ) )
foo( B( ) )
foo( C( ) )
For that matter, what about imperative programming and simple
binary operators?
print "a" / 4.0
Previous pythons raised exceptions for this:
print 2**24 * 2**24
Somewhere along the line, you must meet some minimum criteria for
using any given mechanism, and the mechanism itself may contain
"checking" of one kind or another. If I load two CPU floating
point registers with "random garbage" (whatever that means) and
then try to multiply them together, but the CPU throws a floating
point exception, is that type checking?
Regards,
Heather
--
Heather Coppersmith
That's not right; that's not even wrong. -- Wolfgang Pauli
More information about the Python-list
mailing list