Linked by David Adams on Fri 12th Jun 2009 14:55 UTC, submitted by google_ninja
Mono Project A Mono developer responds to a request for "a calm presentation of why Mono is desirable, why it is not a threat, and why it should be included in Ubuntu by default" answering the three questions individually, then attempting to address general anti-Mono sentiment.
Thread beginning with comment 368165
To read all comments associated with this story, please click here.
Why bother?
by kragil on Fri 12th Jun 2009 15:17 UTC
kragil
Member since:
2006-01-04

With Google making Python faster (Unladen swallow) why should you include Mono apps and get in a lot of trouble because a lot of users do not want Mono.(And a lot of people in the industry agree that is has its dangers. Red Hat, Groklaw,RMS etc)
All modern Linux distros ship Python and have a lot of python apps. No need for another runtime that adds a lot of resource usage.

So for Gnome just use C/C++,Python,Vala for the default packages.

BTW: Comparing old C to C# is a little lame.

Reply Score: 10

RE: Why bother?
by boblowski on Fri 12th Jun 2009 15:27 in reply to "Why bother?"
boblowski Member since:
2007-07-23

I totally have to agree with this reply. I've no problem with a better technology, but I've yet to see a convincing case for Mono.

And even though I'm by no means a legal expert, to me it seems the only people that do not perceive any legal problems with Mono, are those developing Mono. Even from Microsoft itself I haven't seen any clear statement or guarantees concerning the legal status of Mono.

Reply Parent Score: 7

RE[2]: Why bother?
by diegocg on Fri 12th Jun 2009 17:02 in reply to "RE: Why bother?"
diegocg Member since:
2005-07-08

I've yet to see a convincing case for Mono.

I'd rewrite your sentence in a different way: I've yet to find interesting apps written in mono. Had I needed to install an app which used mono, I'd have installed it, even if I don't like it (I like objective-C and I don't have any objective-c programs installed. I mean, languages don't matter, it doesn't matter if the language is good or not, apps and frameworks is what matters).


It doesn't seem to be many mono killer apps (and yes, I've seen this: http://en.wikipedia.org/wiki/Mono_%28software%29#Software_d... and this http://mono-project.com/Companies_Using_Mono). Monodevelop? I'd rather use eclipse. Tomboy? Its a f--king note-taking app, seriously, i couldn't care less.

The one remotely interesting mono apps for me seem to be:

-Banshee: it is nice....compared with the other crappy gnome players. But I got used to amarok long time ago when banshee didn't exist and I'm not going back.

-F-spot: I once tried to use it and it was buggy as hell, and I didn't need a photo manager anyway so i deleted it.

-Gnome-Do: I just don't care. Normal panels and app launchers do the job for me.

-Beagle...I don't use desktop search tools (I end up not using them and they eate resources). But when I tested it, it ate most of my RAM. No surprising that ubuntu ditched it.


Those are the most interesting apps...and they aren't very interesting at all (I mean, they are useful, but not critical - it's not goint to be the year of the linux desktop thanks to them. And I can easily find replacements of all of them that some times are even better - they are not "killer apps"). It's not surprising that distros are not deciding to take mono by default just for those .

And the same goes for all the .NET applications that I could use with mono. My XP system still works without .NET support installed. I don't know any interesting apps, and even if I did, they are propietary most of the time and they are windows-dependent in one or another way. As far as I know, all the interesting things are happening in the web, not in the desktop. And I have yet to find a site that requires me to use silverlight.

So, mono developers, here is a hint for you: Build interesting apps. Like...dunno...rewrite Evolution in C#? Or Gimp? Write an openoffice replacement? A IM app from the ground up, including network implementations? Hint: KDE has software equivalent to evolution, gimp and openoffice, and their own IM app (and they are quite good at it), and they wrote it ALL in old and dirty C++. And it works. So, if C# is supposed to be so powerful and so much better, why is that most of the apps written for mono are so uninteresting?

Edited 2009-06-12 17:22 UTC

Reply Parent Score: 9

RE[2]: Why bother?
by voidspace on Mon 15th Jun 2009 14:21 in reply to "RE: Why bother?"
voidspace Member since:
2008-06-25

