To read all comments associated with this story, please click here.
"PS. Miguel is a lying piece of shit f--ktard."
You just proved the author's point:
"To this, I offer a quote from Thomas Jefferson – “Ridicule is he only weapon which can be used against unintelligible propositions. Ideas must be distinct before reason can act upon them”. Demands to remove Mono from a default Ubuntu system are not based on any rational suggestions – there are no packagers offering superior replacements, only people demanding that because in their personal ill-informed opinion everyone will be sued to death, that Mono applications should be purged. This is, in short, software terrorism – demanding a change in someone else’s policy and telling them they are not Free to make their own choices, based on personal politics. Rational minds can dissent on questions of Mono, but until there are adequate replacements for Mono applications, complete with functional migration path, the choice is simple – make Linux suck more by moving to an inferior default application set, or “make do” with Mono. It should be noted that people with rather more to lose than random anonymous people on web forums – such as Mark Shuttleworth – have said on record multiple times that they don’t have any such fears. I would personally support a move from any Mono-based application to a non-Mono-based one, with demonstrable technical superioriority.
The article is excellent, well written, rational, well informed, etc. It makes a strong case for the use of Mono, when it enables to developers to provide "best of breed applications", as the author points out with Tomboy and F-spot.
To those offering other IDEs as alternatives to MonoDevelop - those don't offer code completion, sorry.
As a day to day developer, I can attest that code completion / intellisense / code-suggest (whatever we want to call it) is a huge, huge time saver.
Personally, I prefer Java with Swing and Netbeans, or SWT and Eclipse, to Mono/GTK#/MonoDevelop.
But with that said, Mono/GTK#/MonoDevelop are all excellent. And I'm worried about patents or legal threats regarding Mono, at all. There are many more elements in Linux distros that have far greater potential legal threat than Mono.
"And I'm worried about patents or legal threats regarding Mono, at all. There are many more elements in Linux distros that have far greater potential legal threat than Mono."
I'm not so sure. To quote another article on the matter:
"Of course, there are potentially thousands of patent issues affecting free software and we cannot run scared. Once we know about particular patent infringements in free software, they can be resolved. But there’s a difference between implementing software which might turn out to infringe on some patents and deliberately writing free software using a proprietary framework."
Other pieces of the linux stack may or may not infringe. They are unknowns. On the other hand, Mono is an implementation of a *known* proprietary technology. The odds of Mono being a problem are far greater than some vague unknown "other element."
I can think of a few reasons, one of which being platform integration. Sure, java is portable, but it's not well integrated into its host platforms. For example, SWT is easy to use, sure, but the results are hideous (however functional), and they stand out visually. Or, writing command-line java programs is extremely annoying, especially if you start putting them in packages (./myapp? No. java org.myorg.mypackage.myclass, if you're lucky and your classpath is set up correctly and everything's where it's supposed to be and and and.)
I'm not dissing Java, I'm just saying, it has its weak points, some of which prevent it from doing Mono's job.
Actually Java, like C# and most (but not all) of the interpreted languages, is hardly portable. It is kind of quasi-portability that many wants us to believe as portability.
Have you ever tried to use Java on some more exotic operating system? And by exotic I mean something that even Linux was few years back. How long it took for Java to run on AMD64? Have you ever tried to run Java on MIPS or ARM?
As an old-timer I can not but wonder the current generation of programmers. I doubt many so-called programmers even know that such things as endianness exists. Just to give an example. I believe this shows also in the quality of code (or more likely, the lack of it). There is always room for C and C+++. There are still very sound reasons why parties like GNU recommend only C for their own projects.
For fairness you should compare Gtk# with java-gnome.
http://java-gnome.sourceforge.net/
I dislike Mono. However, I disagree that it is a waste of time. It's like Samba. I wish we didn't need it, but I thank the $DEITIES that we have it. In the case of Mono, not so much as with Samba. But Mono is there for compatibility when we need it to compete in that arena. It's there when my customers (or maybe your family members) need to be able to view silverlight content. And it is there to entice current Windows programmers over to our world.
I absolutely do not like seeing it used for any sort of infrastructure that we really care about. And I do not like seeing existing FOSS authors deciding to switch to it. Although I certainly feel that it is their right to do so, just as it is my right to choose not to use their applications when they do.
Mono and Samba fill very similar roles. But we tend to give the Samba guys a break because we're more used to their situation.
Edited 2009-06-12 17:31 UTC
Apart from those pesky Kodak patents, I hope Sun has a licence for them that allow distribution of the code or else it'll be in the same situation as Mono is supposed to be in.
Those Kodak patents likely apply to .NET as much as Java.
And the OpenJDK team has pretty much coded around all of the previously encumbered code in SUN's Java...as far as I know the SNMP stuff is the only part left to have a new fully open source implementation rebuilt.
I completely agree.
As a scientific and commercial software developer for 20 years I'd simply say that Java rocks and is better than C# or Mono. For example Java either runs on, or can be made to run on (GCJ) just about any platform. From teeny JStamps and Android phones all the way to Big Iron. I've had the privilege of working on systems of all scales.
If someone comes out and says that Java is slow then that is a huge indication they haven't actually written anything in Java for a long time or used a modern JVM. The graphics are done in hardware with DirectX or GLSL shaders and the JVM is now often faster than C and nearly as fast as Fortran (according to an INRIA study - you know, the French dudes doing scientific supercomputing where cycle differences mean hours or days of delay).
Ok, C# may have a slightly more elegant syntax (accessor and mutators) but has downsides as well. People whinge about Java's strict package to directory mapping but I bet you these people have never tried to maintain a Mono mess from a 3rd party (which our company did recently) where you have to understand the entire source base at once to figure out where any part id defined. So, for a little syntactic sugar you're willing to give up true platform independence? Well you are a fool then.
Yes, the patent issue has *still* not been resolved after all these years. With Java the patent grant for compatible implementations is right there in the usage license grant.
Oh yeah, implementations. So for Java we have 100% or near 100% implementation from: Sun, IBM, GNU GCJ+Classpath, Kaffe and a few experimental projects.
For C# we have: Microsoft (Windows and BSD Rotor only) and a partial implementation in Mono. Hmmm, single supplier dependency is never a good thing.
When you look at this C#/Mono looks good for application compatibility with legacy operating system (that is Windows) but is a very poor choice for new development that must work across a lot of system and devices (Java works on the desktop as well as all parts of the very lucrative Enterprise market).
Given the unresolved patent issue on .NET technologies free software should be dependent on it. Sure, for optional use yes, but not as part of the Core.
In short, if you're serious about the software you are building for multiple operating systems (this is OSNews after all, not Windows User magazine) then simply choose Java rather than C#. Java isn't perfect by any means but the syntactic sugar in C# is good but simply doesn't compensate for the downsides of .NET.








Member since:
2005-07-06
Face it, Now that the Java JVM is totally 100% GPLv2 Open Source there is ZERO reason to use mono. Java and the JVM are now guaranteed to provide you a development platform that can run ANY place that YOU choose to run it and will always be free to do whatever you want with forever.
The JVM can already run Python(jpython) FASTER than regular python and ruby faster than native ruby(jruby).
And if you don't want to do full java, then checkout Groovy, it ROCKS. http://groovy.codehaus.org/
The JVM is a fantastic VM. And now that its open source its being worked on by the community to better support more dynamic languages like Perl.
And if you made the huge mistake of choosing .NET over Java, then there are solutions for that too. http://www.mainsoft.com/solutions/prof_svcs_j2ee.aspx
PS. Miguel is a lying piece of shit f--ktard. http://www.osnews.com/story/21586/Mono_Moonlight_Patent_Encumbered_...
Edited 2009-06-12 16:19 UTC