ToRA wrote:
> Florian Growrote:
> > dblack / wobblini.net wrote:
> >
> > >> Hm, actually it provides a way of using unit tests for checking types,
> > >> but will still let you do strong typing (via classes) and duck typing
> > >> (via messages).
> > > How about strong typing via messages? :-)
> >
> > I guess I should have said static typing. Though that is not exclusive
> > too classes either. I guess the only right term is "class based typing"
> > then?
> Static typing means the type checking happens at "compile" time (or NOT
> during the execution of the program!).  You mean Nominal typing
> (nominal as in name (using in this case classname)) as opposed to
> structural (messages / aka duck) typing.  Strong typing means that you
> can't get undefined behaviour out of the system at runtime (all 'type
> errors' are caught, generally in this case by method missing errors
> getting thrown).
>
> As another poster said, this terminology needs to be used correctly
> otherwise people do get confused :)
>

"Nominal/structural" typing, haven't seen that one before.  Artima
seems to have purged all their dogfights about what static/dynamic
strong/weak typing means, but you can read google caches, e.g.

http://66.102.7.104/search?q=cache:9zZxPZdlqR4J:www.artima.com/forums/flat.jsp%3Fforum%3D32%26thread%3D3572+site:artima.com+strong+typing&hl=en&client=firefox-a

Seems to me that ruby developers can agree on what strong / dynamic
typing means, but when you go out and encounter people from smalltalk,
lisp, haskell, ML, java/C#, ...  Also all those *nice* discussions
about what overloading/polymorphism  means, delegation/composition,
pass by value/reference ;-{}
> Tris