Jon Harrop wrote:
> Hi!
>
> I'd like to write cross-platform applications that either run in the browser
> or run as standalone GUI applications in a functional programming language.
>
> I understand that Ruby is a functional programming language and I was
> wondering:
>   
Well, I wouldn't call Ruby a "functional" programming language in the 
same sense as Lisp/Scheme, Haskell and Erlang define themselves as 
functional programming languages. Ruby is more an "object-oriented 
programming language" in the same sense as Smalltalk and Java define 
themselves as object-oriented programming languages.
> 1. How widely is Ruby used on Linux, Mac OS X and Windows?
>   
It depends on what you mean by "widely used." It's installed by default 
on Macs, but you  have to download and install it on from an external 
repository on Windows, and while it's freely distributed in all the 
major Linux distro repositories, it isn't usually installed by default.
> 2. Are there compilers/interpreters targetting the JVM/.NET that make it
> easy to develop GUI applications?
>   
Yes indeed! The JVM is supported by Sun's jRuby, Microsoft just 
announced a "Dynamic Language Run-time" that supports Ruby on .NET, and 
there are miscellaneous other implementations. I don't have any 
experience with the .NET versions, but I highly recommend jRuby.
> 3. Has anyone done any significant work in this area using Ruby?
>   
If by "this area" you mean web applications, you pretty much have to 
have been living under a rock if you haven't heard about Ruby on Rails. 
;). But general GUI applications are a bit more obscure in Ruby. Most of 
the major GUI toolkits have Ruby bindings, but there's no clear "first 
choice" among them.
> 4. Are scientists and engineers using Ruby?
>   
Yes, but it isn't as popular among them as Python is. I'm a 
scientist/engineer, and I use Ruby, along with Perl and R. But I've 
never taken the time to learn Python.
> Many thanks,
>