Linked by Thom Holwerda on Tue 26th Feb 2008 15:08 UTC, submitted by masalinger
Mono Project A huge 'discussion' took place on the desktop-devel mailing list of the GNOME project about a possible replacement for TomBoy, the Wiki-like note taking application-thing-program-utility written in Mono - it being written in Mono was the prime reason for the whole debate, which started here, and only got considerably nastier later on. "It would seem that lately there are a lot of FUD-spreading trolls crawling out of the woodwork trying to frighten people into thinking that GNOME somehow depends on Mono. Let's take a look at their most widely repeated claims."
Thread beginning with comment 302568
To view parent comment, click here.
To read all comments associated with this story, please click here.
RE[4]: The whole reason
by daveyz on Wed 27th Feb 2008 08:49 UTC in reply to "RE[3]: The whole reason"
daveyz
Member since:
2008-02-27

I agree.

Java is more popular than C#.
In terms of evidence:
http://www.langpop.com/ (no shortage of stats here)
http://www.tiobe.com/tpci.htm
http://www.ohloh.net/languages/compare (C# bareley registers in lines of open source code committed compared to Java)
..Otherwise do your own search on dice.com

Java is also faster:
http://shootout.alioth.debian.org/gp4/benchmark.php?test=all
Miguel even had a blog post admitting as much last December!

If you prefer a cleaner language for the JVM, which is more elegant than C# see Scala:
http://www.codecommit.com/blog/scala/roundup-scala-for-java-refugee...

And did I mention that Java is GPL, while Mono is not?

Why would I want to use a clone of a Microsoft product (Mono website even uses the word "clone"!)
"we will be cloning the .NET development"
http://www.mono-project.com/Mono_Rationale
which is, in turn derived from Java:
http://www.regdeveloper.co.uk/2007/10/30/asp_net_java_project_cool/
...which Microsoft lied about (see above link).
also see:
http://www.news.com/2100-1001-242268.html

Edited 2008-02-27 08:50 UTC

Reply Parent Bookmark Score: 4

RE[5]: The whole reason
by sakeniwefu on Wed 27th Feb 2008 09:22 in reply to "RE[4]: The whole reason"
sakeniwefu Member since:
2008-02-26

The point that the Mono people are trying to get through is that in JVM you just have Java while in Mono you can program in any language including Java, Integer BASIC and even IL directly.
Also, performance is not bound to language but to implementation. Of course it is easier to write fast code in ASM than in C. But .NET and Java are on their own slow division. Maybe someday, when their compilers get better, they manage(pun intended) to be just as slow as C++.

Reply Parent Bookmark Score: 1

RE[6]: The whole reason
by J.R. on Wed 27th Feb 2008 09:27 in reply to "RE[5]: The whole reason"
J.R. Member since:
2007-07-25

The point that the Mono people are trying to get through is that in JVM you just have Java while in Mono you can program in any language including Java, Integer BASIC and even IL directly.


You mean except JRuby (Ruby), Rhino (Javascript), Jython (Python), Scala and Groovy (and perhaps JavaFX script)? The Java VM may be more limiting, I don't know, but I do not think the JVM is uncapable of hosting other languages than Java. So that point is not valid I think.

Edited 2008-02-27 09:28 UTC

Reply Parent Bookmark Score: 2

RE[5]: The whole reason
by J.R. on Wed 27th Feb 2008 09:23 in reply to "RE[4]: The whole reason"
J.R. Member since:
2007-07-25

Still, Java needs proper GTK+ bindings before its usable for Gnome applications. Swing just isn't good enough (FOR THAT USE). I am aware of the Java-gnome bindings and I am following its development closely, but at its current state I would not use it. Looking forward to them though, but I also think people should be encouraged to use them otherwise they won't be used. Saying "no this application can not be a official part of the Gnome project because its Java instead of python or C" will send developers back to whatever platform where Java is accepted in a minute.

I DO think Gnome should adopt a runtime whether its the JVM or the .NET runtime and take an official stance on this. However, having somewhat unclear and questionable relationship with both helps none. Too bad Java wasn't opensourced earlier or this whole mess probably wouldn't be a mess at all.

Edited 2008-02-27 09:36 UTC

Reply Parent Bookmark Score: 1

