I started this rant in another thread, where it was way OT, so I'm moving 
it here.

As I said in another thread, to-native compilation and a Standard Ruby GUI 
API that isn't Tk are the major limiting aspects of Ruby as used as major 
application development environment.  This isn't to say that you can't use 
Ruby for these applications, but that there *are* issues that hinder 
development in Ruby.  I'm only going to address the GUI issue here.

Caveat: I'm not against the proliferation of GUI toolkits; I'm all for it.  
The best tool for the job, and all that.  But computing history has shown 
that projects that have a standards vaccuum, especially in the GUI 
department, suffer.

Here's the State of the Union as regards the GUI, as I see it:

1) If you write a GUI app in Ruby, you face a distribution problem.  Which 
toolkit do you choose?  This is a problem, and one that doesn't need to be.
2) At the moment, Ruby users practically have to install a GUI toolkit for 
each GUI application they want to use.
3) If an app is difficult to install, application developers will lose a 
certain percentage of potential users.
4) This is the same issue as with the Standard XML Parser -- there has been 
much discussion about including a standard XML parser with Ruby.  This is 
equally important to do with a GUI Toolkit if Ruby is to be become a 
powerful GUI application platform.
5) This may be affected by the Abstracted GUI API, as has been discussed.  
If the API is standard and the backend toolkits are pluggable, the problem 
is solved.  This holy grail of GUI APIs may be beyond what we want to 
accomplish here.
6) Tk is inadequate, for reasons I won't go into here.
7) There are numerous powerful, cross-platform toolkits that could be 
chosen: there's a Qt binding, an FLTK binding, and FXRuby, to name a few.  
Each has strengths, and I'd really like to see a discussion that results in 
a weighted table of advantages and disadvantages so one could be chosen 
logically.

In summary, I think a strong comparison can be made between Ruby and X, 
pre-KDE. There were numerous toolkits for X, but no standard, and for over 
a decade Unix suffered from this.  Windows and MacOS provided standard GUI 
APIs, and they have prospered.  With the proliferation of KDE/Qt on Linux, 
Unix too is moving to the desktop.  (Before this spins off into a Gnome vs. 
KDE argument, remember that Gnome was a direct result of KDE and the Qt 
license.)  Ruby deserves to be more than a server programming platform, and 
the only way this will happen is if a toolkit is chosen and included with 
every Ruby distribution.

Thanks for listening.

-- 
--- SER