Feel like a programmer again…
So, in my normal slashdot reading I come across a story pointing to an article entitled Does Visual Studio Rot the Mind? by Charles Petzold. Initially I’m thinking this is the normal anti-microsoft droning that occur on slashdot (not that I’m a huge fan of M$ myself, I think they take a lot of heat unduly). But when I saw that it was presented at a .NET conference, and by a guy who has been doing windows programming as a profession for over 20 years, I decided to take a while and read.
Continuing on might not make sense if you haven’t spent hours coding and messing around with various IDEs. Read on at your own risk
I have to say that it is a very long, but mostly very good paper. There were a few places where knowing windows programming probably would have helped. He talks about how things like IntelliSense (autocompletion in other IDEs) have made life simpler, but at the same time, more annoying since a majority of the time it decides to include things that you have no chance of needing. Not to mention it forces you into certain coding styles – namely a bottom-up approach. Everything has to be defined first, and then content can be added, otherwise intellisense is trying to autocomplete things that do not yet exist.
He also goes into a good discussion about how Visual Studio sets up things for you, and tries to hide things from you. The best example being in UI design – the draggy-droppy design tools are nice, but it reinforces a code-snippet view of a system rather than a system-engineering point of view. That is, you add a UI element, double-click it, and then write the action that should occur with that element. I haven’t done a ton of UI work – but his point that people try to learn what’s going on by using this reinforces the view that Visual Studio hides things – you can’t learn how to do UI programming by using designer tools in Visual Studio. He makes a much better argument, trust me – and his books on UI development instruct the reader to create blank projects, and he walks through creating things from scratch.
I think the last line sums it up well: “Itââ¬â¢s just me and the code, and for awhile, I feel like a real programmer again.” He took a while to write up some algorithm things to answer some puzzles in ANSI C – not a new language for him, remember he’s been doing this stuff for 20 years now – and in notepad. No forms, no IDEs, no autocomplete, no cookie-cutter templates with extra includes, no nothing – just him and the code. Now, granted I would choose an editor with a little more power (like vim), but that’s just me. The point is: get an editor you are comfortable with, a problem which requires some design skills with the code itself, and be a programmer! It’s really an enjoyable task. Don’t rely on autocomplete to list the possible methods and sort through them. Don’t create so many classes, and namespaces, and useless structures that it becomes a mess. Just code – and enjoy it. See the benefits of solving the problem with nothing but your knowledge, a man page here and there, and a compiler.
My dad said to me a while back after he got a chance to do some programming at work again, instead of the more administrative almost managerial work he had been doing, “This is a blast! I forgot how enjoyable it was to write code!”
If you want some interesting puzzles to try and code up, check out the Macalester College Problem of the Week, or MathPuzzle. Whatever you do, go code – and enjoy yourself!