Techno-Bigots Unite! Wikipedia Controversy Erupts Around .NET Technologies
An evolving story appeared in my mailbox today – concerning Microsoft approaching some independent contributors to the online encyclopedia service Wikipedia.org to write entries concerning its technology offerings. According to the report, there’s some undisclosed number of Wikipedia users taking issue with the idea conceptually, in part, because the Microsoft offer reportedly included some kind of cash award for doing the work, characterized by the software giant as "corrections".
Ever on the alert for "techno-bigotry" (as I too like to "correct" disinformation that so frequently arises online), I decided to examine some of the more technical of the entries on Wikipedia to see for myself if, in fact, Microsoft would be well-founded in taking this kind of action. And, yet again, I did find a fair bit of evidence to support the notion that some of the characterizations and language could be misleading.
Take for example the article concerning the C# programming language – a technology with which I would say I’m intimately acquainted. This article is very descriptive and I’d even say mostly accurate. But in places there’s some rather pejorative wording, from a "tecchie’ point of view, if not generally:
"C# has a procedural, object-oriented syntax, based on C++…"
— http://en.wikipedia.org/C_Sharp, January 25, 2007
I mean, I can’t readily say what inspired C# exactly – one could likely competently argued it had many different bases; including Java, SmallTalk, C/C++, Delphi, Visual Basic, etc. I can certainly see elements of all of these present in the syntax for C# under Microsoft’s .NET Framework v1.1 and v2.0. In the latter case, there are even some newer elements that seem to be germane to .NET technologies (albeit not C# specifically). Were those inspired by C++ also? Not likely – and to suggest it is so will certainly confuse non-technical folks who read the article in question making them think there’s virtually no difference between C++ and C#. (And, in fact, the two languages are completely different.)
Then there’s the question about the word procedural. To my understanding, a procedural language is inherently different from an object-oriented language in that the former executes lines of code in some kind of sequential way, typically governed by a defined "main()" function or ‘mainline’, whereas the latter has no such specific governance and application logic is encapsulated into discrete units (called ‘objects’) which are processed in a fashion that is procedurally independent (i.e. could be the result of either system-generated events such as database triggers, or by user-generated events such as clicking a button or entering certain data) or other systemically-defined factors outside of the language’s implementation. C# is much more the latter, than the former.
Beyond this, however, one could compare the wording of the Java article on Wikipedia with its C# counterpart – and find no reference to the word procedural. Indeed, in what respects C# is procedural and Java is not is an obvious question; anywhere C# can be characterized as procedural, there certainly exists a parallel one could draw in Java syntax.
And these observations reflect only one small part of the C# article. Under the discussions tab (in the Wikipedia interface) one finds hundreds of other references cited in the article as points of controversy. Many are about the characterizations made, and even at that – the list of objections presented as of this date is far from comprehensive. One could competently make, by my quick survey, a goodly number of others – especially if one gets nit-picky (the way some critiques of Wikipedia edits can be).
In short, I don’t see there as being any problem with Microsoft electing to modify representations made about its own technologies – so long as the other rules of Wikipedia are respected, in that these changes are subject to the usual peer-review-edit processes which currently exist. Indeed, such a move should, ideally, result in more accurate information since Microsoft, after all, is the builder of these technologies in the first place.