Thursday, January 23, 2014

Wikipedia's Article on Software Engineering


    I thought this was a well composed Wikipedia article that gave a brief but sufficient introduction to the field of software engineering. In particular, I enjoyed the comparison to other engineering disciplines; software doesn't have an easy metric to gauge how productive its development was, or what it actually does. The article states:

    "... measurements available for software like e.g. Lines of Code, Function points or Complexity Measures only capture the amount of software created. They do not describe what the software actually does. This is like describing and measuring a complicated piece of machinery in kilograms only."

    I disagree with Dijkstra's criticism of software engineering; he dismisses it as a field of study focused around "How to program if you cannot." Is that not the purpose of formal education and standards? I see nothing wrong with formalizing a set of tools and methods that optimize the development of software. After all, optimization itself is a large part of programming. Not necessarily optimization for speed or performance; many programming problems can be simplified to "With these limited building blocks, what is the most effective way to construct a solution to this problem?" It is this kind of optimization problem that I think is central to computer science as a whole, and studying software engineering is a way to avoid reinventing the wheel when you come across a roadblock that other people have solved many times before you.

No comments:

Post a Comment