[OT] Which IDE / Editor do you use?

Nick Sabalausky SeeWebsiteToContactMe at semitwist.com
Sat Sep 14 05:08:12 PDT 2013


On Sat, 14 Sep 2013 01:40:30 -0700
"H. S. Teoh" <hsteoh at quickfur.ath.cx> wrote:
> 
> The only thing is, you have to recompile your program each
> time... but with D's compilation speed, it actually becomes a real
> alternative. Hmm.
> 

Exactly. And I totally understand the focus on debuggers in the C/C++
world, just because of that.

> One use case that has no writeln equivalent is stepping through
> assembly code when something REALLY screwed up, like when dealing
> with dmd codegen bugs.

Yea, that's true.

> Though for that case, I did recently adopt the
> method of reading disassembly code listings. I've actually located
> and fixed several bugs in my work project this way (not with dmd, I
> mean, but with a C program). People will of course object that
> assembly is "too obscure to learn", "too hard", ad nauseaum, but I
> agree with what Knuth said once: if you don't know how the machine
> *actually* works, the programs you write will be pretty weird (i.e.,
> far removed from reality). IMO the ability to read and understand
> assembly should be a requirement for every professing programmer.
> 

Yea, I agree. Once I graduated from "just playing around in BASIC", the
stuff I really started out with was indie/homebrew videogames. This was
back at the tail end of the DOS days, so direct hardware access, the
occasional ASM and a frequent focus on optimization were just the
normal way of things. Once I moved into higher-level stuff, I always
felt that understanding was still a big benefit.

I've come to think about it in terms of a more general principle, a
corollary to the law of leaky abstractions:

To *truly* be good in any endeavor, you need to have a good
understanding of not only that, but also whatever abstraction is
directly underneath.

To be good at high-level code, you need to understand a thing or two
about low-level code. To be good at low-level code, you have to end
up picking up a bit of digital EE. I've actually studied a little bit of
digital EE and although I'm no expert, I can tell you that analog EE is
critically important to being good at digital EE. And I'd be willing to
bet chemistry would be a crucial ally to any really good analog
electronics expert. Going the other direction: To be any good at
designing software, it would be important to know at least something
about high-level code.

And it's not just computers/electronics, it's other things:
Top-of-the-line athletic training these days (sports, martial arts,
dancing, whatever) involves a lot of very explicit attention to biology
and newtonian physics.



More information about the Digitalmars-d mailing list