Killersites.com - Web Design Resources

View Cart

Don’t let theory get in the way of practical application.

One of the disturbing mindsets in software development and web design today, is the sacrifice of practical concerns in favor of theoretical constructs.

Case in point:

Recently a young friend of mine (who is studying computer engineering,) told me an interesting story about a class project where each student had to produce a piece of software … the results, and the professors reaction to the results, are interesting.

Sad but true:

When all things were said and done, only one student was able to produce a working application. The irony was that this student got a failing grade because his code did not meet certain theoretical constructs!

The above example illustrates a problem in the way many programmers think: putting theory over practicality.

With that failing grade, the professor has sent the wrong message to his students: that results are not as important as being true to the theory. And people wonder why so many Java projects fail…

Why theory over practicality is total bull:

  1. Broken but theoretically correct software, doesn’t pay the bills.
  2. Theories are constantly revised; so don’t be to quick to marry them.

I think the first point is self evident, so let’s look at the 2nd point and consider one of the fundamental theories of modern software development: inheritance.

At one time in the distant past (5 years ago,) design-by-inheritance was the theoritically correct method of software development. At some point though, people began to discover that inheritance had its’ problems and now (in many cases,) design-by-interface* is the preferred method.

Theories change

The shift from design-by-inheritance to design-by-interfaces is but one example of how theories are constantly updated to reflect practical realities.

If anything is consistent of about software development, it’s that theories change. So don’t sacrifice practical application today, to satisfy some theoretical construct that may very well be discredited tomorrow.

-

Stefan Mischook

1. ‘bull’ is a technical term that conveys a complex meaning in a terse and well understood format.
2. In Java, interfaces are classes void of method implementations.

One Response to “Don’t let theory get in the way of practical application.”

  1. Kyle Says:

    Soooo how many people are sitting their with perked ears waiting vor LSW Vs. Stef round XII?

    Sorry, I agree in a large part. The article could be a little more specific, but the point gets out.

© 2009 - Killersites.com - All rights reserved
  • Hosting and domain name support:
  • (480) 624-2500

PayPal Customer Support: 1-888-221-1161

Killersites.com has been a PayPal Verified Merchant since 2001. We also accept payment via check or money order.

Please send payment to:

Killersites.com Inc. 4156 Dorchester #2 Westmount, Quebec Canada H3Z 1V1

The more you learn, the more you earn!

Subscribe to our newsletter
Unsubscribe