N
Nathan Koren
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
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