What IDE/EDITOR do you use for D?

H. S. Teoh via Digitalmars-d digitalmars-d at puremagic.com
Wed Oct 29 21:59:25 PDT 2014


On Thu, Oct 30, 2014 at 12:06:23AM +0200, ketmar via Digitalmars-d wrote:
[...]
> i understand vi philosophy (heh, i was using some Forth systems with
> editors that has similar spirit), but i simply don't have enough
> temper to make myself familiar with vim. i clearly see that editing
> with vim will be more productive than with mcedit, but... when i want
> to write something, i don't want to think about editor commands, so
> i'm dropping vim and going back to mcedit to "make the things done". i
> know that i simple have to do some training (as with D, for example,
> which wasn't familiar at all when i started with it), but... my
> lazyness stops me. ;-)

Yeah, it took me a while before I "grokked" the vim philosophy. And by
that I'm not talking about just understanding what it is -- I mean when
it finally "clicked" in my brain and I developed a "feel" for it. Like I
said, it took my former supervisor a lot of convincing and encouragement
before that happened. Much of it was also due to the fact that we had a
bunch of bare bones Solaris servers that had vi installed by default,
but not pico or any of the "nice" editors (that I considered to be
"nice" back then). After a while, I got tired of endlessly ftp'ing and
scp'ing pico to every machine I needed to do work on -- often it was a
matter of updating some config files and it was taking more time to
transfer pico to the machine that it was to use vi to make the changes
in the first place. So I was forced to use vi until it became second
nature to me.

Nowadays, it's all mostly muscle memory for me -- I don't even think
about how to use it anymore, my fingers just "know" what to do to make a
certain edit. (One symptom of this is that I've acquired the "Esc
twitch", that is, every now and then my little finger would
spontaneously reach for the Esc key, 'cos it's so ubiquitous when you're
using vi. :-P) Now, ironically, I actually find the "simple" editors
much harder to use, in that I have to actively recall how to make edits
at the character level again, instead of just letting vim commands
"flow" from my fingers spontaneously. :-P


[...]
> and integrated command console, it simply rocks! ;-) i was writing
> command console modules in each language i was using. it was a pain in
> pascal/delphi, hairy mess of macros in C, tricky abomination in C++
> and hacky to write but very easy to use module in D. actually, simple
> embeddable command console was the first poject i done with D, just to
> see if it will help me writing such things without much boilerplate
> code. and after that project i was never thinking about returning back
> to c/c++ again. ;-)
> 
> metaprogramming rocks. i know that, 'cause i was using Forth and
> Scheme alot, and even Smalltalk a little. ;-)

Yeah, metaprogramming r0x0r5. Especially in D, where it's actually
beneficial to the code... as opposed to C++, where its leakiness makes
it fragile and hard to understand, so much so that many C++ coders avoid
templates and metaprogramming completely. I was skimming over Google's
C++ style guide today, for example, and was shocked to discover that
they discourage the use of templates and frown on metaprogramming, among
other shocking things (like prohibiting exceptions, using 2-space
indentation, and other "interesting" things [1]).

[1] I did agree with avoiding iostream and using C's stdio instead,
though. I've been doing that for years, but this is the first time I
learned of a major C++ shop recommending the same. Everyone else used to
just berate me for anachronism. The only problem with stdio is that its
age is showing, and type safety is a big issue.  But in D, 'tis another
story, since we have typesafe writefln. And, to top it off, it sports
some of the coolest print formatting features, especially %(...%) which
can format a matrix of arbitrary user-defined types in a typesafe
manner.  Total awesomeness.

And once I get some free time, I'm gonna take a shot at implementing
compile-time checked format strings, which Andrei has already
preapproved. D totally blows C++ out of the water with taking
metaprogramming to whole new heights of cool, I tell ya.


T

-- 
Without outlines, life would be pointless.


More information about the Digitalmars-d mailing list