Mono outpaces Java in Linux desktop development
sdtimes.com
sdtimes.com
But this reminds that I wanted to remove Tomboy from my panel since I don't use it and it has some serious reliability and UI issues.
Someone should totally re-write it in C. Or Java ;-)
Although i'd say this is going backwards. Improving Mono/TomBoy memory consumption feels more like the solution here, even if it's a bigger job
I know it's exactly one because sometimes I want to quickly check if it's running and that's just a "ps -A | grep java" :P
2. Java isn't slow if that's what you were insinuating. According to the shootout game the java vm is generally faster than mono.
The emphasis of Java on portability / platform agnosticity is one of it's strengths and one of its weaknesses. It's part of the platform's identity. Comparing the two platforms about linux desktop development is almost nonsensical, since for mono, linux desktop apps is the selling point (GTK# is designed as the main GUI framework for mono, and it gives a native feel on linux), whereas Java has a much broader audience at the moment.
The fact that Java is not terribly useful for creating desktop applications is irrelevant. Its strength in server side applications has long been established. Not to mention, Java has kind of become a de facto standard for a lot of corporate development and those applications are very rarely distributed. Public distribution of applications written in a particular language says almost nothing about the level of usage. There are plenty of other good languages that are not commonly used for desktop applications so I don't understand why this is particularly newsworthy. It's not every day that you see desktop applications being developed in Python or Ruby either.
"Eclipse 3.1 lacks features that MonoDevelop has, including code completion, integrated debugging, refactoring, and unit testing capabilities, Hargett claimed."
Are you kidding me?
And then the great "apps" they site for Mono are Gnome Do & Tomboy notes. Sorry but we're working on visual programming language plugins on top of Eclipse at my company, and the two Mono apps they site are to-do lists?
I'm all for Mono, I'm all for a discussion on how Sun screwed the Linux community over, but this article is not worth reading or talking about. Shoddy reporting all around.
The "Creation of Compelling Applications" isn't a strategy, it's the only reason that platforms exist.
On Linux, probably never. KDE/Qt development is really easy.
Neither sfbay-craigslist, Indeed, or SimplyHired come back with any job listings that mention 'MonoDevelop'. Meanwhile, even combining the three terms [linux eclipse java] gets multiple hits at Craigslist and over a thousand each at Indeed/SimplyHired.
There's a fair chance that Eclipse itself is the most popular Java desktop app on Linux. (Developers aren't blocked by outdated Debian packages nearly as much as the article implies, and the article's claims about what was missing in Eclipse 3.1 are false.)
Azureus and LimeWire have also been widely-used Java desktop apps, on Linux and elsewhere.
I think the article is correct that most people aren't choosing Java for new projects they start. I assert without evidence that the Java job listings you see are primarily for existing projects. I wouldn't be surprised if you chose Java for a new project, but it seems like most people prefer Python or Ruby or C# or, for some things, C.
For example, I'd estimate the usership of Eclipse and LimeWire on Linux as larger than any two of the Mono apps mentioned in the article or this thread.
If the most popular Java desktop app on Linux is an app used exclusively by software developers, then Java indeed has issues creating end-user apps, as there are far more Linux end-users than there are developers.
Interestingly, on both Mac OS X and Ubuntu, Eclipse is the only app I have to wait for a context menu to pop up when I right click a project. It is also the only Java app, as Android (what I'm developing for) has different UI libraries.
"The Java community has taken Linux for granted," Hargett said. "The assumption is, 'What else is Linux going to do for managed code?'
I've been a volunteer Banshee dev (~20 KLOC) for about 4 years. With limited time to contribute I wouldn't be nearly as productive if I had used C or Python. Without Mono lowering the (time) barrier for entry I probably wouldn't be a long-term free software developer.
Personally, I'm sad to see JavaScript coming to the forefront with GNOME 3.0.
If you're writing python apps you're better off using twisted than the threading system (which in my limited experience is indeed horrid).
Twisted is pitched as being a networking layer, but I find it better to think about it as a purpose built scheduler which happens to have poweful networking modules. To explain what I mean by scheduler: - you have a cycle of standard functions for the application which might handle input, look at the network for traffic, handle output. Sometimes in the course of execution more functions will be needed and you stick them into the cycle. So you have an extra item in the rotation that handles custom tasks. Once you've got a scheduler model like this you can tweak it to make your application more responsive if it needs it.
You can use pyinstaller to produce a packaged binary that can be easily transported between platforms without requiring users to install a stack of python libraries. If you use wxpython as your GUI the whole thing can be multiplatform.