Wednesday, February 17, 2010

Take it Easy

In my first programming class, we had a prof who had been around the block a time or six. He was close to retirement; in fact, ours was the last class he taught. He had started his career as a procedural programmer, which I suppose is a redundant statement, considering that object-oriented (OO) programming wasn't the dominant programming methodology until the mid-1990's, and at a guess, I'd say this prof learned his coding skills in the 70's. Long story short, although he learned OO programming and taught it (some might say with varying success), he was still procedural at heart.

This was exemplified by his choice of development environment. He recommended that we do all of our coding in simple Notepad and execute at the command line. This made sense to us, as we had no other point of reference. This was ironic because our textbook came with a hefty book called "Eclipse Distilled" that looked so intimidating that neither us or the prof touched it (and that was just the condensed version of the book!).

A brief aside for anyone still reading that doesn't know what Eclipse is. It is to programming what MS Word is to word processing. Sure, you can type in text on a blank screen in a pinch. However, context-sensitive help, auto formatting, spell check, thesaurus and a hundred other tools make Word so much more powerful than Notepad. Same goes for programming. Eclipse is your Java on speed. It compiles, outputs, debugs, helps and offers an insane amount of power and control when coding.

It wasn't until towards the end of that first semester that some students explored Eclipse and extolled its virtues to the rest of us. I fought the steep learning curve to develop a deep fondness for Eclipse, and the more I learn about coding and Eclipse itself, the more helpful it is to me. I doubt I'll ever plumb its depths; the full documentation could be substituted for a boat anchor in a pinch.

I am not ashamed to say that I have been spoiled by the power. When given a project to complete at work, I held out until they installed Eclipse and the appropriate plug-in to allow me to use it to program in Perl. Though it is absolutely possible to program Perl in UNIX using vi and the command line... why would you want to? Why would you willingly deprive yourself of the power-tools and use a manual screwdriver and hammer?

Three things I've learned along the way: coders are lazy; laziness is a virtue, and it is the real mother of invention. To borrow an example from the O'Reilly "Learning Perl" book, the wheelbarrow was invented by someone who was too lazy to want to carry heavy loads. IDE's were invented by programmers who loath working in Notepad. Masochists need not apply.

No comments: