On Mar 20, 2004, at 8:42 PM, Bohdan Peter Rekshynskyj wrote:

Well, I want to distribute the programs to my clients - without source...

Then don't use Perl. A bit blunt perhaps, but for practical purposes that's the answer. There are a variety of ways to obfuscate or "hide" the code somewhat, but it's still there.


If they can modify it - there's a concern of security

What you're describing is called "security by obscurity". It's inherently flawed, and the flaws have been discussed many, many times, so I won't get into them here. Google for it:


<http://www.google.com/search?q=%22security+by+obscurity%22>.

- and never mind the ownership of code et cetera!

Ownership of code is a legal question, not a technical question.


Also, compiled versions run way faster....

No they don't. Perl is "compiled" at run time, and the resulting byte codes are then run. The only thing the "compiler" does is store the byte codes to a file. A really huge program might start up a tiny bit faster, but it won't run any faster.


If you're concerned with performance and want to drop to a lower-level language to improve it, first use the Benchmark module to find out where the bottleneck really is. It's amazing how many developers skip this simple step, flailing about trying to guess at something which is easily measurable to the n'th degree.

Once you've found your bottleneck, you have two options. In many cases, you'll find that an improved algorithm in a critical area can result in dramatic improvements. If that fails, you can write the critical section in a low-level language such as C, and wrap it up in an XS module so you can call it from Perl.

(Would love to develop Perl/TK in Aqua using a compiler and distributing!)

If you're only worried about Mac OS X, then using CamelBones <http://camelbones.sourceforge.net> can drastically simplify your distribution. You can package your app into a nice .app bundle, complete with all the modules and other resources it needs.


Full disclosure: I'm biased on this. I wrote CamelBones, and I've never been especially fond of Tk.

such young ones as I who started computing in the 1970's know that IBM first
had (and still does have) a nice operating system called VM -

To me, Java's JVM resembles UCSD Pascal's Pcode system more than it does the VM OS. But either way the point is valid - it's nothing new.


sherm--

Reply via email to