Language selection for new projects

Alex Martelli aleaxit at yahoo.com
Sun Oct 12 06:01:53 EDT 2003


Limey Drink wrote:
   ...
> What are your thoughts on the viability of using Python on a fairly large
> projects, I'm talking GUI, RDBMS access, COMMS.

Should be fine.

> Basically how does the language scale up in terms of portability,
> performance, programmr friendliness(in terms of real sized programs not
> small scripts) to Java.

Quite well.

> My last concern is source code, is there any way to protect it from prying
> eyes, obviously Java does have these issues but at least you can byte code
> compile it.

Python doesn't offer anything substantially different from Java here.  You
can bytecode-compile things in advance, perhaps encrypt some modules
and decrypt them on the file on import, but it's really no protection -- 
just like in Java.  Face it -- any time you give out executable source, be
it bytecode or machine-specific binary, it's easy to disassemble and crack
it -- game producers do their best to protect their wares, yet warez sites
always have cracks for everything of interest often before the product
they're cracking gets to store shelves -- what makes you think you can do
any better?

In the exceedingly unlikely case you have something really worth protecting,
don't give it out -- keep it as a webservice on a server under YOUR control,
and give out client programs that access this special protected software.
XML-RPC makes this trivial and comes with the standard Python distribution.

This strategy also allows you more flexibility in your business model 
(subscription, pay-per-use -- you can enforce these with a web service
deployment, but not really if you distribute all the executable code).  This
is reason #1 for the interest in recent years for web services, IMHO.


Alex





More information about the Python-list mailing list