<div class="gmail_quote">On Thu, Jan 13, 2011 at 11:54 AM, Dmitry Olshansky <span dir="ltr"><<a href="mailto:dmitry.olsh@gmail.com">dmitry.olsh@gmail.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="im">On 13.01.2011 10:40, Jim wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
I don't want to make this Vim-specific, so I'm wondering what features are we missing in today's D editors/IDE's that other languages already have in their editors/IDE's?<br>
</blockquote>
<br>
IDE with incremental compiler.<br>
</blockquote></div>
IDE has nothing to do with incremental linking. And besides the only advantage of  incremental linking is slightly faster link time (which is pretty fast ATM).<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Non-windows IDEs.<br>
</blockquote>
Last time on  linux I used Code::Blocks, there are also Descent and DDT.<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Ddoc integration.<br>
</blockquote>
Not sure what you mean here.<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Refactoring utilities.<br>
<br>
</blockquote>
Yup, useful, but hardly critical.<div class="im"><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Template- and conditional-compilation-aware editing.<br>
<br>
</blockquote></div>
VisualD has it. Not used code paths in static conditional statements is slightly lighter, etc.<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im">
Inline error and warning messages.<br>
<br></div>
....<br>
</blockquote>
Do You mean exact line and _column_ of error or what?<br>
<font color="#888888"><br></font></blockquote><div><br></div><div>I'm pretty sure what Jim was getting at here is that unlike the world of C++, D seems like it could be made as IDE-friendly as so many of the VM languages are. When you're programming C++, the IDE is generally a somewhat advanced text editor, possibly with some autocompletion if it can parse your code. With Java and other VM languages, the IDE is parsing your code as you type, and rather than the code-compile-fix cycle of C++, the VM languages get constant as-you-type compilation (actually, it's when-you-stop-typing, but close enough).</div>
<div>Having the IDE able to parse your code that rapidly means you get instant error feedback, and it means that things like type inference become much more transparent. Unexpected compiler errors make more sense because you can dismantle exactly why the error occurred more rapidly, and the programmer becomes more free to think about why something happens rather than focusing on how to fix it. It also opens the door to advanced refactoring, code analysis, and more advanced project management features. Autocompletion can automatically display documentation.</div>
<div>The bottom line is that an IDE that knows as much about your code as the compiler can improve programmer productivity dramatically. With D, it's more challenging because of CTFE and full templates, but when Descent could handle those back in the day, it was hailed as a breakthrough. Unfortunately, the way Descent did that isn't really sustainable.</div>
</div><br>