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, >