Bright Hub
 
Matthew Casperson's Hubfolio

Mono is a disease? - A counter point

Article by Matthew Casperson (229,259 pts )
Published on Jun 17, 2010

Shane Shields recently posted an article suggesting that Mono was a disease created by Microsoft to propagate a flawed technology that will ultimately weaken Linux. It was an interesting read, but I would have to disagree.

Like a lot of the anti Microsoft arguments going around, the article is written from a political point of view, that being Microsoft is bad, Linux is good, and the two should never mix.

First, some questions were raised about the merits (or lack thereof) of C# as a programming language – “the programming language you have when you don't know a programming language.”

I’m not going to debate the merits of one language over another. What I will say is that .NET languages are very popular. A quick look through my local online job database showed a good percentage of jobs (I’d say around 25% at a glance) that were looking for candidates with C# experience. That’s 25% of companies hiring at the moment that are looking to create applications that would have no future migration path to Linux without a project like Mono.

The reality is that, wether you like C# or .NET or not, the technology is being used extensively by the very people and companies that Linux needs to appeal to in order to gain market share.

The point was also made that mono does not being any functionality to Linux. I recently posted an article showing you how to use BoutDuTunnel to create a HTTP tunnel through an ISA proxy. The common GNU HttpTunnel package does not support NTLM proxy authentication. The kicker here is that BoutDuTunnel is written in C# and runs on Mono. This is just one example that affects me personally where critical functionality has been provided to Linux via a C# application.

Finally the assertion was made that Mono gives Microsoft a back door by which to weaken Linux. “They are taking their time and letting Linux advocates open wide and invite entry.” I don’t even know what this statement means. It’s a broad criticism with no specific argument or example to back it up. Don’t get me wrong, I have no illusions that Microsoft would do anything to help the adoption of Linux. But baseless accusations don’t provide a solid foundation to base an argument on.

Those who stand on their anti-ms soapboxes will continue their crusade against Mono, using any perceived limitations of the technology, conspiracy theories and arguments against bloat. Some will be valid points worth paying attention to, but some will be the ramblings of Linux fan-boys. In the mean time I suspect the vast majority of people won’t really care about what language, library or company supplies the technology they use, just so long as it works. C# and .NET can be used to make excellent products, and I have seen no compelling argument to suggest that Linux will ultimately have an advantage by actively working against a project like Mono.

“I may not agree with you chosen platform but I will defend to the death your right to use it.”

Search More About:

17 Comments

Showing page 1 of 2 (17 Comments)
Jun 22, 2010 6:02 AM
mP
Mono
I could never understand why Miguel and friends started mono. Surely they are smart enough to realise they could never cachup and be able to host all the great Mono apps shipped by MS. A simple stuy of the APIs and the managed/unmanaged thing clearly show DotNet is about making apps on Windows eassier to write. Every now and then its ok to pinvoke and so on.

MS still hasnt written Office or any of their other big apps in Mono. What exactly does Mono get from Microsoft, except hurdles and other nasties.

Why couldnt the Mono guys better support Java or something, at least Sun is a true Open Source company something they sure philosophies. With Microsoft theres nothing to take.
Jun 21, 2010 8:59 PM
Anonymous
Finally
This a good and "fair" article for once. I am even surprised to find this article within a Linux newsletter. Bashing brings nothing good. The corporate world doesn't react well to this. And as you said, Linux need them. As far as job listing goes. In my area, 65% .net, 30% php and 5% java.

Anyway bravo for this article.
Jun 21, 2010 7:37 PM
Bernardo
You are right
Well, honestly, i read the article that says that mono is a disease and read your article. I must agree that the end user wants software to work. Personally i hate .NET languages, don't get me wrong, i just hate it, i'm not telling that .NET is not popular or doesn't help to create good software.

It will be hard to not use -NET languages. because windows (we like it or not), will be around here for sometime (unless something happens) and users will use whatever suits their needs and works to fill them.
Jun 21, 2010 6:30 PM
thomas.tmc
At least your post contains some facts
The argument against mono is as pointless and ignorant as arguing that Qt is a FOSS scheme to bring about the demise of Windows.

There really is no point in arguing one language over another. Languages are like tools in a toolbox, and the more choices you have the better. There are scenarios where only c or c++ can get the job done well, and others where it would be pointless to exert the effort and time in c++ when c#/.net can get it done just as well in 1/4 of the code and time spent. One could write many programs in an assembly language, but unless it's necessary, why go through the trouble?

There are unbelievably numerous languages and ways to program on Linux, what's one more? If you don't like the apps developed under mono, don't use them.
Jun 21, 2010 5:37 PM
LS
Fluff
There are no real supporting arguments here that Microsoft won't attack Linux (just as it did with the FAT file system) and try to enforce ownership. Plenty of evidence they will attack Linux.

