looking at using Ruby on Rails for dev project. one guy says don’t use
it because we will have to ship our source code to our customers.
Anyone care to comment on this?
Ruby on Rails is mainly for server-side development. Thus, the source
code is on the web server, in a protected directory that no customer
can get to, unless you are sloppy with your administration of your web
site or your site gets hacked somehow. Rails itself creates pretty
safe websites and encourages good practices, but you can always leave
some back door open by mistake, of course.
If you use RoR for a client-side application. That is, one
application that HAS to run on your customer’s computer and not
through the web, then yes. You’ll have to give them the source
code. There’s ways to obfuscate the code or have the source code
compressed inside an .exe file as others have mentioned, but that
source code will still be easier to access than with a compiled
language like C++. Overall if you are looking for that kind of
protection, currently only static languages tend to offer that (and
that’s also changing as there are more and better C/C++ decompilers
same guy says Ruby is pretty slow compared to Python…true or false?
Somewhat true. Python in general is faster for most arithmetic tasks,
albeit there’s relatively not that major difference for other types of
operations. Ruby in general is faster for most tasks that involve
large OO hierarchies. If you also consider the upcoming ruby1.9
(yarv), the speed differences between both are not worth mentioning.
For most applications that are server based, the speed of the
application is more often determined by the speed of the network
connection and the database used than by the language you use to code
Note also that python also suffers from you having to ship source
code. Python can do a very minor built-in obfuscation by shipping
byte-codes instead of actual ASCII source code, but the byte-codes are
extremely easy to reverse engineer (there are public domain utilities
for that) and will give you an almost identical file to your source
code (sans comments).
So if you are considering python as an alternative to RoR, the truth
is that you won’t gain much on improving either of your concerns.