Linked by Thom Holwerda on Sun 11th Jan 2009 10:54 UTC, submitted by Hiev
Mono Project Arstechnica reports that Mono, an open source implementation of .NET runtime, is bringing Microsoft's development technologies to some unexpected places, including the iPhone, Android, and the Wii.
Permalink for comment 343138
To read all comments associated with this story, please click here.
wow, i mean just wow....
by karl on Mon 12th Jan 2009 14:09 UTC
karl
Member since:
2005-07-06

I come to this thread expecting a little bit of discussion about Mono being used for cross-platform app development and the obligatory anti-mono trolls who inevitably show up in such threads. Instead I am treated to a half-dozen individuals who are obviously somewhat knowledgable about .Net coding and Mono's implementation of .Net bashing each other left and right arguing about things which only .Net developers even have a clue about.

If it were not for the vitriol I might even think some of what was being said was informative. But alas whatever informative value was burried by deliberate misunderstanding, name calling, and continuous bashing.

I must admit however that this thread went far beyond the normal anti-mono trolling which is par course for such threads. Perhaps the trolls are getting more sophisticated.

Now to try to add something constructive:

Getting upset about .exe and .dlls's, being windows-specific things brought into Linux(and other platforms)-seems on the surface to be really, really silly. The comments about the registry seem to indicate that all platforms supported by mono are "invaded" by the Evil(TM) MS-Windows registry. How preposterous.

The fact is that one of the first and foremost goals of Mono-as stated by Miguel- was to make it easier for windows .Net apps to be ported to other platforms and to offer an attractive alternative to .Net to get .Net devs who hitherto have only written for Windows to write their apps so that via Mono they can become cross-platform. To this end Mono by neccessity must have some number of kludges (taken from Windows) to ease this process-which means taking into account that some .Net devs indeed did use the registry.

This stuff is there for those devs who used that functionality-not because it is necessary, not because Miguel wants to faithfully replicate each and every MS tech in Mono-but because if a .Net dev did use the registry in their app they would not be faced with something completely insurmountable when first attempting to port it to mono. Seems quite reasonable to me. Miguel wants Mono to be an attractive alternative to .Net, Mono has been written with this mind since day one. Some devs will complain that not Mono is not absolutely identitical to .Net. Others will complain that Mono is way too much like .Net (including evil conspiracies of MS to overtake free software). Give me a break- no matter what Mono does some devs are going to be upset-given that the devs encompasses a large population of people comming from remarkably different backgrounds with different goals and different values. Surprise, Surprise.

Adkilla if I understand you correctly you are lamenting at once a) the fact that Mono has implemented a bunch of MS only kludges which have no bearing in a cross platform world and b) the fact that mono has not completely implemented each and every specific .Net tech. To be honest with ou I have no idea how Mono could not be guilty of a) if they do a good job at b). Seems to me like it is a no-win situation for Mono from your perspective. (If I misunderstood you please correct me)

Now how could Mono address your concerns ? If Mono were to become significantly attractive enough to .Net devs in the Windows world(the only place where .Net as such works) that devs were inclined to start coding in Mono and not for MS-exclusive .Net then Mono would have to start addressing a range of issues and could set themselves as the standard-ie. they could develop their own tech for each and every platform they support and apps would be written from the beginning to be cross-platform and only if the app dev only wanted their app to run on one platform (ie. windows) would they then convert their Mono app to the specific MS-exclusive tech in question (ie.registry).


If this were to come to pass then Mono would not contain a bunch of kludges for compatibility with apps written exclusively for Windows. Yet Mono is probably still a long way from attaining this goal-so far away that it is probably completely ridiculous to judge Mono according to it. On Windows Mono is really only an alternative to .Net for those devs and those projects where cross-platform compatibilty is an value-add to said projects. Mono is not a superior .Net implementation for apps written exclusively for windows. There may be some specific point where Mono is superior to .Net on windows, but .Net on windows encompasses much more than Mono. Yet the moment one considers other platforms Mono is the only answer because .Net only exists for windows. This is where Mono encompasses far much more than .Net. Last i remember .Net did not offer me a Gtk# implementation, or a cocoa#, did not offer me POSIX integration etc.

If I was a windows dev who wrote .Net apps exclusively for windows I would find Mono quite deficient-I would lament that this that and the other thing were not completely implemented in Mono and that I had to do a bunch of extra stuff, some quite tedious, to get my app up and running. But then again I would not be the primary target of Mono- it was not written for me. If I were a dev who was tasked to write an app leveraging .Net code for multiple different platforms I would probably be praising Mono from the left and the right and extolling its features -because without Mono it would be impossible to leverage my .Net code in a cross-platform app.

As is the case now-more and more apps are being written for Mono to take .Net cross-platform-for the ever growing number of devs who are writting such apps the superiority of .Net (ie. it's specifc tech which is not present or only partially implemented in Mono) is starting to fade in constrast to the advantages which Mono offers. In time there will be devs who look at .Net and see it as something quite deficient because it is not cross-platform, because it does not tie into other OS'S/toolkits etc. The number of devs who look at things this way now is probably quite small in contrast to the untold legions of .Net programmers programming away in utter oblivion to the existence of anything other than MS. But there are more and more of them each day-and Mono is bootstrapping a small industry -more and more companies leveraging Mono to carve out markets which hitherto simply did not exist.

This article started off by pointing out all of the apps written in Mono which run on the iphone. All I can say is wow-when Miguel started Mono Apple had just released OS X 1.0 and intel-macs were not even being specuated on and noone ever even imagined Apple producing phones. Now these phones from Apple run Mono apps using tech originally written exclusively for windows which have successfully been made cross-platform by Mono. I find that insanely cool. I wonder how many of those who originally created .Net ever thought that their tech would find it's way (via Mono) on Apples then non-existant iphones. Hats off to the Mono guys.

Reply Score: 5