title: Java obfuscation - ProGuard/yGuard/other?
body: <p>This is along similar lines as these recent questions:</p>
  
  <p><a href="https://stackoverflow.com/questions/93290/best-java-obfuscation-application-for-size-reduction">Best Java Obfuscation Application For Size Reduction</a>
  <a href="https://stackoverflow.com/questions/149937/creating-non-reverse-engineerable-java-programs">Creating non-reverse-engineerable Java programs</a></p>
  
  <p>However, one ends up recommending yGuard and the other ProGuard but neither mention both. I wonder if we could get a comparison of each one and hear peoples experiences from both sides of the fence. Looking at this <a href="http://proguard.sourceforge.net/alternatives.html" rel="nofollow noreferrer">comparison chart</a> on the ProGuard website its clearly angled towards ProGuard. But what about real-world experience of each - which one produces smaller output? which one is harder to decompile from? what Java versions are supported by each?</p>
  
  <p>Personally I'm particularly interested from a J2ME point of view but please don't limit the discussion to that.</p>