Is Software Engineering an Oxymoron?



Email    print   
March 15, 2005 —  (Page 1 of 3)
There has been a lot said about education on these pages in the past few weeks. Nonetheless, I want to worry this issue a bit more before going back to the mundane topics I’m supposed to be writing about, like Java. I believe there’s an underlying issue that is really at the root of the matter: The nature of computer programming has changed radically in the past 30 years, but our definition of computer science has not. Consequently, we’re approaching the subject in a way that’s simply incorrect.

Computer science started out as a kind of mathematics. Computers were little more than glorified adding machines intended to ease the drudge work associated with solving some classes of mathematical problems. The task of programming a computer was little more than presenting an algorithm to the machine so that it could crunch numbers.

Computer science departments, then, sprung from the math departments, like Athena from the head of Zeus, fully armed. Computer science is still sometimes defined as that branch of mathematics that concerns itself with the analysis of computer programs. This topic is interesting but has little relevance when it comes to actually creating computer programs.

Computers are good at solving mathematical problems of course, but the vast majority of programs have little or nothing to do with algorithms and number-crunching. Consequently, training in mathematics is of little or no value when it comes to writing good computer programs. If it were, then mathematicians and physicists would be brilliant programmers. The reality is that this group tends to write miserable code that’s focused too much on algorithms and too little on structure.

In fact, computer science is neither a science nor an engineering discipline. Science concerns itself with the formulation and proof of hypotheses. Programmers just don’t do that. Similarly, all engineering disciplines except software engineering concern themselves primarily with the mathematical analysis of structures, be they physical structures or electronic circuits. Programmers don’t do that, either.




Pages 1 2 3 


Share this link: http://sdt.bz/28490
 
Most Read Latest News Blog Resources

Add comment


Name*
Email*  
Country     


  • Comment
Loading




close
NEXT ARTICLE
New York City to open Academy for Software Engineering
High school would give foundational education in technology Read More...
 
 
 
 
News on Monday
more>>
SharePoint Tech Report
more>>


   

 
 

Download Current Issue
FEBRUARY 2012 PDF ISSUE

Need Back Issues?
DOWNLOAD HERE

Want to subscribe?


 
blogs tab
Are you at risk for burnout?
Burnout is a severe problem and it can strike at any time. Here's how to tell if you are nearing the edge.
02/09/2012 02:16 PM EST

Agility, mom, and apple pie
If we're to evaluate the state-of-the-art in software development, we should start with the values espoused in the Agile Manifesto.
02/07/2012 11:57 AM EST

RIM woos developers with free tablet
How do you get more apps ported to the BlackBerry PlayBook? By giving every developer a free tablet, of course!
02/04/2012 01:57 PM EST

GitHire: Use Headhunters to Find Your Perfect Programmer
Are you a hiring manager tired of scouring the job boards? Check out this new service that will find 5 people interested in your jobs.
02/03/2012 12:17 PM EST

Facebook claims hacker cred
Facebook's SEC S-1 filing form includes a short essay on the Hacker Way by Mark Zuckerberg himself.
02/02/2012 08:26 AM EST

Ryan Dahl steps down
Ryan Dahl, creator of Node.js, steps back from his position as gatekeeper for the project.
02/01/2012 04:58 PM EST

 
Events calendar tab
2/13/2012 to 2/16/2012
Santa Clara
TechWeb

2/26/2012 to 2/29/2012
San Francisco
BZ Media

2/27/2012 to 3/2/2012
San Francisco
RSA

3/4/2012 to 3/7/2012
Las Vegas
IBM Tivoli

3/5/2012 to 3/9/2012
San Francisco
TechWeb