John Papas wrote:
One of the things I like about languages like Java is that since it is
statically typed I get tools that assist me when I write code, for
example if I misspell a function name.
This doesn't actually have anything to do with Java being statically
typed.
What I really hate about dynamic languages is that, for example in
JavaScript if I misspell something there is no tool to find it [...]
Again, this doesn't actually have anything to do with the dynamic
nature of those languages.
In fact, pretty much all of the features that are now associated with
IDEs for static languages, were invented in Smalltalk IDEs: code
completion, class browsers, automated refactoring tools, automated
unit testing.
The *only* reason for the differences between IDEs for static and
dynamic languages is money: the Eclipse Java Development Tools are
developed by dozens of highly paid full-time engineers with million
dollar research budgets by IBM, Oracle, BEA etc.
The Eclipse Ruby Development Tools were developed by a couple of
hobbyists in their spare time, without getting paid, with no research
budget at all, and even without knowing Eclipse programming.
Does the fact that Ruby is STRONG dynaically typed, assist tool
developers? Can I have tools with minimal analysis capabilities?
Pretty much all current Ruby IDEs (RDT, DLTK, 3rd Rail, NetBeans, Ruby
in Steel) have code completion, type inference, automated refactoring
tools and a lot of the things you would expect from a modern IDE. But,
again, this doesn't have anything to do with Ruby being "strongly
typed", it has to do with Ruby being high on the hype curve and
companies like Sun, CodeGear, Sapphire Steel and Aptana investing
money in Ruby IDEs.
jwm