Dynamism and Database Referential Integrity
jason at jorendorff.com
Wed Jan 9 03:15:49 CET 2002
> Well, Java and C++ have no strong type checking, they have type
> declarations that can easily be subverted.
This is thoroughly overstated.
C++, in particular, lets you "subvert" the type system (by
casting) because low-level developers sometimes need to.
In C++, it is clear when you're subverting the type system:
look for casts.
Java has a very simple type system, with no generics, but
the system is "strong" in the way I've always seen the term
used, and not (in theory) "subvertible". Not all the rules
can be enforced at compile time, but enough are that the
compiler catches many common errors. (And even ML
has situations where runtime type checking is useful.)
> If you want type checking at compile time, you have to look for
> Haskell or ML-style languages.
ML's type system is **sweet**. My dream language has something
like OCaml's semantics and something like Python's syntax.
## Jason Orendorff http://www.jorendorff.com/
More information about the Python-list