[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: dual-language systems increase modularity

I will add one comment to what Matthias wrote.  Many people in the
lightweight community seem to have a certain antipathy to type
systems.  I would class them into a few off-the-cuff categories:

- Never programmed in a typed language.

- Can't stand the type annotations.

- Believe the idea of constraint (which is fundamental to a type
  system) is evil, especially during prototyping.

- Have a deep understanding of types of all sorts, but aren't
  comfortable with them for reasons that'll take an hour to explain.

Most people I've encountered in this community who claim to dislike
types fall in the first three categories.  Shockingly often, they have
never programmed in ML (SML or OCaml).  I contend that most of them
can be cured of most of their antipathy by a sound dose of ML.

Of course, types are only a starting point for making claims about the
robustness of a program's behavior.  There are much more sophisticated
means of validating programs that go far beyond the very simplistic
set of (mis)behaviors covered by most type systems.