Mono is now a 2 year old project, and people are wondering what the status is. Miguel de Icaza, Mono project lead, talked about how Mono was late, but that is due to the project expanding beyond the ECMA components. The first version of Mono is now expected by the end of this year, with a code freeze in November, and its development team hopes it will match the functionality in the latest version of Microsoft's .NET.
Some Mono observers say they are watchful of Microsoft in this situation, wondering whether the software company is merely tolerating Mono now. "They will either outpace it with rapid-fire revisions to .Net or simply let Mono languish," said one observer, who requested anonymity.
"In regards to using it as a standard to develop apps for the Unix world, I think that the effort is admirable but doomed," said Scott Risdal, a senior software engineer at Saturn Systems Inc., in Duluth, Minn., and a developer who said he has only recently become familiar with .Net because of a project that required some Pocket PC development using C#.
Read the article: Mono Playing Catch-Up
Is Mono ever going to come up with the goods? Will Microsoft let them? Will the effort become like WINE?
Flame bait. Let's see who bites first.
The reason that this post was pushed through was because Mono is something that a lot of J2EE guys are interested in. (We had many Mono postings this morning in our queue). .NET is a competitor, and we should be watching what is happening with an open source implementation of .NET.
If you are not interested in watching the competition then you can just ignore the news :)
To help things, in the future we will allow you to say "I don't give a monkeys about .NET" and anything related to that will be filtered so you won't even see it.
Mono has two directions.
1) Ximian's motivations for starting up Mono was that it was good technology that could be used to tie together several GNOME concepts. If Mono didn't exist, something like it would be created for GNOME, so ECMA .NET simply saved Ximian the R&D spending to come with it's own solution. It also allows gives MS programmers an easy way to learn how to program for GNOME since they can use tools they're already familiar with.
2) Several people contributing to Mono want to make it a compatible competitor to .NET in much the same way SAMBA is a compatible competitor to Windows Networking. To this end, they are cloning as much functionality as they can including things that don't map well to Unix, like WinForms. To do this they need to incorporate WINE which has only recently been good enough to run MS Office and a few selected games without much effort.
IMO, direction 1 may well succeed. Ximian has several good GNOME products and is responsible for the very popular Ximian GNOME distribution so they have the power to make it a GNOME standard through bundling it. Mono does fit well with other GNOME technologies (although I would have prefered that they had taken the SWT approach and made a platform dependent version of Java that was optimized for GNOME).
Direction 2, OTOH, will likely be playing catchup with MS for a long time (if not forever). .NET is still very Windows specific and it'll take years before WINE is up to sniff for general Windows programming. .NET programmers don't tend to program for portability. If they wanted portability, you would have chosen Java or some other technologies. They chose .NET because it allows easy and seamless access to the Windows platform. Even if WINE achieves 99.999999% compatibility with Windows XP before Longhorn is released (given WINE's long history this will not happen), Longhorn threatens to shake things up again so WINE and Mono will have to play catchup again. So ultimately, for people who choose this "we will clone MS .NET and beat them" vision, Mono will always be second best.
I saw this one a while back when working on my current .NET project. I have to wonder though; clients using .NET are almost always non-J2EE shops. Point in case is my current client. Every developer here is a J2EE developer, but they standardized on .NET.
I thought J2EE was a competitor to .NET? right? Did I miss something? I think it?s cool someone is doing the project, so I don?t want to be down on them, and maybe they have specific personal goals. My I can?t imaging ANY company of size using Mono. That would be like someone using an open source version of the JVM. It might come along eventually, but if SUN isn?t charging for it, then would anyone care or use it? Same for .NET? the CLR, ASP.NET, and so on are free, are they not?
Something else on SAMBA and even Linux, it took considerable time to make these viable. In this case though, Mono is going to have to keep current with .NET, and I think that is an enormous challenge. If they can do it and survive, I?ll buy them all a beer. :P
Why Doesn't Ximian just focus on making it a viable Open Source development tool for Linux first before they build in Windows Compatibility. Mono could be a boon to Desktop Linux. (Just as Java and SWT could be if a few companies got over their stupid pride)
Why Doesn't Ximian just focus on making it a viable Open Source development tool for Linux first before they build in Windows Compatibility.
Mono already is a viable open source development tool. You can compile on Linux and run on Windows, and vice versa. However, only when it has full Windows compatability will it be taken seriously.
Mono already is a viable open source development tool. You can compile on Linux >and run on Windows, and vice versa. However, only when it has full Windows >compatability will it be taken seriously.
Why would it not get taken seriosly if it is not 100% windows compatible. When they start talking about the need to include Wine Libraries to make Mono windows compatible then I personally stopped taking Mono seriously.
If you want Windows compatiblity use Java.
Mono already is a viable open source development tool. You can compile on Linux and run on Windows, and vice versa. However, only when it has full Windows compatibility will it be taken seriously.
Just to be honest, are we supposed to take that seriously? Will Linux have to run on the windows desktop to be taken seriously? There are tons of projects like log4j, junit, and so on that aren't windows specific, but I definitely take them seriously.
I think the idea of having something like mono on Linux exclusively makes far more sense than having an open source version of .NET on windows. It seems like a complete waste of time unless you're just trying to see if you can actually do it. Also I can't imagine an IT manager is their right mind using that over the MS product for Windows. However I could see a ton of people running Mono on Linux.
I'm not saying you have that attitude per se, so don't take all this the wrong way. I think though that short-sighted snotty attitudes like this are what spurred the Linux and open source movement. It's gets really old working in a field where the new guys is deemed an architect solely because they have a degree a masters in psychology of all things and they can spell java. Worse yet is when a CS degreed developer makes a comment like we don't hire "home grown" developers.
There is some definite weirdness in the technical field, and if someone actually believes that a product has to be running on Windows to be taken seriously, then I think they risk drowning in their own stupidity at some point. I certainly don't think Linus Torvalds has or had this attitude, and I'd be far more likely to follow him than the pointy haired boss.
Just a little opinionated venting of reality...
Windows was just a revision in history back when Linux was first being developed. It was DOS on intel, a SPARCStation, or some funky terminal. Linux started out as a terminal replacement and then turned into a Unix workstation. Only recently did it become an alternative to windows.
The reason mono was born from M$ is Java's Open standard is a threat.
M$ wants to rule the world of computing so that is why they couldnt stand still as Java is taking ground and VB is failing.
Trusting M$ with mono is like trusting the fox guarding
Here's an idea. Create a new platform for the Java language and call it something different. Like Java2 Native Edition or something. It should be an extension to the J2SE platform except that instead of running in a JVM, it compiles to native code. Any source code written for J2SE will be compatible and compilable under the new platform. For each OS, such as linux or windows, will have extensions that are proprietary to their particular OS. These extensions could be Gnome, KDE or any other packages. So, source code written specifically for J2NE on Linux wouldn't be cross platform compatible with J2SE or J2NE on any other platform. Also, a great deal of care could be taken to ensure that developer's know when they cross the bounds of Java cross-platform boundaries. Just an idea. I love Java and really want it to keep pace (performance) with .NET and C++ for that matter.
Instead of putting extensions for both KDE and Gnome I would make the GUI api adhere to the freedesktop.org spec and have some type of run time check that determines wether you are running KDE or Gnome, then create SWT Like bindings for both QT and GTK so your Apps would look like native apps on either platforms.
The only "Java like" attribute of this platform would be the syntax and some of the APIs. The APIs should be the ones that make java development easy.
It would be great for the zillion Java programmers since we could bring Java devlopment speed and simplicity to the Linux desktop.