Hi,

In message "Re: help -- persuade my boss to adopt ruby"
    on 02/12/16, "Bulat Ziganshin" <bulatz / integ.ru> 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.