That’s Integrated Development Environment to you non-software developer types. More generally, I’m referring to most of the marketing material for developer tools originating from the Great Northwest. I’m seeing more and more of this stuff with the ninja-kung-fu-martial-arts theme.
“Use our tools and be an instant black belt master of codi-fu on that next killer app!”
Much of the code I see from the younger set of developers, those that are a generation behind me and who have never known of a world without a wide web, is indeed quite killer. As in the “killed the project” kind of lethality. The IDE wrapped around the .NET languages has become a warm blanket for new developers which insulates them from the consequences of sloppy design until much too late in the development process.
I came to software development just at the end of assembler’s run and when C was it. Memory was still scarce but there was a lot more wiggle room in 640KB than there was in 64KB. A bad design still failed early and a good developer understood how design effected performance. Not only did you need to know the language, you needed to understand the hardware as well. These days, systemic knowledge is a tertiary concern if it’s considered at all.
“Black Belt Programmer” is a phrase that has always made me wince. The discipline required to achieve a black belt rank in most martial arts is considerably greater than the discipline required to become an excellent software developer. I can make this call because I actually have a real-life black belt rank in a martial art (currently, 3rd Dan in Aikido) and sustain an excellent quality of life as a software developer (so presumably I’m good at that, too. Right?)
So I’m not buying into this ninja marketing hype, yet that’s what is selling to them that’s buying. Will “evil code assassins” replace “debuggers?” Will my work day be interrupted with Kato-like tests (Ã la Inspector Clouseau) of my skill and attentiveness? Hiiiiiieeeeeee-YA!
Leaves me with the feeling I’m not long for this world of main stream software development.