Which Way Is Right?

23 September 2003

Several quotes have caught my eye recently, and while they were written about entirely different subjects, it’s interesting to me how many questions remain unanswered with anything resembling precision. Let’s start here:

Quote 1: ”I would argue for considering electrical engineering over computer science (I’m sure a lot of people will howl over this one). I’ve never trusted the level of discipline of computer science as a field, and my years in data communications has only reinforced those views…”

”I’ve also found an electrical engineering education to be far more pragmatic than computer science.”

from a participant on the Motley Fool’s discussion boards

Then, from Philip Greenspun’s site:

Quote 2: ”People who are serious about getting the job done on time and under budget will use tools such as…”

Philip Greenspun
Java Is the SUV of Programming Tools

Finally, from my studies of XHTML markup:

Quote 3: ”It seems there are four or five ways to do any and everything when writing (X)HTML markup. There must be at least that many ways just to italicize or display a word or phrase in bold type. Surely, there’s a way to cut to the chase and say, ’For well-formed, standards-compliant, accessible, semantically-preferred markup in 2003 using the most recently downloaded browsers, do it this way!’”

Steve Pilgrim
in a moment of utter frustration while studying XHTML

My educational background as an undergraduate was in engineering. There was a field in which precision was vital. Creativity was fine, but at some point, bridges had to carry the load, circuits had to deliver the electricity and chemical bonds had to hold.

I’ve elected (finally) to embark on a course of study in standards-based XHTML, CSS, PHP and the accompanying technologies. My goal is to understand methods that lead to development projects being designed on time and on budget. Every effort in XHTML coding does not have to be a new ”work of art.” Left to the eye-of-the-beholder method of development, nothing is maintainable, transferable or readily understood by those who follow the original development.

Among the three groups in Dr. Greenspun’s class, I’m hopeful someone will identify some ”best practices” and ”best methods” along with ”best tools” for the job at hand. After all the goal isn’t the code. The goal is whatever the code is designed to do – process, store and/or move data. This could mean many things. More efficient telecom networks, improved inventory management systems, better PDA’s or safer cars are all results of software engineering.

It’s simply time to bring some of the engineering rigors and disciplines to the field!

Filed under: