Citát Brad Wilson <dotnetguy@gmail.com>:
However, I will rarely choose Ruby to make GUI applications,
mostly because I'm not familiar with any of the typical GUI toolkit bindings(like Gtk).
Eww, Gtk My quirk is mainly the fact wxRuby isn't quite up to speed with
lessay wxPython, and all the other toolkits are guilty of my pet peeve -
emulating widgets even when native ones are available. Which always ends up in
a plethora of problems, ranging from looking incredibly ugly (and yes, that
matters a lot) to rendering badly - text overflowing when the person who tried
to recreate the native look-and-feel sort of didn't think someone would ever
change the default font size.
Otherwise, I wouldn't say scripting languages are any unsuited to GUI work. The
other day I was thinking of making a sample solution for an introductory OOP
course I'm doing in Java / SWT, and I gave up an hour later to switch to Python
and wx, which ended up looking nice and purdy and native on XP as a bonus.
Well, that concludes the rant'n'rave portion, now to my two cents more to the
topic at hand.
I'd say a very important factor is knowing the target environment. The problem
with using a script-ish language is the distribution. A script interpreter is a
very serious dependency, and you can't go the straightforward way you'd use
with C++. E.g. for a Windows environment, compiling in the comfort of your IDE
and having the odd DLL in the working directory of the app.
Bundling the whole interpreter along is a workable, but very clumsy solution
for
that, and it's clumsy for more than one app. The other way is asking the end
users to install Ruby, but that's half-impossible to get past your neighborhood
manager in corporate scenarios, and you have to remember to package the
external libraries you use along.
Should a Rite emerge and have some simple invocation API, things might get
easier, especially with a way to distribute the Ruby core "batteries excluded".
Gods know, if I'm bored enough, I might hack up a standalone distribution
packager then.
David
(ikkle newbie in disguise)