D vs. C#

Derek Parnell derek at psych.ward
Mon Oct 22 14:36:21 PDT 2007


On Mon, 22 Oct 2007 11:27:47 -0700, Walter Bright wrote:

> Michael P wrote:
>> Distribute a single binary could be achived by encrypting the source
>> code and sending it to your client, Then you could have a compiler
>> that knows the key to it (or that the compiler gets the key from a
>> server) so it takes the code and decrypts it and at the same time
>> compiles it.
> 
> I once went through the design of encrypting source, and concluded it 
> wasn't very practical (look at CSS for DVDs!). Also, it's pretty clear 
> that VM bytecode does a lousy job of obfuscating source - good Java byte 
> code decompilers exist.
> 
> You might as well distribute source - after running it through a comment 
> stripper, of course.

I work daily with a language called Progress. It is a 4GL style used
primarily with large databases. Anyhow, it 'compiles' to a type of p-Code
and we distribute our apps using its encrypted source facility. The
run-time application server executes the p-Code in a VM. We have been doing
this since 1994. It is very fast and applications are transportable to
other architectures without changing the source code. I've moved
applications from System V (Olivetti) to VAX-VMS to Redhat without having
to even recompile.

It is practical to encrypt source code.
VM's can be bloody fast.
One can distribute portable applications without compromising intellectual
property.

I regard your point of view as blinkered. It seems to me that your opinion
could be paraphrased with "if we had a perfect world we wouldn't have to
solve problems". There is a role for VM languages and there is a role for
native-code languages. It is not an either/or situation.

-- 
Derek Parnell
Melbourne, Australia
skype: derek.j.parnell



More information about the Digitalmars-d mailing list