"We are all members of the Church of Murphy, whether we use static or dynamic environments. " [Scripting News] But the two incarnations of Murphy differ. Statically-typed environments are harder to learn at first, because a short algorithm is surrounded by tons of declaration boilerplate (Java is a notorious offender here), or relies on a subtle type inference procedure (as in ML or Haskell). Dynamically-typed environments give you more rope, to good and bad results, but make small programs easier to write. Question: what would you choose for an intro to programming class? Programmers need to learn ways of controlling Murphy. Which come first, data invariants (helped by static typing), or control invariants (easier to explain in brief programs not surrounded by declaration boilerplate)?
11:03:55 PM
|
|