<div dir="ltr"><div><div><div><div><div><div>Yes!<br><br></div>That is only one of the reasons to have that ability.<br><br></div>Almost more important is automated reasoning about very large codebases.<br><br></div>What are the global properties?<br>

<br></div>Where are the "antipatterns" of use and can we fix them?<br><br></div>Can we "lint" away large classes of defects?<br><br></div>Even Stroustrup believes such tools would be useful for C++.<br>

</div><div class="gmail_extra"><br><br><div class="gmail_quote">On Fri, Jun 13, 2014 at 5:53 AM, Andrei Alexandrescu via Digitalmars-d-announce <span dir="ltr"><<a href="mailto:digitalmars-d-announce@puremagic.com" target="_blank">digitalmars-d-announce@puremagic.com</a>></span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="HOEnZb"><div class="h5">On 6/12/14, 10:40 AM, Nick Sabalausky wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
On 6/10/2014 12:35 PM, justme wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
On Wednesday, 4 June 2014 at 06:13:39 UTC, Andrei Alexandrescu wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Of possible interest.<br>
<a href="http://www.reddit.com/r/programming/comments/278twt/panel_systems_programming_in_2014_and_beyond/" target="_blank">http://www.reddit.com/r/<u></u>programming/comments/278twt/<u></u>panel_systems_programming_in_<u></u>2014_and_beyond/</a><br>


<br>
<br>
<br>
Andrei<br>
</blockquote>
<br>
IMHO, the coolest thing was when Rob Pike told about the tool they made<br>
for automatically upgrading user source code to their next language<br>
version.<br>
<br>
That should be quite easy to implement now in D, and once done, would<br>
give much needed room for breaking changes we feel should be done. Pike<br>
seemed to be extremely satisfied they did it.<br>
</blockquote>
<br>
Personally, I wouldn't be comfortable trusting such a tool. Besides, I<br>
find that upgrading a codebase to a newer language version is one of the<br>
most trivial tasks I ever face in software development - even in D.<br>
<br>
It's a cute trick, but not a worthwhile use of development resources.<br>
</blockquote>
<br></div></div>
I very much think the opposite, drawing from many years of hacking into large codebases. I'm completely with Rob here. On a large codebase, even the slightest manual or semi-manual change is painstaking to plan and execute, and almost always suffers of human errors.<br>


<br>
I got convinced a dfix tool would be a strategic component of D's offering going forward.<span class="HOEnZb"><font color="#888888"><br>
<br>
<br>
Andrei<br>
<br>
</font></span></blockquote></div><br><br clear="all"><br>-- <br><div dir="ltr">John Carter<br>Phone : (64)(3) 358 6639<br>Tait Electronics                         <br>PO Box 1645 Christchurch<br>New Zealand<br><br></div>


</div>

<br>
<hr><font color="#808080">This email, including any attachments, is only
 for the intended recipient. It is subject to copyright, is confidential
 and may be the subject of legal or other privilege, none of which is 
waived or lost by reason of this transmission.</font><div><font color="#808080">If
 you are not an intended recipient, you may not use, disseminate, 
distribute or reproduce such email, any attachments, or any part 
thereof. If you have received a message in error, please notify the 
sender immediately and erase all copies of the message and any 
attachments.</font></div><div><font color="#808080">Unfortunately, we 
cannot warrant that the email has not been altered or corrupted during 
transmission nor can we guarantee that any email or any attachments are 
free from computer viruses or other conditions which may damage or 
interfere with recipient data, hardware or software. The recipient 
relies upon its own procedures and assumes all risk of use and of 
opening any attachments.</font></div><div><hr></div>