Saturday, January 8, 2011

The Profits of Software Propaganda - Part 1

There is a trend, a sickness if you would, in the world of software engineering that is immediately evident to any novice who happens across a treatise on a particular programming language or development tool. And that illness is embodied by the almost evangelical language used in the opening passages of most modern works on programming. While the championing of one computer language or another may seem like a rather benign vex, such ideology has led to the re-branding of original ideas, the almost outright theft of intellectual concepts and thus merit, and worst of all, the littering of an engineering science with excessive terminology, jargon, and propaganda.

If an author can map her name to anything of significance she is sure to profit. This is not something special or endemic to the realm of software engineering; yet the ease in which one can can mock the true essence of a given idea or technology in order to branch anew skin-deep innovation for profit and glory is common place in computing and particular of programming languages and frameworks.

On the surface this may seem like healthy competitive spirit*. Our entrepreneurial pop culture has incubated a mindset encouraging the idea that it is better to own phantoms than nothing at all. However, when a science is seized with an overwhelming plethora of tripe in the name of entrepreneurial spirit, when the same idea or concept is advertised as many for the benefit of differing groups or organizations, we are then left with only confusion - a great fog that hurts the industry and lessens the discipline.

In order to garner profit publishing houses unapologetically print the worst kinds of popular rubbish that is placed juxtapose to meaningful content, thus making it harder for the student to separate the worthy from the marketing fluff. The literature is misconstrued and contorted by buzz such as  the term 'Agile Development' that are so broad and vague that they are better employed in supplanting the phrase 'common sense' in all its generality. A half dozen different testing methodologies are being pushed, some even encouraging bad testing habits that do indeed find the most trivial of errors but help conceal the most notorious and viscous.

To conclude I encourage the "pragmatic" programmer or software designer to try and not be taken by the newest term on the market. Instead; investigate, discover, compare to what exists, and learn by generalizing these buzz concepts to their pure form. Look toward older books that tackle a concept such as software testing in the general and you will see that many of today's myths have been dispelled long ago. In Part 2 we delve into specifics.

*if, of course, competition can be classified as healthy    

No comments:

Post a Comment