Editorials

Losing the Edge

How good are you at writing code? I mean really writing code. When I was taking Cobol (now I’m dating myself) back in college we had to wait for a terminal in order to enter our code, compile, and produce proof that our program worked. Often we would have to write the program ahead of time so that we didn’t have to think about it when our time to use the terminal came. If you took too long, you may not finish your project.

I remember one person in our class that was unique. She would come into the lab, key in her program, compile, and produce the output without ever having to make a change to what was originally keyed in. We didn’t have intellisense to pre-evaluate syntax. You simply had to know and enter the syntax correctly, or it wouldn’t work. There were no debuggers to help you find your errors. There was limited output if you could read assembler or binary data. You simply had to be on top of your game to get things done.

I take you down this memory lane because I have recently been working in a similar environment, where all the tools I’ve come to use are not available. You have to write your code and review the logs to determine how the logic executed, and figure out what bugs may be occurring. I have been surprised at how lazy I have become, depending on tools to optimize my typing speed, or suggest or correct syntax errors.

I certainly appreciate the tools we use today such as code IDE tools with Intellisense, and syntax hints and completion. Sure, I can write code without it. So can you. Just think about what it would be like to write your application completely in Notepad. It can be done readily. The only thing holding you back is a solid knowledge of the syntax for a vast library from dot net libraries as well as your own custom code.

So what is my point? Perhaps I’m losing some of my edge by relying too much on the helpful tools. I don’t even remember stuff that I’ve done, and have to refer to previous programs I’ve written from time to time, in order to remember how something works. I’m thinking it’s time to learn things so I can use them from memory instead of history or supporting IDE capabilities.

Is it worth the time to learn things perfectly? I hope you’ll leave a comment with your ideas.

Cheers,

Ben