Sunday, September 12, 2004

IDE's Good or Bad?

Shortly after I posted my blog last night, I noticed that I had something sitting in my email in box. It was a message from my CS class “chat” list serve, a classmate having problems with the assignment that I had just finished several hours earlier. Knowing how horrible it feels to have an assignment due, but to be stuck, I decided that I would reply to my classmate and try to help him finish up.

Over the next hour and a half the emails went back and forth and we figured out what the issue was. If I had to do it again, I would do it slightly differently. In his email to the class chat list he mentioned the compiler error that he was getting. I really should have started there, as that is where I ended. The complier error messages are a lot easier to understand than we think that they are, and we really shouldn’t be afraid of them.

This brings me to my question of the day though. Though IDE’s (interactive development environments) make a programmer’s life easier, they can become somewhat of a crutch to a budding programmer (speaking from experience). Something I have learned is that the “compiler” error messages that you get from an IDE are not necessarily the same messages that you would get if you compiled the code from the console. Does an IDE actually help a student learn a programming language? It could probably be argued both ways.

Yes, in that it makes life simpler, and depending on the IDE using, can even automate many mundane tasks.

No, in that perhaps it does too much for you, and won’t force the student to really learn the language.

At work, there are programmers who write all of their class files in notepad and then paste them into WebSphere for compiling and project assembly. One of the programmers at work told me that it would be best to stay away form the IDE’s as it would force me to really learn the programming language, because I would need to be conscious of how the compiler would react to my code before it hit the compiler if I didn’t want to spend lots of time fixing errors.

I find that I am somewhere in the middle of the argument. Notepad, at times feels faster and easier; other times I love sitting in front of a good IDE. The shortcuts can really save time in a long project (I probably can’t use the term long project as the largest class I have ever written is probably around 1000 lines—but still the shortcuts of the IDE were nice).

In school they recommend that we use BlueJ. If I use and IDE, I am partial to using Eclipse, because it is basically a free version of WebSphere (which we use at work). Some of my class-mates really like DrJava. Again, I find that sometimes it is just nice and simple to work in a text editor.

When I was in elementary school they said I needed to learn my math facts before I could use a calculator. Maybe this should apply to programming languages too?

What do you think about students using IDE’s?



No comments: