On 2002.09.29, Gavin Sinclair <gsinclair / soyabean.com.au> wrote:
>  - computing should be explicit

Computers require explicit instructions.  Humans aren't necessarily
computers -- or, if we are, we operate at a level much more complex than
physical computing machines.

>  - you need greater rigidity as projects get large

I think this is a false belief.  If I weren't illiterate, I'd reference
published materials that assert this.  But, alas, I'm illiterate.

>  - most people have a backgound in explicit typing, and those
>    languages have explicit types for good reason

"One hundred thousand lemmings can't be wrong."

> The fundamental reason I hear most often is the desire to weed out bugs at
> compile-time, not run-time.

Compile-time doesn't affect the end-user.  Only run-time affects the end
user.  So, focus on program correctness at run-time.

The belief is that if you can eliminate a subset of all possible errors
at compile-time, that reduces the search space of errors that you need
to check for at run-time.  I make the claim that if you properly ensure
correctness at run-time, you will also cover all errors that can be
determined at compile-time, so checking for errors at compile-time is
redundant.

> One thing's for sure: "dynamic programming" leaves a lot of risk at run-time.

All programming leaves lots of risk at run-time.  Dynamic vs. static
typed languages simply leave different risks.

> I think types will always be important in computer programming.
> Anyone care to disagree?  

I think the notion of abilities will be important in computer
programming.  Programs having abilities, or objects having abilities, or
agents having abilities, etc.

We have a tendency to classify things into types in order to make sense
of the world around us.  However, in a world of similar patterns that
form types, typing at the level of granularity of the whole object is
too rough.  It needs to be at the level of the abilities that make up
the object.

Perhaps it is because of these things that makes the concept of
polymorphism so difficult to grasp ... I'm not sure.

-- Dossy

-- 
Dossy Shiobara                       mail: dossy / panoptic.com 
Panoptic Computer Network             web: http://www.panoptic.com/ 
  "He realized the fastest way to change is to laugh at your own
    folly -- then you can let go and quickly move on." (p. 70)