Compile time type checking

I think the main reason that languages such as Ruby, Python, Perl and TCL
tend to be used for “scripting” as opposed to “real applications” is
that they lack compile time type checking. Since there is no compile step
in Ruby, maybe this should be called pre-release type checking. … I’m
curious how some of you that have written real applications in Ruby have
dealt with this.

I think that it depends on your needs. The “real applications” that I create
using Ruby tend to have very simple user interfaces, usually just a bunch of
command-line options. I hid all of the complicated stuff at arms length from
the user.

So, all of the “input” is strings, which are valid or not (such as an IP
I guess you could say that I design around the type issue.

I love Ruby syntax, but this issue may be one that keeps many people using
Java instead.

Not for me. Ruby is -much- more elegant and runs all the places I need it
to run (Win and Unix). And I just love the power and the speed (really!).
I use the Telnet module a lot and find it -much- faster and less buggy than
Perl, and vastly simpler than using a compiled version.