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)