On 2 Jun 2008, at 12:10, Robert Klemme wrote:
> You could even say that static typing conveys a false sense of safety
> (which could lead you to neglect testing) whereas this effect does not
> happen with "uncertain" (aka "dynamic") languages.

As is often the case on big C++ and Java projects where complexity (in  
the form of uncertainty over requirement correctness) is a dominant  
factor.

> I am not sure about DbC languages such as Eiffel.  These go much
> further in defining semantics and you cannot easily violate assertions
> that they provide, i.e. you get more safety than just static types.  I
> have always wanted to work with Eiffel but unfortunately never found
> the time. Also, from what I read it would feel a bit like a
> straitjacket - and given the option I much more prefer Ruby to get
> things done. :-)

I've played with DbC by convention on embedded projects where the  
overhead was much less than the reward, but my attempts to get into  
Eiffel always fall foul of a low boredom threshold (as is the case  
with Ada). I guess like most hackers I'm lazy, and languages like Ruby  
allow that laziness to be productive ;)


Ellie

Eleanor McHugh
Games With Brains
http://slides.games-with-brains.net
----
raise ArgumentError unless @reality.responds_to? :reason