Professional Consensus

One well-known problem in the field of ComputerScience/SoftwareEngineering/programming/what-have-you (and alleged to be one of the UnsolvableSoftwareDevelopmentProblems, though this is ultimately a political problem) is the set of terms used within the profession. Many terms (like object and class) are words borrowed from ordinary English (like it or not, English is the lingua francia of computer science discourse) and given different meanings in our field. In many cases, these terms arrive via way of other fields of steady (most notably electrical engineering and mathematics), and the definitions used in CS may differ than in these other fields. For example, a set to a mathematician is an abstraction describing an unordered collection of unique identities; to a computer scientist it can mean that, or an object/module intended to model a mathematical set, etc.

In many cases, practitioners cannot agree on the definition for a term; there are many DefinitionsForOo which have been proposed, and the debate over which ought to be correct is frequently heated and fractious. (In many cases, moreso than necessary; much of the debate seems to be caused by one particular segment of the OO community seeking to exclude competing technology that they deem inferior). Other disagreements are caused by vendors trying to hawk products and redefining terms to suit their commercial purposes; or just by harmless and unintentional happenstance (authors providing precise definitions which they only intend to apply to their work; with multiple such authors developing multiple such definitions -- which often overlap but are not identical).

In other professions, such as law, accounting, and medicine; a standard set of terminology exists which is generally followed. While conflicts and interpretations do come about, these professions have ways to resolve these conflicts. In all three professions, there are professional societies with legal authority over practitioners which can serve to mediate conflicts -- bar associations, licensing boards, the FinancialAccountingStandardsBoard? (in the US), etc.

Would such ProfessionalConsensus be beneficial to us? What if the cost of having it were to replace the relative "anarchy" and freedom from regulation with a professional organization, similar to FASB, whose pronouncements were to have legal weight (and disregarding them would be considered professional malpractice)? And if that were done, how would international disputes get resolved?

Such a thingie was already tried and already failed (or is on life support?). It is called SWBOK (SoftwareEngineeringBodyOfKnowledge). Well, I'd rather not be standardized with UML and CMMi PseudoScience, so I was more than happy when ACM retired its support for the project.


The problem is that ProgrammingIsInTheMind. There are multiple possible definition models for the same thing. One would have to be arbitrarily chosen over the other, which may slant thinking and tick off fans of alternative viewpoints.


EditText of this page (last edited October 31, 2011) or FindPage with title or text search