Your argument is very weak.

Linux is moving as quickly as possible from using Mono for applications and that's a good thing.
Jun 21, 2010 4:24 PM
PsynoKhi0
My gripe(s) with Mono
"But baseless accusations don’t provide a solid foundation to base an argument on."
Indeed the original article didn't delve much into details, however, one has to understand that currently Mono ships with more than what is free-as-in-freedom, i.e. covered by the Community Promise/ECMA standards, something Miguel de Icaza acknowledged back in July 2009, along with hints about splitting up the Mono code-base as a remedy.
This however makes Mono, in it's current form, IMO dangerous to use, as unless you run SUSE Enterprise you are not covered by the patent agreement between Novell and microsoft. I sure do hope that if microsoft was ever to try and drag a company to court over "infringing use of patented technology" *roll eyes* it would be possible to point the fact that legal action should have been initiated as soon as possible instead of , say, waiting for the distribution's sponsor to have a bite at microsoft's bottom line, but I'm not holding my breath.
I have personally no issue with C# per-se, as long as the tool suits the job, though until the above controversy is solved, I'll stay away from Mono as much as I can.
Then there is also the question of whether Mono can ever keep up with the standard .NET releases...
Jun 21, 2010 3:48 PM
Resu Xunil
Missed boat
I found the Mono bashing article odd.
C is almost entirely contained within c# (as a language grammar, and its capabilities).
But c# has so much more, especially considering c# 3 and 4.
Theoretically CIL are faster then C compiled machine code, because they can target the specific optimizations of the hardware, however in reality, as of yet , that isn't happening.
Also there are tools to convert c# to C (and getting better), if you stick to c#1 and partial c#2 constructs.
Also, Trojan horses work both ways. Its always been my believe Mono is a nuke bomb we are putting in a wooden horse wheeling into Redmond.
Anyways, you realized after a few sentences that the mono basher was on crack, and then it just became a endorsement to show you can write computer articles on the net, while being totally strung out on crack and have no idea of whats going on.

RX
Jun 21, 2010 3:35 PM
Phil
I also forgot to mention....
Its also silly to dismiss any concern about the threat of Mono to Linux as "MS bad...Linux good". Mono and C# could be the worlds undisputed greatest platform but it does no good if its intent is to act as a rug that MS can pull from under the Linux community.

If MS wanted a cross platform runtime they could simply build it themselves. I would respect that and it would probably put the licensing terms out in the clear. However we have a second rate project (slice it how you want but its obviously not of the same class as .Net itself) that is always behind and must actually replace the Windows .Net runtime in order to be truly cross platform. I can't see developers running to a project like this from .Net. And if the true goal is the developer community then it seems that the Linux community should court the Java community more since that community is larger and by far more open source oriented. Most of the advances in the frameworks around .Net start in the Java community anyway. So why not go for the root?
Jun 21, 2010 3:27 PM
Phil
Doesn't really fly
Most jobs I see are for Java. The ones for C# are normally centered around .Net and Windows and don't have a migration path to Linux through Mono. Those wanting to use .Net normally want the things that go with it more than just C# or another language such as Visual Studio, WinForms or the tight integration with other MS technologies. Those things are gone once you leave the MS world. So the idea that creating a Linux version of .Net will capture some .Net developers is actually rather silly to me.
Jun 21, 2010 3:24 PM
mario
Mono is the new Wine
All the hatred against Mono originates from within FSF circles. There is no serious software patent threat, not even in the U.S., regardless of how frequent that argument gets recycled. Since CLI/.NET is an open (ECMA/ISO rubber-stamped) standard, Microsoft has little standing to harm commercial Linux users. The notion of embrace & extend is exaggerated, because C# application will rarely become Linux core components - and could be converted to JVM or native code anyways.

Due to Suns past antics, Java is a weak plattform on Linux. But NET/Mono will neither be mainstream anytime soon. It's a very powerful technology for interfacing Linux to MSFT environments. But especially C# is not a major language; if we have things like Vala that can completely replace it. And scripting languages, like Python or XUL/Javascript, are more likely going to dominate the desktop.

Whatever. In effect Mono is the new Wine. There is less Wine bashing since Mono came around. I hope both projects don't ever announce partnership, cause the resulting backslash from GNU fanbois might harm intercompatibility pragmatism.
Showing page 1 of 2 (17 Comments)
 
Follow Matthew Casperson
Receive weekly updates from Matthew Casperson
 
Bright Hub - Science & Technology Articles, Buyer's Guides, How-To Tips and Software Reviews
About Bright Hub | Contact Us | Advertise with Us | Become a Writer | RSS | Site Map | Terms of Use | Privacy Policy | Copyright Policy
©2010 Bright Hub Inc. All rights reserved. Page copy protected against web site content infringement by Copyscape