Miguel de Icaza Talks About Mono
Matthew Revell writes "Miguel de Icaza defends Mono and talks about its future relationship with the Gnome desktop, in the latest LugRadio.
The leader of the open source implementation of .NET says no one is forced to use Mono but he hopes it will make life easier for open source developers. "
I thought competition was good for the market. If OSS is always superior to Microsoft offerings, why do you feel so threatened by Mono?
"Ask not what your country can do for you." --John F. Kennedy
All it does is to legitimize microsofts attempt at monoplizing another market with yet another windows-only product exactly similar to an exsisting multi-platform product....it's their modus-operandi.
Right cause if we ignore it, then it will go away. It doesn't matter if the industry decides to use it or not.
Don't get me wrong, I think mono is a great idea. But I'm worried about how closely tied it is to gnome. Not because of it taking over gnome, but because of it ignoring KDE. I think they should try and get more of the Qt stuff in there, Qt# at least should be in the standard mono dist. Otherwise you just split everyone.
I am trolling
C# as a language is much, much, much easier to work with than Java
Not just interesting, more like astonishing given that the languages are practically identical.
What I don't like is this negative FUD campaign against Mono.
/. zealot perspective, but someone who left the M$ camp years ago after being continually burned by the platform and development environment. They haven't changed and if anything, have only extended their reach increased their lock-in. I'll never go back.
Dude, it's not so much against Mono & co. - they're our peoples. I think they've done a great job. However, it is against M$ and their history and mindset. Until they start acting like there's a world where many types of languages and platforms can exist on their own merit, instead of wanting to own everything, then I won't trust them and I'll have to cast a skeptical eye towards anything berthed from Redmond. When was the last time Guido pronounced <insert Ballmer or Gates soundbite of the week here>?
Besides, I speak not from the typical
Hi,
.NET. That is a valid argument; however, it must be considered that Mono is something that, in the future, is really required for the Linux/UNIX world.
I can perfectly understand that many hate Mono simply because of the fact that it was Microsoft who designed
I suppose that those bashing Mono have never actually worked with C#. Personally, I'm really an anti-MS guy, but at work I was basically "forced" to use C#, and I must admit, it absolutely rocks. It is simply a much more productive language than C or C++, especially for GUI development. When you get a specific task, you're simply much more likely to get it done and get it stable within a given time in C#. The biggest productivity gain (besides the syntax candy, like foreach loops) comes from the garbage collection. Sure, other languages like Java have that, too. But, as far as typical DESKTOP applications are concerned, Java has failed to gain popularity both with users and developers (I suppose the major reason is that Sun took way too long to finally allow Java GUI apps to integrate themselves seemlessly in the desktop by adapting a "native" look & feel; but that's another issue).
Linux apps have done a great job in the past years in getting competitive to their Windows counterparts. So, if Linux wants to stay competitive with Windows in the future as well, there must be a similarly productive language for GUI development on Linux. Standard C/C++ with GTK+ and QT can certainly compete with the horrors of MFC easily. But, in my opinion, not necessarily with the combination of C#/Windows.Forms, as far as speed of development is concerned.
Also, if we want to see more commercial applications to run on Linux, there must be a way to easily develop portable GUI apps. Imagine you're the boss of a smaller software company. You develop Windows apps, your customers all use Windows (welcome to the real world!). Maybe 3% of your customers consider switching to Linux. And now you're starting that new software project that must be finished within a certain time. What are you gonna do? Buy QT, and tell your developers to start learning it? Use GTK, with all related problems on the Windows platform, and tell your developers to start learning it? Nope, that's not what the typical boss is gonna decide. He'll let the developers use what they're used to, M$ visual studio, where they can click together the GUI. He'll tell the 3% of the customers that Linux isn't supported.
And this is exactly what may change with Mono!
And talking about the patent issue: Giving up on Mono because of potential patent issues would mean giving up on the patent issue itself. Mono could be the best "bad" example how software patents support a monopoly and limit interoperability. The fight against software patents isn't over yet. At least not in Old Europe.
bye,
Till
You were rather quick to jump ship, because the said prospect never materialized and is unlikely to materialize any time soon.
My exception safety is -fno-exceptions.
The absolute major problem with the way I feel Miguel has handled the Mono situation is that he constantly refers to ".NET". It's as if he somehow thinks he's going to outsmart Microsoft or something. You can't beat Microsoft at embrace and extend, you have to change the game. .NET is a MARKETING TERM!!!!!!! Don't you remember when it originally got tacked on to every single Microsoft product? Saying Mono is an Open Source implementation of .NET is ignorant at best, and misleading and irresposible at worst. Just stick to C# and CLR and make no mention of .NET at all. Otherwise, they will continue to show me just how absolutely pathetically naive they (especially Miguel) are. .NET is basically Microsoft's brand, and Miguel will never establish authenticity, originality, etc. by latching on to a MS brand. Sure, take the best stuff, build on the shoulder of some giants, but have some !@#$ business sense. Doesn't he work for Novell now? He should have a powow with a marketing intern and receive some lessons on basic marketing.
If they managed to do that, I might start to consider using it. It's a pretty amazing piece of technology, but don't let yourself be blinded to every other issue because of some neato tech toy fetish worship. As it is, I'm just appalled at how stupid they have been with this. They are just playing right into Microsoft's hands, sticking their head into the guillotine as Microsoft gives them some nice flowers to smell and pretty pictures to look at. Fucking so fucking pathetic.
And I always use Path.DirectorySeparatorChar to tell me what the character should be.
90% of everything is crap. Also, crap is relative.
So what exactly is this going to get me over say something like using Python and the soon to be released gpl qt for windows? Python is a way more productive language than either C#,C,C++, java or VB so what is the benefit?, I just don't see it.
Got Code?
Putting Unicode rules into the kernel is also painful; the collation rules for Unicode are huge and messy, and this relies on all users selecting the same Unicode compliant encoding (note that CJK users tend to prefer 2-byte encodings like UTF-16, while Latin alphabet users tend to prefer single-byte encodings like UTF-8).
Far easier to have the kernel say that a given byte ('/') is a directory separator, another byte ('\0') is the end of file name character, and leave user apps to interpret the byte stream. Then, I can use UTF-8 freely, and it's fine; a Japanese user can use Shift-JIS, and while his filenames look wrong to me, I can select any file he can create. In a case-insensitive system, he can create files that have different names in Shift-JIS, but are differentiated only by case in UTF-8 or ISO 8859-1.
I appear to have a blog. Odd.
Microsoft released portions of the CLR (Common Language Runtime) and C# for standardization. The real nuts-and-bolts of .NET are decidedly NOT an open standard. This is what concers many people.
.NET is a wholly controlled "standard" by MS then Mono will be on the same treadmill that WINE and other groups chasing MS implementations have been on.
Additionally, since
--- I wish I could hear the soundtrack to my life. That way I'd know when to duck.
More on Miguels bio:
Miguels possible next project; An open source tool which reads and writes the patented MS Office MS-XML.
You see, he has a habit of following/copying Microsofts tech, no matter how many patents are behind it. People need to stop following Microsoft because it obviously can't lead to anything good or well designed. IMHO.
LoB
"Anyone who stands out in the middle of a road looks like roadkill to me." --Linus
java -cp %CLASSPATH%;C:\AppDir\lib\library1.jar;C:\AppDir\l ib\library2.jar;C:\AppDir\lib\library3.jar -Xms32M -Xmx512M -jar myjar.jar is the equivilent. Or have you never written any real Java programs?
/jre/lib/ext/
You do realize that it is possible to place global third party libraries in a common location right? Try
Or do all Mono programs only use standard APIs?
"If they have both, tell them we use Linux. And if they have that, tell them the computers are down." -Dave Chapelle
I thought the problem was that Microsoft told everybody that they didn't have any patents on C# or .NET, but they are actually a licensee of somebody else who has patents on it?
.NET are two different things.
.NET. It is a huge collection of APIs, many of them Windows specific. In a trial balloon, Microsoft has attempted to patent the totality of those APIs. What the significance of that patent is going to be isn't clear--it may not be worth the paper it is written on.
.NET, you don't have to use it: most open source applications developed in Mono are written using the Gnome APIs, not the .NET APIs.
Well, let's be precise. C# and
C# is an ECMA standard with features that are found in dozens of other languages. There is no indication that there is anything patentable about it. In fact, if you look at the C# specification, it is clear that they have been careful to avoid patents that Sun owns on Java (yes, Java is patent encumbered).
Then there is
So, what's the upshot of it all? You can't avoid the risk of patent infringement no matter what language you use. However, at this point, it is pretty clear that C# exposes you to no greater risk than other languages. As for
It's not an ideal world, but if you want a reasonably popular and practical natively compiled language with garbage collection and reflection, your choice basically comes down to C# and Java. Java is completely owned by Sun: Sun owns the specifications, Sun holds many patents on it, and Sun effectively can control who may implement Java and who may not (they have chosen not to exercise that control vis-a-vis implementations like gcj and classpath yet, but if they want to, they can). C# may not be the ideal choice, but it's the best you are going to get.
The real nuts-and-bolts of .NET are decidedly NOT an open standard. This is what concers many people.
.NET are not an open standard. But it's wrong to refer to those as "the real nuts-and-bolts", which falsely suggests that Microsoft kept important portions of the low-level foundations of C# proprietary.
.NET is a wholly controlled "standard" by MS then Mono will be on the same treadmill that WINE and other groups chasing MS implementations have been on.
.NET at all because they won't be using .NET; they'll be using C# with open source APIs.
.NET, for example because you are developing a Windows application that you also make available on Linux, then, of course, you are dependent on the .NET APIs, but that's because you chose to use .NET. Mono is doing the best job they can in giving you that capability, but even if they fail, it just won't make a difference to open source developers.
Yes, large parts of
ECMA C# is a complete and powerful language and set of libraries--far more complete than C or C++. Together with the open source APIs that already exist on Linux (Gtk, Gnome, etc.), it gives you a fully open and documented platform to build applications on.
Additionally, since
Most open source Mono developers won't be affected by
If you choose to use
Also note that Mono is in a far better situation in this regard than open source Java efforts: Sun has draconian compatibility requirements with which they may be able to shut down any open source Java project whenever they choose.
It seems strange that your questions do not actually have anything to do with the statement you quoted...
If I can write an application on linux under mono, and run it on windows under mono, would that count as cross-platform? I have done that. So have others.
How would future versions of MS' product change the state of the current mono implementation?
-Mark
First of all, it's not YOUR time or money they're wasting. It's theirs. Second, they're contributing to Gnome (and the opensource community in general) in the way they see most fit. They're doing it because they WANT to do it. It's their own itch they want to scratch and it's no different from any other opensource software developer who said they'd do something to "scratch an itch".
Most of all, I don't understand why this affects you so much that it drove you to show your obvious displeasure. If you think that by not working on Mono, those same guys would work on projects that you want, you're dreaming.
So if you think they're wasting their time and not yours, shut up and watch. I think these people are one of the brightest people I've encountered in the opensource movement and I happen to be software developer who's not swayed by market-speak or North American insecurities. I've been working with opensource and would dearly love to write Gnome apps but find Gtk/C unwieldy. I also think that the use of IDEs is true to the *nix philosophy of creating the best tools to aid humans and, right now, those tools can be easilly accessed due to Mono. I love monodoc. It's as good (if not better) than javadoc. The entry curve to Gnome programming just became shallower with the advent of Mono.
Quite the opposite, I think what the Mono developers are doing are a perfect use of their time and I look forward to future developments in the way software project should properly be done.