From: matz@... (Yukihiro Matsumoto) Date: 2002-12-16T21:17:30+09:00 Subject: Re: help -- persuade my boss to adopt ruby Hi, In message "Re: help -- persuade my boss to adopt ruby" on 02/12/16, "Bulat Ziganshin" writes: |YM> Did "corporate America" ask me something that I refuse? | |can me and William Djaja Tjokroaminata say instead of them? :) read: I didn't know you (and him) representing it. |i see process of development of large application as prototyping w/o |type declarations, then "freezing" interfaces and adding |type-checking, pre- and post-conditions, huge comments and so on. then |process is repeated on a module-by-module basis | |this is close to process used for C++/Java now and on this way i will |feel that our Ruby programs are better in all senses than programs |coded in old languages. only alternative to type checking i know is |unit testing but i don't have feeling whether it will be definitely |more reliable (and this leaves problem of fast execution to some other |mechanism) | |in my experience, static typing is appropriate for 90% of function |prototypes/variable declarations and this is the common idiom used |even by Ruby developers (see Array.[] or Date.<=> for example - these |checks for types, not methods supported by object) Ah, they are "dynamic" type checking. I don't think it's what you want. Changing a language costs far higher than switching a language. Why do you waste your time trying to change Ruby? Just switch to Java, C#, or even ML, if you want static typing. I feel like, compile time type checks would not work effectively with "optional" type checks along with object-oriented method redefining. By optional type checking, only dynamic type check can be done at most. To accomplish compile time type checking, I have to change Ruby completely, and the result would be "yet another Java-like language", which won't survive long. I know for sure. Prove I'm wrong. Ruby is opensource. You can hack it as much as you want. matz.