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. "
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
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
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.
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.