Particularly not if it has been obfuscated by [link|http://www.preemptive.com/|these guys].
(Reference and description of their technique [link|http://www.pbs.org/cringely/pulpit/pulpit20020613.html|courtesy] of Cringely.)
Cheers, Ben
"Career politicians are inherently untrustworthy; if it spends its life buzzing around the outhouse, it\ufffds probably a fly." - [link|http://www.nationalinterest.org/issues/58/Mead.html|Walter Mead]
This means method name lookups fail when using dynamic invocation techniques (which I do a *lot* in non-trivial programming - its what makes OO development really powerful). So any code that works well with obfuscation is going to be 100% statically bound - you might as well write it in C or maybe C++ then.
Apple ported WebObjects and their OR Mapping framework to Java then released that. An hour of machine time later and I have the source code. If you look around the code a bit you find extensive use of dynamic invocation - obfuscation would break the code.
I think this is typical of the more powerful software.
I am out of the country for the duration of the Bush administration. Please leave a message and I'll get back to you when democracy returns.
"Career politicians are inherently untrustworthy; if it spends its life buzzing around the outhouse, it\ufffds probably a fly." - [link|http://www.nationalinterest.org/issues/58/Mead.html|Walter Mead]