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 368173
To view parent comment, click here.
To read all comments associated with this story, please click here.
RE: Why bother?
by ciplogic on Fri 12th Jun 2009 15:36 UTC 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 Bookmark 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 Bookmark Score: 7

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

What makes you think Mono devs dis Python? All they say is that C# on Mono is a lot faster than Python. I'm a core Python developer and it is hard to argue with that...

There is even an implementation of Python that runs on Mono - IronPython.

Reply Parent Bookmark Score: 1

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 Bookmark 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 Bookmark Score: 8

RE[3]: Why bother?
by YEPHENAS on Fri 12th Jun 2009 16:25 in reply to "RE[2]: Why bother?"
YEPHENAS Member since:
2008-07-14

I have yet to see a complete code generating language that is actually satisfactory for real applications.


Eiffel compiler???

http://en.wikipedia.org/wiki/Eiffel_(programming_language)

"Although there is no direct connection between Eiffel and C, many Eiffel compilers except one (Visual Eiffel) output C source code as an intermediate language, to submit to a C compiler, for optimizing and portability."

Edited 2009-06-12 16:29 UTC

Reply Parent Bookmark Score: 2

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

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.


IIRC, the first C++ implementations where code generators that created C code. I dare hope that, maybe in five or ten years, someone will write an actual straight-to-binary Vala compiler. Vala looks like it could be a great language, if given time to mature.

Honestly, I think you might be missing just a hair about how Open Source projects develop. Unlike comercial projects, they're not usually complete or stable when they're first released - and they keep their "unstable development version" tag for a while. Projects like to reveal themselves early, so they can generate interest, pick up developers and gather feedback. Vala is not now what it will eventually be: give it time. Eventually, either the project will die off or, if it's found to have some merit, it will be refined: I have great confidence in the ability of the GTK community to generate great software, if given time.

Reply Parent Bookmark Score: 2

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

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

Wing has great auto-complete for Python. I've always found the Python documentation very good - particularly compared to many open-source projects. The documentation for pyqt may suck though - I've never used it.

Reply Parent Bookmark Score: 1

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 Bookmark Score: 5

RE[3]: Why bother?
by zegenie on Fri 12th Jun 2009 16:22 in reply to "RE[2]: Why bother?"
zegenie Member since:
2005-12-31

And, what about Eric, or even Komodo?

http://eric-ide.python-projects.org/

http://www.activestate.com/komodo/

Edited 2009-06-12 16:23 UTC

Reply Parent Bookmark Score: 5

RE[3]: Why bother?
by robmv on Fri 12th Jun 2009 16:33 in reply to "RE[2]: Why bother?"
robmv Member since:
2006-08-12
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 Bookmark Score: 2