I posted this to comp.lang.ruby and comp.lang.smalltalk, and my blog.
I will likely get destroyed, but it will be worth it if at least one
nugget of information helps the Ruby IDE makers.
Hi all –
I shout my question to the entire Ruby + Smalltalk community: Smalltalk
has had amazing IDEs for decades, why not Ruby? Smalltalkers, Ruby
needs your help!
I’m hoping to start a centralized discussion about this topic, since my
searches have only turned up scattered comments.
Ruby should have IDE support approaching Smalltalk’s based on the
following gross generalization: Ruby and Smalltalk are pretty much the
same. Yes, I know there are many differences, and not trying to
provoke a Ruby vs. Smalltalk cage-match, but based on language features
and constructs, they are very similar.
What is holding Ruby back? How has Smalltalk overcome the issues?
What can Ruby tool builders (such as the RadRails folks and, hopefully,
me) learn from the Smalltalk IDE builders? Reasons I’ve heard for
Ruby’s lack of tool support include:
- Ruby is not a compiled language
- Ruby does not execute in a VM or run-time
- Ruby is a loosely-typed language and has blocks, etc.
- Nobody really cares enough about a Ruby IDE to make one
- vi is all you need!
Regarding the compiled language and VM arguments: what about Ruby’s
irb? Regarding loose typing, blocks, etc: Smalltalk has these! I
don’t pretend to understand all of the issues, but I want to learn.
Unless there is something I simply don’t “get”, it seems that the Ruby
community does not care or see the benefit of real tool support, which
leads me to believe that (again) the Smalltalk community is not very
interested in Ruby.
I’ve only been working with Ruby for 8 months after 7 years of Java,
but I almost feel like a Smalltalker by association, having worked
with, and for, Old Dudes Who Know Smalltalk (yes, I said it) my entire
career. I’ve stepped back into the stone age regarding IDE support
after using VisualAge for Java, Eclipse, and InilliJ IDEA. No
refactoring, no fast debugger support, not even
code-completion/suggestion. To the current tools, Ruby is text to
colorize. Smalltalkers, you’ve cracked this nut years ago, help us
understand how to do it again in Ruby!