But Microsoft have made *explicit* statements about how they believe Linux is 'patent-encumbered'. If you are ready to ignore that as nonsense why state a higher case for Mono which Microsoft *need* and have never claimed is patent encumbered?

Reply Parent Score: 1

RE: Why bother?
by ahmetaa on Fri 12th Jun 2009 15:29 in reply to "Why bother?"
ahmetaa Member since:
2005-07-06

And don't forget the elephant in the kitchen called Java.

Reply Parent Score: 4

RE: Why bother?
by ciplogic on Fri 12th Jun 2009 15:36 in reply to "Why bother?"
ciplogic Member since:
2006-12-22

I'm both GNOME user and .NET developer in my normal computer usage life (so I'm based as anyone here).

What python does not solve, is bringing a good OSS tool (not VIM) to bring code completion and full with tutorials. I am not here to say that Python is a hard to learn language, is quite the reverse.

But, really, I don't know much tools that compare with Eclipse, NetBeans or Visual Studio. We talk for application that have more than 10k lines and you want fast prototyping, an working debugging, and to be possible to create an application in both your free time and faster for your work. Is not about speed, and solving python speed will be a bonus but not a solution.

The point of the Mono developer response seems valid to me. Not python speed is the issue, the python applications are. This developer said: should be Mono bundled? And his response was: No. Mono is only a dependency which solves easier some problems for devels that are harder elsewhere.

I implement in C# something that really solves an issue in C++ in 1/10 lines because of "syntactic sugar". Working with C/glib is a tedious task and adding the build time (a C# program compiles much faster than a C/C++ counterpart, at least when templates are involved), the developers are not so happy to achieve.

Where Vala is not a solution? Vala three months from past generate for some cases wrong code that duplicate calls in your code! Vala is not yet proven and tested. Also, Vala have no good debugger integration, bad code completion, only two IDEs (one is valaide and the other one is an extension for MonoDevelop), both offering less than beta support for this language. Also, the compiling time is an issue of Vala, as the generated code in C is pretty large.

Vala will need at least one more year to get mature. When in this time Mono will (probably) achieve dynamic language support and the generational garbage collector, will be really much multi-paradigm (technologically) than many languages around. Vala is a substitute for purists for now, that hate mono, but they have to admit it that C# syntax is too lovely to renounce so easy to it.

Edited 2009-06-12 15:45 UTC

Reply Parent Score: 2

RE[2]: Why bother?
by kragil on Fri 12th Jun 2009 15:49 in reply to "RE: Why bother?"
kragil Member since:
2006-01-04

There are numerous Python apps on many Linux desktops that have thousands of lines of code.

