[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: dynamic vs. static typing
Joe Marshall wrote:
> If there is some feature of the language that cannot always be
> statically decided, and you are unwilling to restrict usage of the
> feature to the statically decidable cases, then there needs to be
> runtime support for that feature. If there is runtime support for a
> feature, then static support of the same feature, however desirable,
> is no longer strictly necessary.
Surely I don't need to tell you that this is what well-designed (and
sound!) typed languages do. For example, the type systems of most
typed languages don't even try to prove that array bounds will be
within checks. The run-time systems of most typed languages therefore
insert array-bounds checks.
> ...but this is a caricature. Any compiled language does *some*
> sort of static analysis.
I have to pick a nit with this terminology. *Languages* are neither
compiled nor interpreted. Individual implementations may take the
form of a compiler or interpreter (or god-knows-what these days).