RE[5]: The whole reason
by abraxas on Wed 27th Feb 2008 13:24 in reply to "RE[4]: The whole reason"
abraxas Member since:
2005-07-07

And did I mention that Java is GPL, while Mono is not?

Please stop spreading FUD. Mono is available under the GPL while Java still doesn't have a fully GPL version available anywhere. Icedtea is the closest thing Java has to a GPL version and there are still some things stubbed because some propietary parts have to be reimplemented and haven't yet.

Why would I want to use a clone of a Microsoft product (Mono website even uses the word "clone"!)
"we will be cloning the .NET development"


It's just the language and the CLR. You can't really use a language without cloning its features. The libraries are completely different.

Reply Parent Bookmark Score: 3

RE[5]: The whole reason
by masalinger on Wed 27th Feb 2008 14:08 in reply to "RE[4]: The whole reason"
masalinger Member since:
2008-02-22

I agree.

Java is more popular than C#.
In terms of evidence:
http://www.langpop.com/ (no shortage of stats here)
http://www.tiobe.com/tpci.htm
http://www.ohloh.net/languages/compare (C# bareley registers in lines of open source code committed compared to Java)
..Otherwise do your own search on dice.com


How come no one writes Java-based desktop apps then?

Because you are comparing server-side popularity vs desktop-side popularity.

Java is also faster:
http://shootout.alioth.debian.org/gp4/benchmark.php?test=all
Miguel even had a blog post admitting as much last December!


You'll note that Java only clearly beat Mono in 2 tests:

1. BigNumber. Unfortunately, the Java implementation cheated by using JNI in order to use libgmp while Mono used the fully managed implementation. Once the Mono test was rewritten to P/Invoke libgmp, they were matched for performance. No real surprise there... because the test is really just a test of libgmp vs libgmp.

2. RegEx. If you read a fairly recent blog (from just last week?), you'll discover that the Mono guys have just recently optimized their RegEx implementation and it is now #2, only outperformed by Tcl - it blows Java's implementation away.

And did I mention that Java is GPL, while Mono is not?


You're right, Mono is licensed under LGPL and MIT/X11. Damn those proprietary licenses! Oh, wait...

Why would I want to use a clone of a Microsoft product (Mono website even uses the word "clone"!)
"we will be cloning the .NET development"
http://www.mono-project.com/Mono_Rationale
which is, in turn derived from Java


Java is indeed a great language, but Microsoft's clone (C#) is an improvement over Java and Mono's clone of Microsoft's clone makes it possible for us to use the better version of Java on Linux ;)

Reply Parent Bookmark Score: 1

RE[5]: The whole reason
by snowflake on Wed 27th Feb 2008 14:55 in reply to "RE[4]: The whole reason"
snowflake Member since:
2005-07-20

"And did I mention that Java is GPL, while Mono is not? "

This statement destroyed your whole argument, you clearly do not know what you're talking about. Mono IS under GPL.

Reply Parent Bookmark Score: 1

RE[5]: The whole reason
by miguel on Wed 27th Feb 2008 15:15 in reply to "RE[4]: The whole reason"
miguel Member since:
2005-07-27

Hello Daveyz,

The Tiobe and LangPop surveys have a problem with the way they measure popularity, they both search for the term "LANG programming" either in Google or in books. And although C# is the main language used in .NET, people do not identify it as "C# programming" but as '.NET programming'. Re-running those queries would give you an idea of the actual language popularity.

Of course, if it makes you sleep better at night, you can just ignore this post and move on.

As for the licensing, the Mono VM is LGPLed, the class libraries are MIT X11, both FOSS licenses.

As for faster, it is fairly subjective, as the test that you linked mentions it will depend highly on the test that matters to you and to whether memory usage is important to you (Mono comes ahead on most tests here while being mostly within 10-20% of Java performance or matching it).

But like the Ruby crowd likes to say, what matters is how efficient you are with a language, and Java has sadly not evolved and in some cases regressed. For instance Generics in C# are a pleasure to use, thanks to its design and the fact that generics were integrated into the VM from the get go. You will be hard pressed to find someone that can tolerate generics in Java.

But all of that is old talk, C# has moved and its now incorporating plenty of functional language features and language integrated query (which also brings built-in map reduce to the language).

That is why perhaps C# and Mono are getting traction.


Miguel.

Reply Parent Bookmark Score: 2