On 6/26/06, Joseph M. [email protected] wrote:
The key word here is “imagine”. I’m willing to bet that most of those
who don’t see the need for a full featured Java or Smalltalk-like IDE
have never used one, have never worked on a large-scale application
with an IDE, or have never maintained a complicated application with
and IDE. They have never had that “ah-ha!” moment where hours of
tedious work was accomplished in seconds, and the doors what they
could be doing were opened.
The ah-ha moments that I’ve had have never come from the IDE, Mr
Moore. I have used probably a half-dozen IDEs at various times in my
development career – and aside from nice interactive debuggers,
they’re all good at generating poor code and helping developers forget
how to write good, tight code. 
And they have definitely never had those tools taken away.
Otherwise their comments would not be in this discussion, and they
would not reply to this post. And if you are thinking about hitting
the Reply button to say “but it isn’t very hard to figure out X or to
fix Y or to just remember Z”, then, as Raf said before, what if you
didn’t have to? What else could you be doing?
Again, you’re wrong. I had to do something in C++ recently that wasn’t
supported by the IDE, but saved us a lot of time and heartache in
development. For the first 15 instances of this something, I did it
manually. After that, I wrote a code generator – in Ruby – and now I
routinely generate 70 classes to do what I need for this part of the
code. The IDE didn’t support me here. I supported me. I had a need, I
got the job done. In part because I’m not constrained to thinking
“what can the IDE do for me?”
If I got used to a tool and it was taken away, I would either try to
figure out how to use the tool anyway – or I would make an
alternative, if the tool mattered enough.
[…] I
am not paid to be an Amish programmer. I am not paid to be a
“tougher” programmer. Instead, I am paid to produce value. And if a
rich toolset can help me produce value, and maintain value, then I
want that toolset. Not only that, my employer/customer/client wants
me to have that toolset.
Yes, that’s true. But IDEs will only provide x% more value. Smarter
programming – and being willing to roll your own tools if you need –
will often provide x^2% more value.
Reality check: if you know your low-level tools well, you will often
be as productive or more productive than you would ever be in an IDE.
There are some things for which an IDE is perfect. Debugging can be
one (but more often than not, you’ll have to loop through a bunch of
code; I always start with debug output statements – tracers, if you
will). GUI design can be another. IntelliSense, however, is of limited
use. I’ll use it from time to time when I’m having to deal with a
particularly large and stupid API (C++ STL or MFC anyone?), but I can
often get my code working faster without it getting in the way.
You might want to be careful with your assumptions. They might bite
you on the ass some day.
-austin
Austin Z. * [email protected] * http://www.halostatue.ca/
* [email protected] * You are in a maze of twisty little passages, all alike. // halo • statue
* [email protected]