Visual Studio .Net 2005 is finally out. Among the slew of new features are code snippet, visual inheritance and much better design time data binding All these features are certainly welcome since they significantly reduce the amount of code that programmers have to write and they make software development faster than ever.
When I first started writing programs, I was using Turbo C 2.0. Back then, there was no syntax highlighting and no intellisense; developers needed to know pretty all the functions they needed to write software efficiently. When I switched to Borland C++ 3.1 a few years later, I thought syntax highlighting was just a nice-to-have feature than necessity.
Time has certainty changed. Even the VI on Linux nowadays supports syntax highlighting and every major IDE provides intellisense to some extend. Because of the convenience modern IDEs have brought upon us, we somehow have become too reliant on the features that we didnt have before. Today, very few programmers can write even a simple hello world application in C# using notepad
Personally, I think that one should certainly take advantage of the new features the modern IDEs provide since they improve the productivity, but I am also a firm believer that the features should only be used if you understand them thoroughly.
A friend of mine recently approached me with a question on the application he was working on. He designed a UI and the docking somehow did not work as expected. He had tweaked it for quite some time in the designer window but could not seem to solve the problem. When I took a look at the code generated by the designer, I found the problem and solved it by reordering just a few lines of code
So my conclusion is, dont use a feature unless you understand exactly how that feature works. After all, a true programmer can write his code using any text editor outside the IDE.