Let’s face it. IDEs are great for programmers. They save many hours of time by inserting code and generating code that otherwise we would have to type ourselves. They help prevent errors before they even occur and they can help us produce GUIs in the blink of an eye. The problem with them is that they do not teach us how to program.

One of the greatest IDEs ever created has to be Microsoft’s Visual Studio.Net. It does so many wonderful things for you and creating applications in it seems only a click of the button away. Microsoft really did an excellent job of integrating XML and the .Net framework into the IDE so everything seems seemless. Before .Net, Microsoft started a mini-development revolution with Visual Basic. This tool allowed non-programmers to quickly get up to speed on “programming” so that they could create their own programs. Granted many of these were not evolutionary or revolutionary type programs, but they did fulfill a purpose and I am sure provided great satisfaction for the people who created them.

Even though Visual Studio.Net allows you to create wonderful applications does it actually help you create great code? Back in the early days of computing when system memory was minimal programmers had to get very creative with how they went about solving problems. Some of the by-products of these developments were many great design patterns and algorithms that exist today. However, because of the IDE I do not think the majority of programmers are capable of getting as creative with their code. With the power of computers and the limitless amount of RAM many times it is not necessary to get creative with code and therefore programmers may be losing their “edge”.

First ban calculators

Okay, not really, but look at the damage that could be done if all kids were taught how to use calculators before knowing how to add. It seems that some people today were taught that way and I am sure they stuggle through many things in life. Calculators are great, but not always available. Yes, the calculator says 2+2=4, but what does that really mean? I would never know if I had been given a calculator first without being taught how to add.

Becoming a great programmer requires practice just like anything else that you may wish to become great at. IDEs take a lot of this practice away from us, preventing us from really becoming great programmers. I am not saying IDEs should be taken away or anything ludicrous like that. I just believe that if someone is going to learn how to program give them Vim or Notepad or whatever other text editor you can think of and get them to start writing some code. I mean real code that involves algorithms and requires problem-solving abilities, not code to create a GUI because that task really should be left to IDEs.

Once you have gotten the coding aspect down, then by all means utilize the power of the IDE. However, what is the purpose of learning the functionality of an IDE if you can not understand the code that it generates? Coding, like designing, takes a great deal of practice. Even when you do think you have reached an expert level where you can simply rely on the IDE, every once in a while why not create something in the command-line or using a text editor. It does not have to be a whole program, but maybe a small code snippet like the ones Simon is so famous for. The point is to stop becoming an IDE manipulator and to start becoming a programmer again. If you love to code then these small exercises should not be a problem. That is why you love to program right?