2008 East
DIAMOND SPONSOR:
Data Direct
Frontiers in Data Access: The Coming Wave in Data Services
PLATINUM SPONSORS:
Red Hat
The Opening of Virtualization
Intel
Virtualization – Path to Predictive Enterprise
Green Hills
IT Security in a Hostile World
JBoss / freedom oss
Practical SOA Approach
GOLD SPONSORS:
Software AG
The Art & Science of SOA: How Governance Enables Adoption
PlateSpin
Effective Planning for Virtual Infrastructure Growth
Fujitsu
Automated Business Process Discovery & Virtualization Service
Ceedo
Workspace Virtualization
Click For 2007 West
Event Webcasts

2008 East
PLATINUM SPONSORS:
Appcelerator
Think Fast: Accelerate AJAX Development with Appcelerator
GOLD SPONSORS:
DreamFace Interactive
The Ultimate Framework for Creating Personalized Web 2.0 Mashups
ICEsoft
AJAX and Social Computing for the Enterprise
Kaazing
Enterprise Comet: Real–Time, Real–Time, or Real–Time Web 2.0?
Nexaweb
Now Playing: Desktop Apps in the Browser!
Sun
jMaki as an AJAX Mashup Framework
POWER PANELS:
The Business Value
of RIAs
What Lies Beyond AJAX?
KEYNOTES:
Douglas Crockford
Can We Fix the Web?
Anthony Franco
2008: The Year of the RIA
Click For 2007 Event Webcasts
SOA and Virtualization are viewed today as the ult...
BLOG-N-PLAY.COM
I wonder if Monica can sue for being compared to this woman? Lewinsky comparison grounds for libel Comparing a woman to Monica Lewinsky is an egregious enough offense to be grounds for libel, Italy
TOP MICROSOFT .NET LINKS


Decompiler Round-Up, Regenerating Your Code
Recently, there has been much debate over open source software. But what most developers overlook is that even though they don't release their source, it may still be available. In the general scheme of things, there is always someone out there who will, by some means, be able to regenerate your code if they so desire. Whether it is by analyzing how your application works and replicating its behavior, or by reverse engineering with a tool, it will always be possible for someone to produce the same output with an appropriate amount of time in which to do it.
Reader Feedback: Page 1 of 2

Bob did not address to us for receiving fully functional copy of Spices.Decompiler.Net for tests.
I don't know how Bob wrote this article, but Spices.Decompiler .Net produces code with a lot of goto as doesn't optimize generated code, this is functionality limitation of EVALUATION VERSION. With full version Spices.Decompiler produces formatted, optimized and very smooth code for 6 languages, user can choose to generate optimized or unoptimized code in the Decompiler settings. Also 9Rays.net constantly works on improving our decompiler smart optimization engine and periodically publishes new versions.
Very incompetent article.
Victor Victorov, CTO, 9Rays.Net

Thanks for the FileDisassembler link.

The author mentions Anakrino as an early decompiler that is no longer being supported by it''s author. His does include some code generation results from Reflector. The author did perform an unbiased evaluation of all of the products and obtained permission in advance to include each vendor''s product in his review as well as giving each vendor a chance to respond to his concerns with new versions prior to his final draft. His conclusions indicate his positive experience using our product over the others, but this is not based on any bias other than his own preferences after evaluating each of the respective products and level of support provided to him by each of the vendors involved.

Jonathan Pierce
President
Jungle Creatures, Inc.
http://www.junglecreatures.com/

The author is not unbiased. The scoring card and the careful phrasing to ditch Spices and Salamander shows this. Also, he is leaving half the tools (Anakrino, Reflector, LSW) out only giving a "doing his own electrical work" argument as a rationale so it isn''t a good overview in the first place.

I assure you that the conclusions drawn in the article were independant and unbiased based on the author''s own experience evaluation each of the products on his own. All of the vendors were given feedback regarding the author''s experience using their product to provide them an opportunity to resolve any issues with newer versions of their product. Their level of response also served as a measure to the author of the level of support that they provide and their timeliness in responding to user reported bugs. The level of support that the author personally received from each vendor was also a primary concern and contributed to his decision to recommend commercial products over free alternatives. In our case, Decompiler.NET worked correctly already so the author did not require additional product updates aside from the ones we were already providing to our customers. You are free to contact the author directly if you have additional questions, but his conclusions are still 100% accurate and each developer should confirm them on his own by evaluating each product as the author recommends before making a purchasing decision.

Jonathan

Okay, lets leave it that way. The article has too many coincidences and you are too well informed on what the author did and didn''t do to make it believable. All the tools mentioned are very nice and no harm done if everybody is doing his own evaluation...

The author of this article contacted each of the vendors on his own and requested permission to include their product in his evaluation. The article was written entirely by the author including his code examples chosen by him based on his own experiences with each of the products he tested for his own needs. From reading the article, it looks to me like the author was trying to identify unusual test cases to measure the robustness of all of the products included in his evaluation. From the author''s conclusions, it appears that he was unable to identify any cases where Decompiler.NET did not generate correct code to meet his needs. There are many other cases where the other products fail, so I am not surprised that the author was able to identify some common cases that affected him personally. As I''ve said before, I have always encouraged developers to try each of the products themselves and form their own opinions about their accuracy. This article seems to just point them in the correct direction so that they can confirm it''s conclusions themselves before purchasing any of the product''s mentioned here.

Jonathan, did the author of this article report those bugs to the tool authors or did you tell him what to write about?

