www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - Re: What IDE/EDITOR do you use for D?

On Wed, Oct 29, 2014 at 10:45:08PM +0200, ketmar via Digitalmars-d wrote:
[...]
 i was trying to switch to more advanced editors (vim/emacs, some
 others), but found that they offers nothing valuable for me. their
 hints and autocompletions only annoys me, and i prefer to do "project
 management" with good build tools.

I use vim without fancy things like autocomplete, which I find useless, or syntax highlighting, which I find distracting. I used to be a fan of the ancient Norton Editor (which I'm guessing is similar to mcedit) and pico, until my supervisor at my first job convinced me to try vi. It took a lot of convincing, but after I finally "grokked" the "philosophy" behind vi (which is very different from a non-model editor, I have to say), I found myself much more productive in it, and operate on a "higher level of abstraction", if you can call it that, than the typical character-oriented approach of NE, pico, and the like. In vi/vim, I operate more with lines and words, and ironically enough the awkward character navigation interface forces me to think more semantically (e.g., "go to the place in the file where the word 'cartesianProduct' occurs", which equals to searching for the said word). As a result, nowadays I find myself highly handicapped when using a non-modal editor, because I have to come back down to character-level actions again. As someone once said (on this forum), to use vi/vim effectively you have to understand that it's not so much an editing program that provides individual editing actions, but an editing *language* that lets you express editing operations. Vim commands are verbs that can be coupled with 'nouns' (either preset nouns like start-of-file (gg), end-of-file (G), beginning-of-next-word (w), etc., or more complex nouns, like six-lines-down (6j) or 2 paragraphs up (2{), etc.). Moving from such an expressive editing language back to point-and-grunt style character-based edits is highly disabling, akin to being forced to write programs with a mouse and deeply nested pull-down menus, instead of simply typing out what you want the machine to do with an expressive language like D.
 i'm not saying that IDEs are useless, but they are definitely useless
 for me.

Ditto. :-) But, apparently, we are in the minority here. Seems most 'modern' programmers can't live without an IDE. *shrug*
 ah, last, but not least: i'm not using interactive debuggers too, so
 "integrated debugging" is another useless feature for me. once i was a
 fan of interactive debugging, but as time passes i found that logs and
 mostmortem dumps are just better.

Yeah, I rarely ever use interactive debuggers these days. More often than not, I find clever, directed use of printf-debugging actually more effective. Especially if you have debug logs placed at strategic places that allow you to narrow down the locus of the problem after the crash. Also, twice in the past year or so, I successfully fixed two nasty pointer bugs in C code by tracing the disassembled executable backwards from the point indicated by the crash log by matching the instructions to the source code. Both bugs were obscure, timing-related bugs that an interactive debugger would give no additional help for, since they almost never happen in a controlled environment when the debugger is running, but only in production customer environments where a debugger is not available. T -- Real Programmers use "cat > a.out".
Oct 29 2014