> > I have read some posts on this subject but I haven't been able to make > > a decision whether to use Python or not.
> > I'm considering converting a Java CAD program to Python/C with > > wxWdigets for the GUI.
> > I don't have good answers for:
> > 1) Can I use py2exe or pyinstaller to produce an executable for > > Linux, Windows, and Mac? If not, is there a way it can be done?
> > 2) Is there any way to protect the source code, like obfuscation?
> > 3) Memory footprint of application seems large for python demo. Is > > this typical for large python applications?
> > I guess the best thing to do is convert a little portion of the Java > > program and see how it works out with respect to the concerns above.
> > Suggestions and comments appreciated.
> Look at python-cad, that might give you an idea how such a thing is to be > accomplished using python.
> Diez
Hello Diez,
I did look at PythonCad but the distribution and install methods for Windows is not user freindly. Since the public domain software, I don't think they protect the source code either.
> I did look at PythonCad but the distribution and install methods for > Windows is not user freindly. Since the public domain software, I > don't think they protect the source code either.
The subject of code obfuscation in python has been beaten to death quite a few times on this list, do a search to find anything you want to know.
In a nutshell: forget about it. it's not worth it, difficult to accomplish due to the dynamic nature of python and to be brutally honest: more or less nothing you can come up with in your own code is really worth looking at anyway. That's not saying that you can't code, just that more or less everything one programs is trivial and only of value in the actual context it was written in. So nobody is really interested in ripping stuff out.
> > I did look at PythonCad but the distribution and install methods for > > Windows is not user freindly. Since the public domain software, I > > don't think they protect the source code either.
> The subject of code obfuscation in python has been beaten to death quite a > few times on this list, do a search to find anything you want to know.
> In a nutshell: forget about it. it's not worth it, difficult to accomplish > due to the dynamic nature of python and to be brutally honest: more or less > nothing you can come up with in your own code is really worth looking at > anyway. That's not saying that you can't code, just that more or less > everything one programs is trivial and only of value in the actual context > it was written in. So nobody is really interested in ripping stuff out.
> diez
Your opinions are noted, thank you, but I don't agree with you. There are portions of the code that are under review for patents and as such need to be protected.
I'm investigating whether Python is the right language to use for a commercial CAD application. While I think Python is a great scripting language, there seems to limitations with regards to packaging and distributing programs.
> On Jun 4, 10:58 am, "Diez B. Roggisch" <d...@nospam.web.de> wrote: > > > Hello Diez,
> > > I did look at PythonCad but the distribution and install methods for > > > Windows is not user freindly. Since the public domain software, I > > > don't think they protect the source code either.
> > The subject of code obfuscation in python has been beaten to death quite a > > few times on this list, do a search to find anything you want to know.
> > In a nutshell: forget about it. it's not worth it, difficult to accomplish > > due to the dynamic nature of python and to be brutally honest: more or less > > nothing you can come up with in your own code is really worth looking at > > anyway. That's not saying that you can't code, just that more or less > > everything one programs is trivial and only of value in the actual context > > it was written in. So nobody is really interested in ripping stuff out.
> > diez
> Your opinions are noted, thank you, but I don't agree with you. > There are > portions of the code that are under review for patents and as such > need to > be protected.
For the record: This is not true. If you've already applied for the patent, you have as much legal protection as you will ever get. Also, since patents apply to methods and not to literal source, if you're trying to protect something patentable you have even less protection against analysis and disassembly than you would if you were trying to protect the copyright on the code. If you need to make a token effort to satisfy whatever legal hurdles are involved, shipping .pyc files (which py2exe and all the other packagers I'm aware of do) is just as effective as shipping executables compiled with C or C++.
> I'm investigating whether Python is the right language to use > for a commercial CAD application. While I think Python is a great > scripting > language, there seems to limitations with regards to packaging and > distributing > programs.
None that don't also exist in every other language in existence. These are fundamental issues of information theory, not language constraints.
>> Your opinions are noted, thank you, but I don't agree with >> you. There are portions of the code that are under review for >> patents and as such need to be protected.
> For the record: This is not true. If you've already applied > for the patent, you have as much legal protection as you will > ever get. Also, since patents apply to methods and not to > literal source, if you're trying to protect something > patentable you have even less protection against analysis and > disassembly than you would if you were trying to protect the > copyright on the code. If you need to make a token effort to > satisfy whatever legal hurdles are involved, shipping .pyc > files (which py2exe and all the other packagers I'm aware of > do) is just as effective as shipping executables compiled with > C or C++.
>> I'm investigating whether Python is the right language to use >> for a commercial CAD application. While I think Python is a >> great scripting language, there seems to limitations with >> regards to packaging and distributing programs.
> None that don't also exist in every other language in > existence. These are fundamental issues of information theory, > not language constraints.
Especially since the alternative appears to be Java. Just like Java, Python compiles to byte code that runs on a VM.
If for some reason he's happy shipping Java VM byte-code and not Python VM byte-code, then he can use Jython to generate byte-code for the Java VM instead of for the Python VM. Personally I think it's rather deluded to think that one is any more secure than the other.
-- Grant Edwards grante Yow! What UNIVERSE is this, at please?? visi.com
> On 2007-06-04, Chris Mellon <arka...@gmail.com> wrote:
> >> Your opinions are noted, thank you, but I don't agree with > >> you. There are portions of the code that are under review for > >> patents and as such need to be protected.
> > For the record: This is not true. If you've already applied > > for the patent, you have as much legal protection as you will > > ever get. Also, since patents apply to methods and not to > > literal source, if you're trying to protect something > > patentable you have even less protection against analysis and > > disassembly than you would if you were trying to protect the > > copyright on the code. If you need to make a token effort to > > satisfy whatever legal hurdles are involved, shipping .pyc > > files (which py2exe and all the other packagers I'm aware of > > do) is just as effective as shipping executables compiled with > > C or C++.
> >> I'm investigating whether Python is the right language to use > >> for a commercial CAD application. While I think Python is a > >> great scripting language, there seems to limitations with > >> regards to packaging and distributing programs.
> > None that don't also exist in every other language in > > existence. These are fundamental issues of information theory, > > not language constraints.
> Especially since the alternative appears to be Java. Just like > Java, Python compiles to byte code that runs on a VM.
> If for some reason he's happy shipping Java VM byte-code and > not Python VM byte-code, then he can use Jython to generate > byte-code for the Java VM instead of for the Python VM. > Personally I think it's rather deluded to think that one is any > more secure than the other.
> -- > Grant Edwards grante Yow! What UNIVERSE is this, > at please?? > visi.com
Honestly, thank you for your opinions and suggestions. I know this has been discussed before on this forum, but after reading the discussions, I'm still unsure about question 1. This is a big step and I want to make sure, if possible, I don't run into any show stoppers after many man hours of work.
I will put the sensitive stuff and the datbase in a C extension and I think that solves question 2 for me.