The Mono devs dissing Python isn`t really something new.
Google engineers think Python rocks and so do a lot of Gnome devs (Jokosher, Zeitgeist, Pitivi etc.)

And you can use Eclipse for Python development. (Visual studio on Linux not so much ;) )

Reply Parent Score: 7

RE[2]: Why bother?
by zlynx on Fri 12th Jun 2009 15:50 in reply to "RE: Why bother?"
zlynx Member since:
2005-07-20

Vala irks me. It seems to me that the Vala developers have an irrational hate for C++, and so they decided to reinvent it their way, but of course with worse performance and fewer features.

Reply Parent Score: 4

RE[2]: Why bother?
by leos on Fri 12th Jun 2009 15:50 in reply to "RE: Why bother?"
leos Member since:
2005-09-21


What python does not solve, is bringing a good OSS tool (not VIM) to bring code completion and full with tutorials. I am not here to say that Python is a hard to learn language, is quite the reverse.


I have to agree. Python is pretty neat, we've done some projects at work with it, but the tools really suck. There is no good IDE with code completion, and the documentation is not great for developers. I spend way more time trying to figure out how to do things in Python than I ever do in C++/Qt.

I had an implementation in C# that really solves an issue in C++ in 1/10th lines because of "syntactic sugar".


I call BS on that. Maybe base C++ with just the standard library, but no one in their right mind uses that. Use a toolkit like Qt and your C++ code will be basically the same size as the equivalent C# code.

Working with C/glib is a tedious task


No kidding. It's a mystery to me why people still bother with that at all.

Where Vala is not a solution? Vala three months from past generate for some cases wrong code that duplicate calls in your code! Vala is not yet proven and tested. Also, Vala have no good debugger integration, bad code completion, only two IDEs (one is valaide and the other one is an extension for MonoDevelop), both offering less than beta support for this language. Also, the compiling time is an issue of Vala, as the generated code in C is pretty large.


Yep. I thought Vala was stupid to start with, but got yelled at for doubting this awesome new language that would solve all our woes. Code generators mostly suck, that's why they're only used in limited settings. I have yet to see a complete code generating language that is actually satisfactory for real applications. An expert developer will always create better code manually, and other languages have way more utility to learn. Don't even bother putting Vala on your resume.

Reply Parent Score: 8

RE[2]: Why bother?
by lemur2 on Fri 12th Jun 2009 16:14 in reply to "RE: Why bother?"
lemur2 Member since:
2007-02-17

I'm both GNOME user and .NET developer in my normal computer usage life (so I'm based as anyone here).

What python does not solve, is bringing a good OSS tool (not VIM) to bring code completion and full with tutorials. I am not here to say that Python is a hard to learn language, is quite the reverse.

But, really, I don't know much tools that compare with Eclipse, NetBeans or Visual Studio. We talk for application that have more than 10k lines and you want fast prototyping, an working debugging, and to be possible to create an application in both your free time and faster for your work. Is not about speed, and solving python speed will be a bonus but not a solution.

The point of the Mono developer response seems valid to me. Not python speed is the issue, the python applications are. This developer said: should be Mono bundled? And his response was: No. Mono is only a dependency which solves easier some problems for devels that are harder elsewhere.

I implement in C# something that really solves an issue in C++ in 1/10 lines because of "syntactic sugar". Working with C/glib is a tedious task and adding the build time (a C# program compiles much faster than a C/C++ counterpart, at least when templates are involved), the developers are not so happy to achieve.

Where Vala is not a solution? Vala three months from past generate for some cases wrong code that duplicate calls in your code! Vala is not yet proven and tested. Also, Vala have no good debugger integration, bad code completion, only two IDEs (one is valaide and the other one is an extension for MonoDevelop), both offering less than beta support for this language. Also, the compiling time is an issue of Vala, as the generated code in C is pretty large.

Vala will need at least one more year to get mature. When in this time Mono will (probably) achieve dynamic language support and the generational garbage collector, will be really much multi-paradigm (technologically) than many languages around. Vala is a substitute for purists for now, that hate mono, but they have to admit it that C# syntax is too lovely to renounce so easy to it.


http://www.qtsoftware.com/products/developer-tools
http://www.kdevelop.org/
http://www.kdevelop.org/index.html?filename=3.5/screenshots.html
http://www.kdevelop.org/graphics/screenshots/3.5/codecompl.png
http://www.kdevelop.org/graphics/screenshots/3.5/codecomplbases.png
http://www.kdevelop.org/index.html?filename=3.5/features.html#Integ...

Enjoy.

Reply Parent Score: 5

RE[2]: Why bother?
by Ambient on Sat 13th Jun 2009 09:48 in reply to "RE: Why bother?"
Ambient Member since:
2008-12-22

What python does not solve, is bringing a good OSS tool (not VIM) to bring code completion and full with tutorials. I am not here to say that Python is a hard to learn language, is quite the reverse.

But, really, I don't know much tools that compare with Eclipse, NetBeans or Visual Studio. We talk for application that have more than 10k lines and you want fast prototyping, an working debugging, and to be possible to create an application in both your free time and faster for your work. Is not about speed, and solving python speed will be a bonus but not a solution.

The point of the Mono developer response seems valid to me. Not python speed is the issue, the python applications are. This developer said: should be Mono bundled? And his response was: No. Mono is only a dependency which solves easier some problems for devels that are harder elsewhere.

Eclipse has PyDev, which has: code completion (as well as it can be done to dynamically typed languages), everything one expects from a proper code editor, integrated lint, integrated unit testing, integrated debugger, and more: http://pydev.sourceforge.net/features.html

I'm no expert (or a great programmer) by any means and I wrote a simple JPEG encoder/decoder from scratch, just for fun, in Python in just two days, and it was under 10k lines of code. Why write more when you can do it in less? Nothing so far has beaten the prototyping capability I find in Python. It's almost like writing working pseudo code. Documentation? The documentation on internet is vast, comprehensive and easy to read and browse.

Now if you had commented on Python being dynamically typed and thus slower and harder to predict, there being some old legacy cruft in 2.6, I would've understood. Computer Language Shootout shows Python being about 30 times slower on median and using half the memory C# uses. In some cases Python is twice faster as C# (regex-dna). But these are micro-benchmarks so they've only marginally useful.

WinForms.NET in Visual Studio editor though, beats (like completely slaughters) anything Python has in the GUI department in my experience, but this is no fault of the Python language. Just don't start generalizing from that single data-point.

Reply Parent Score: 2

RE: Why bother?
by boldingd on Fri 12th Jun 2009 16:19 in reply to "Why bother?"
boldingd Member since:
2009-02-19

BTW: Comparing old C to C# is a little lame.


I completely disagree. "Old C" is great, and I am a proponent of it in a way, but I've got to say: writing GUI software is much, much easier with an object-oriented language. C really isn't well suited to GUI work - GTK is nice, but it can be a real verbose pain too. If C# is as clean and easy as I hear, then it's probably a much more appropriate language for Gnome/GTK development than C/C++.

Actually, on that note, I hate C++, so Mono just might keep me Gnome/get me interested in GTK development (i.e. outside of the little bit that I already do at work, with C).

Reply Parent Score: 1

RE[2]: Why bother?
by kragil on Fri 12th Jun 2009 16:37 in reply to "RE: Why bother?"
kragil Member since:
2006-01-04

Did you actually RTFA?

In post he compares the patent situation for C and C#. No language comparison anywhere.

Reply Parent Score: 3

v RE[2]: Why bother?
by cies on Fri 12th Jun 2009 17:20 in reply to "RE: Why bother?"
RE: Why bother?
by wawrzyn on Fri 12th Jun 2009 22:37 in reply to "Why bother?"
wawrzyn Member since:
2009-03-24

This "old C" is still very robust in some software engineering, robotics, automation and control systems areas. I can't imagine living without C. Of course it doesn't mean that I use C for all purposes. C is good for some applications just like C# is good for others. There are no universal solutions... And definitely C# and Mono wouldn't be anything universal. Personally, what I like in GNU/Linux is diversity, so why not to have Mono by default? Moreover, it's still a better option than Java in many aspects.

And we shouldn't compare C to C#. It's a better idea to compare C# to Java and CLR to JVM in my opinion.

Reply Parent Score: 1

RE: Why bother?
by BluenoseJake on Sat 13th Jun 2009 04:15 in reply to "Why bother?"
BluenoseJake Member since:
2005-08-11

I would prefer to make my own choices, thank you, I certainly don't need you to do it for me.

Oh, and as a user, I want mono, moonlight, and asp.net and python, and perl and php. I'll try to use the best tool for the job, not what you think I want, or need

Reply Parent Score: 3

RE: Why bother?
by reez on Mon 15th Jun 2009 14:09 in reply to "Why bother?"
reez Member since:
2006-06-28

Okay, I may sound like a fanboy, but what about the others.. Perl, Ruby, Tcl and maybe even Javascript or Lua?

And what about Java (or any other JVM language). I'm not a .NET, Java or Mono fan, but for me .NET always looked like Microsofts version of Java/JVM.

Oh and not to forget it: Parrot
Okay, it isn't as far as Mono is right now, but for me it seems to better fit into the Unixworld, than Java or Mono do. From its goals and design, portability and other features it _could_ be the future of VMs. Especially, because of its portability (which is yet higher, than any others) and because its targeted/has better support for dynamic languages.

Oh, of course its not a pure Unix thing and also runs well on different versions of Windows.

Sorry for getting off-topic with Parrot, but since it is about the question "What should we have by default?" Parrot seems to fill the gap, because one could replace ruby, python and perl (and others) with it.

Why does the Mono project has such a big echo, while no one speaks about all the other VMs (Parrot, JVM, llvm, ...)? And what about other implementations of Python or Ruby?

Reply Parent Score: 1