Reflector is an excellent tool that I use often myself for casual browsing and code generation comparison. However, There are still many instances where Decompiler.NET generates higher level and more accurate code which is important to most professional developers. The current version of Reflector was released this week after this article was published and addresses these specific bugs over 4 months after they were reported to the author. There are many other code generation bugs in the current versions of the tools mentioned here that were not covered by the article. The author also made the point that Decompiler.NET was the only tool that generated code that had correct compile and runtime behavior for all of the test cases that he attempted including his Hypersonic example. This is not the case for any of the tools that he evaluated including the current release of Reflector 4.0.18. I have sent several bug reports to Reflector''s author that still exist in his current release regarding many code generation issues not covered by this article. Here are two that I recently reported to Reflector''s author, but I can provide many additional examples if you are interested where Decompiler.NET generates correct code and the current version of Reflector 4.0.18 generates code that won''t compile.

private unsafe byte* fBuffer = null;
misses the unsafe keyword in Reflector''s code generation.

Reflector also misses the explicit interface name in members that implement internal interfaces as in:

internal interface i1 { char this [int index] }
internal class c1 : i1 {
char IInternalInterfaceIndexTest.this[int index] { get { return ''A'' } } }

Jonathan

The author is not unbiased. Just read this:

"I chose to leave these two tools out of this article. Why? Well, for the same reason I don''t do my own electrical work."

"They do not offer the needed level of support."

[Three times in a row. Apparently they do, his example runs fine in the current version.]

"Decompiler.NET with obfuscator is available for $500 per CPU, giving it leverage over its toughest competitor"

[Please click here to purchase without thinking]

I was pleased to see the author''s unbiased review confirming his positive experiences using our product. I''ve done my best to send bug reports regarding code generation issues to each of my competitors regarding their products including the bugs exposed by the examples the author has chosen in this article. I reported most of these bugs to the authors of the products mentioned here including Reflector 4.0 back as early as 04/2004. The newsgroup discussions that I had partipated in regarding code generation accuracy occurred prior to this article being written and I personally made all of the vendors mentioned in the article aware of code generation problems in their products. Each vendor had ample time to address these code generation issues prior to this article being written, and their response time is a good measure of the level of support that they provide for their products. The author just asks each developer to take the time to evaulate each product on their own. The author''s conclusions are still accurate, even with newer versions of each of the products available that he reviewed. Decompiler.NET still generates higher level and more accurate code that the other tools reviewed by the author in this article, and I am aware of several additional code generation problems that still exist in current versions of the products mentioned here that cause them to continue to generate code that will not compile or run correctly. The author''s conclusions are still 100% accurate and each developer can confirm this on his own by downloading the trial versions of each of the products as the author recommends in his article. Please download a free trial version of our product yourself and confirm that it is still the best alternative for your needs at http://www.junglecreatures.com/

Jonathan Pierce
President
Jungle Creatures, Inc.
http://www.junglecreatures.com/

The decompiler.net sales guy is using the very same code examples and arguments to advertise his product in newsgroups.

What a coincidence this tool comes out with perfect scores ;-)

did I miss something or did the author look at five different compilers?

  • Decompiler.NET: www.junglecreatures.com
  • Salamander: www.remotesoft.com
  • Spices.NET: www.9rays.net
  • Reflector.NET: www.aisto.com/roeder/dotnet
  • Open Source Decompiler: www.saurik.com/net/exemplar
    Obviously 4 lots of the 5 folks were bound to be upset, no matter what. ;-)
  • This is an amateurish attempt to trick the reader into wasting money on some unknown decompiler tool.

    Scott Mitchell wrote a good summary on what professionals are really using:
    http://aspnet.4guysfromrolla.com/articles/080404-1.aspx

    Reflector is the best tool available (and it is available for free). This add-in does the rest of the work:
    http://www.denisbauer.com/NETTools/FileDisassembler.aspx

    Agree, Reflector is what all professional .NET developers are using. The whole eletrical engineering analogy is plain stupid and shows that the author has no idea what he''s talking about.


    Feedback Pages:


    FEATURED WHITE PAPERS
    YOUR FEEDBACK
    J. Meltzer wrote: I'm so glad I found your advice, I was struggling with a conditional font size in a SRS report, whereby I kept getting a syntax error. Thankfully, your article clearly showed me what my error was.
    murat wrote: granit
    reedline wrote: thanks you... Admin.. Sohbet
    reedline wrote: thanks you... Admin.. Sohbet
    reedline wrote: thanks you... Admin.. Sohbet
    SUBSCRIBE TO THE WORLD'S MOST POWERFUL NEWSLETTERS

    SYS-CON FEATURED WHITEPAPERS

    BREAKING NEWS FROM THE WIRES
    Paramount Technologies, the leading provider of middle-market Employee Workforce Automation solution...
    The promised beta release of Moonlight 1.0, the Li...
    A dealer in Holland that Microsoft sued in May for...
    The DevExpress ASP.NET Filter Editor was created t...
    CodeGear RAD Studio 2009, Embarcadero’s flagship...
    According to the Times of London, Microsoft is in ...
    The federal court hearing the disclosure-rich "Vis...
    The two-year anniversary of the Novell-Microsoft a...
    Last year I wrote an article in PBDJ describing an...
    Magic Software has announced the release of uniPaa...
    iSuppli has taken the auspices again and now says ...
    Microsoft plans to build about 20 "super-size" clo...
    In a fascinating move to co-op the cloud, IBM is p...
    Microsoft has filed one of its rare lawsuits again...
    Seems Microsoft, which doesn’t want to buy Yahoo...
    OpenSpan and TIBCO have announced a technology and...
    ADS BY GOOGLE