Greetings!
I’m trying to figure out if Ruby is the right language for a project
that I’m working on, and I’d appreciate any advice that anyone can
give me. First, some background about myself and this project:
-
Depending on who you talk to, I either am or am not a "real"
programmer. I have no formal training, and although I have extensive
experience in scripting languages like Bash, application-specialized
LISPs, Matlab, and especially PHP, I’ve never programmed in a "real"
relatively low-level language. Nor am I particularly eager to. -
I am currently developing my project with Matlab, but it looks like
Matlab’s GUI capabilities (among other things) may be insufficient.
Thus I am looking for another language to port my program to, or at
least use to build a graphical front-end for my Matlab programs. -
Whatever language I use should be cross-platform, although initially
I am developing for Windows only. When thinking "cross-platform,"
Java is the first thing that comes to mind. But Java is a pain in the
ass, and I’d rather not do it plus, I’ve never used a Java
application that has struck me as anything other than clunky.
When searching around for languages, I ran across Python, which seemed
like it would do everything I need, in combination with the wx widget
library. Then I noticed some people promulgating this "Ruby"
language. I’d never heard of it, but I was intrigued. Particularly
because they all seemed to have this particular glassy-eyed zeal that
I usually associate with Amiga or BeOS users. Now, I’ve been an Amiga
and BeOS user back in their heyday and I know that their zeal is
ABSOLUTELY 100% JUSTIFIED. Those systems were simply a JOY to use,
which is a selling point that seems to elude most computer people, but
is important to me. If I can experience some measure of joy while
learning a new language and porting my project to it, then that is a
very big selling point indeed.
However, if Ruby doesn’t actually do what I need, then I’ll have to
find another language to work with. Here are the concerns I have:
-
This is going to be commercial software, and I do NOT intend to give
away the source code. Is their a way that Ruby programs can be
securely compiled so that the source code is inaccessible? -
For that matter, is there a way that Ruby programs can be compiled
as binary executables? On Windows, Linux, and Mac? -
I will be using a shareware-validation protocol not unlike
http://www.shareit.com. Will Ruby be compatible with this? -
If I am porting the entire program to Ruby, rather than just using
it as a frontend to my standalone Matlab programs, are there good Fast
Fourier Transform libraries for Ruby?
If anyone can help me answer these questions, I’d be most
appreciative.
Sincerely,
Nathan