On Tue, 2 Jan 2001, chad fowler wrote:

> the biggest challenge in deciding how to approach Ruby design/programming
> is in the lack of strong typing.  Not that it's a problem, but it's the
> area that most strongly changes the way I need to think about a program.

I find working in a weakly typed language separates the data from the
process so that each can be handled independently from the other.

In a strongly typed language, I think about the data and what I want to
do to it as a single step since I have to define both at the same time.

This makes it difficult to experiment with other approaches, so coding
becomes a process of crystallising design. The more I write, the less I
can change. If I change something in my C code, I have to plough through
the rest of my code updating all the references.

In a weakly typed language (like Ruby), I think about what I want to do,
write the code, then I think about the data, and write some more code.

The reason this works is because Ruby doesn't care what data types I'm
using, so it becomes very easy to change what is being handled without
having to re-write any code.

The Ruby way is more like how I naturally think, and it's slowly pulling
me out of a 10 year programmer's block. I have much more confidence in
the code I'm writing when I can test every step on the way rather than
taking a blind leap of faith that it's going to come together later on!

-- 
  steve / deaf.org