I want to learn a new language...

Levi Pearson levi at cold.org
Thu Feb 15 14:46:31 MST 2007

Hans Fugal <hans at fugal.net> writes:
> It's always important for the API to be understood. The advantage to a
> dynamic (duck-typing) language is not that you don't have to understand
> or make understood the API. The advantage to a dynamic language is that
> you can pass a guy dressed in a duck suit to the library that was only
> designed for ducks. The difference becomes you documenting "something
> that behaves like a duck in this sense" vs. static type checking which
> requires things that descend from Duck or _are_ Duck. It's not a matter
> of power, it's a matter of expressiveness. People argue that static
> languages are safer. I say we have enough of that with our government
> treating us like babies. I don't need my compiler/interpreter to do it
> too.

Although I mostly agree with you, my experience with languages that
have very expressive type systems has made my opinion of static typing
much more favorable than it was before.  I think there's a balance to
be struck between dynamism and static analysis, and though it may vary
from project to project depending on requirements, I think that Java
and other languages with similar type systems are usually more rigid
than would be ideal.


More information about the PLUG mailing list