<html><body bgcolor="#FFFFFF"><div>Sorry missed the reply all button, forwarding to the group</div><div><br class="webkit-block-placeholder"></div><div>Joel<br><br>Sent from my phone<div><br class="webkit-block-placeholder"></div></div><div><br>Begin forwarded message:<br><br></div><blockquote type="cite"><div><b>From:</b> Joel Nelson <<a href="mailto:joelnn@gmail.com">joelnn@gmail.com</a>><br><b>Date:</b> December 10, 2007 9:30:39 AM EST<br><b>To:</b> Chris Lattner <<a href="mailto:clattner@apple.com">clattner@apple.com</a>><br><b>Subject:</b> <b>Re: [cfe-dev] Clang comparison page</b><br><br></div></blockquote><div></div><blockquote type="cite"><div><span></span><br><span></span><br><span>Sent from my phone</span><br><span></span><br><span></span><br><span>On Dec 10, 2007, at 1:04 AM, Chris Lattner <<a href="mailto:clattner@apple.com">clattner@apple.com</a>> wrote:</span><br><span></span><br><blockquote type="cite"><span></span><br></blockquote><blockquote type="cite"><span>On Dec 9, 2007, at 9:27 PM, Joel Nelson wrote:</span><br></blockquote><blockquote type="cite"><span></span><br></blockquote><blockquote type="cite"><blockquote type="cite"><span>I have no stake in Elsa, and I've never used it,</span><br></blockquote></blockquote><blockquote type="cite"><span></span><br></blockquote><blockquote type="cite"><span>Your opinion is welcome!  I've made some edits in response to your feedback:</span><br></blockquote><blockquote type="cite"><span><a href="http://lists.cs.uiuc.edu/pipermail/cfe-commits/Week-of-Mon-20071210/003255.html">http://lists.cs.uiuc.edu/pipermail/cfe-commits/Week-of-Mon-20071210/003255.html</a></span><br></blockquote><blockquote type="cite"><span></span><br></blockquote><blockquote type="cite"><blockquote type="cite"><span>but my thoughts:</span><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><span></span><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><span>Elsa is not a compiler, so I'm not sure that the following point is appropriate:</span><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><span></span><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><span>"Elsa does not support native code generation."</span><br></blockquote></blockquote><blockquote type="cite"><span></span><br></blockquote><blockquote type="cite"><span>Right.  This gets to the "differences in goals" aspect of the comparison.  I should mention explicitly at the top that whether you consider one of these to be a big deal depends on what your personal goals are.  I clarified this in the intro</span><br></blockquote><span></span><br><span>Thanks I think that is well done</span><br><blockquote type="cite"><span></span><br></blockquote><blockquote type="cite"><span></span><br></blockquote><blockquote type="cite"><blockquote type="cite"><span>Also the following point seems to be a political (and practical,</span><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><span>granted) rather than a technical criticism:</span><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><span></span><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><span>"The Elsa community is extremely small and major development work</span><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><span>seems to have ceased in 2005, though it continues to be used by other</span><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><span>projects (e.g. Oink). Clang has a vibrant community including</span><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><span>developers that are paid to work on it full time."</span><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><span></span><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><span>A small community is only a problem for those who do not have the</span><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><span>resources to contribute to the project themselves.</span><br></blockquote></blockquote><blockquote type="cite"><span></span><br></blockquote><blockquote type="cite"><span>I mention this because it is a very big disadvantage for a lot of people: it basically means that if you hit a bug in Elsa, you have to fix it yourself or just work around it.  In clang, you can report the bug and it quite possible someone will fix it for you.  This means that even if you *could* fix the bug yourself, you might find out that you don't have to, meaning you get more done in less of *your* time.</span><br></blockquote><blockquote type="cite"><span></span><br></blockquote><blockquote type="cite"><blockquote type="cite"><span>Since as you say</span><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><span>Clang has plenty of resources,</span><br></blockquote></blockquote><blockquote type="cite"><span></span><br></blockquote><blockquote type="cite"><span>There is no such thing as "plenty" :)</span><br></blockquote><blockquote type="cite"><span></span><br></blockquote><blockquote type="cite"><blockquote type="cite"><span>then I think Elsa could be adopted as</span><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><span>the C++ parser if there were no technical issues, or if the cost of</span><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><span>resolving the technical issues was less than the cost of a</span><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><span>reimplementation.</span><br></blockquote></blockquote><blockquote type="cite"><span></span><br></blockquote><blockquote type="cite"><span>If a reader has the ability to reimplement an entire C++ compiler from scratch and has the desire to do so, presumably they wouldn't be looking at either clang or elsa :).  The rest of the bullets explain technical problems that prevent clang from adopting Elsa.</span><br></blockquote><span></span><br><span>The only reason someone would be comparing Elsa and Clang today would be if they are interested in helping to implement a c++ parser themselves in clang (as you basically said).</span><br><span></span><br><span>If you are not including that audience, then there is really no comparison to be made today since clang and elsa are completely disjoint with respect to the ability to parse c++, and every other thing.</span><br><span></span><br><span>Therefore you are speaking to the group of people who have the ability to contribute to a c++ parser. If they disagree with your technical arguments, they themselves have the power to correct the problem of the small Elsa community.</span><br><span></span><br><span>The issue I have with this argument in general is that it seems to be the same fallacious argument made by popular American politicians: "get with the winning team."</span><br><span></span><br><blockquote type="cite"><span>I updated the bullet to try to make it more clear what I'm getting at, please take a look and let me know if it helps.</span><br></blockquote><blockquote type="cite"><span></span><br></blockquote><blockquote type="cite"><blockquote type="cite"><span>I just thought these two points may be unfair given the scope of this</span><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><span>doc is stated as "We restrict the discussion to very specific</span><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><span>technical points to avoid controversy where possible." Maybe its this</span><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><span>statement which should be changed, instead.</span><br></blockquote></blockquote><blockquote type="cite"><span></span><br></blockquote><blockquote type="cite"><span>I think it is true that the Elsa community is "extremely small", do you disagree with that part?</span><br></blockquote><blockquote type="cite"><span></span><br></blockquote><span>No I think you are completely correct. I just wouldn't call that a technical point. That may be the *result* of technical weaknesses (as you argue well), or it could be the result of a lack of the kind of promotion you do for clang. Either way I think it is not itself material.</span><br><span></span><br><span>Basically I think Clang can win on technical merits, so why not leave it at that?</span><br><span></span><br><span>Thanks,</span><br><span>Joel</span><br></div></blockquote></body></html>