Mono Project Releases Beta 1
AArnott writes "Ximian has just released beta 1 of its open-source implementation of Microsoft .NET platform. Mono allows .NET applications to run on Linux, Mac OS X, Unix, Windows. Mono 1.0 is slated for release on June 30, 2004."
sjanes71 adds "The first 'beta' always gets heaps of attention, and this is the first of three planned for the Mono project. Some of the new features touted for this release that updates Mono v0.31 include a faster interpreter, a global assembly cache, support for the StrongARM and HPPA platforms, generics support in the VM and C# compiler and an early alpha of System.Windows.Forms. C# and .NET is Microsoft's answer to Sun Microsystem's Java platform and Project Mono aims to create the Open Source, cross-platform version of Microsoft's new development environment."
I didn't have the occasion to use Mono yet, but I'm very interested in this project. .NET framework offers most of the power of the J2EE platform, but is also way easier to use. To me at least, I'm not trying to lauch a flamewar. Being able to use the framework without having to buy vs.net or use iis would be neat. I know, arguably one can already do that under windows, but it ain't half as productive.
To me, to
Je n'ai pas d'avenir Je n'ai qu'un destin Celui de n'être qu'un souvenir C'est pour demain
I really look forward to seeing a day when you can take almost any modern application and run it on pretty much any machine. Now that Microsoft is moving over to a platform-independent, bytecode-based system for most of their applications (well, at least Longhorn) and are encouraging their developers to do so, that day seems to be getting closer.
.NET code with no changes on Fedora or SuSE.
.NET developers out there, and being able to share a codebase between Linux, Windows, and PDAs would probably be a pretty convincing benefit. Sure, there's the .NET Compact Framework, but that basically only works on the most recent versions of WinCE.
It's also slightly encouraging to see Microsoft adopting the use of technology like XML and moving a bit closer to standards with their software... their new vector language is very similar to SVG, and their new forms design language is XML-based. Both seem to be pretty clean and generally simple, which means that at least theoretically it would be possible to convert these formats to truly open formats, and to open them easily in open-source software. It would be really cool to be able to just convert a Windows-oriented XAML file to a Linux-friendly format and then run the associated
The fact that Mono even runs on mobile platforms is nice, because in my opinion J2ME is one of the most horrible APIs I have ever had the misfortune of using - some solid competition for J2ME is definitely needed in the mobile sector, and I think a solid platform based on Linux and Mono might be able to deliver. There are already plenty of
using namespace slashdot;
troll::post();
The Mono project is an open source effort sponsored by Novell to create a free implementation of the .NET Development Framework.
Does anyone else find this interesting? We have Microsoft "creating" MS-DOS, Digital Research creating DR-DOS, Novell creating Novell Netware, Novell buying Digital Research, Microsoft creating Windows 95 and NT and killing DR-DOS and Novell Netware, Microsoft creating .NET and basing their new Longhorn OS on it, and Novell creating a free version of .NET specifically to run .NET apps on non-Microsoft platforms.
Can anyone guess what happens next? Anyone?
Novell, you had a good run. We shall miss you.
Actually I think that .NET has a very long way to go before it comes close to being an alternative to Java.
.NET wrappers for old COM stuff.
The biggest problem I've had with C# development is that many standard classes are declared final, which means they can't be sub-classed. I assume what has happened is that MS has taken short-cuts and has simply written
Free Firefox news reader.
Maybe now, MS has a strong interest to promote the .NET platform, but when (or if) it has reached a certain market penetration, what keeps them from changing the protocols (or whatever-- I'm not into this thing) every few months?
Or, if this dosn't help, declare it's all copyright protected and sue Mono? DMCA, anyone? Or at least prevent them from continuing their work?
Don't get me wrong, I'm sure the guys at Ximian have done great work, but you can't trust Microsoft. This is not MS-bashing, this is a lesson many companies have learned in the past-- learned the hard way.
I don't need a signature.
One of the things that MS promised with .NET was that it would do first-runtime compiling to native machine code optimized to each individual machine. No need to set flags for processors, etc. However, I am not sure much of this has actually been implimented on the Windows side of things.
.NET exe and dll files are called "assemblies" and are basically java style byte-code. The first time one is used, it is compiled by the framework, and the machine code is cached for all future uses. The DLL remains intact with the byte code (or IL), and the next time it is changed a recompile occurs. The cached machine code can be, at compile time on each individual machine, optimized for the config and hardware of that machine.
.NET app (with C# in my case) and build it on my Windows machine, then take those exe and dll files and copy them to Linux, AIX, Mac, etc, etc. I know the Java crowd is going to say they are already cross-platform. But an OPEN SOURCE platform like Mono could really turn .NET into a very cool, cross platform tool where the code could be optimized for each config. There is a lot of potential here.
;-)
It would be nice if the open source community could take Mono and optimize for various chips and cards. As you may or may not know,
It would be great if I could write a
I could see Novell optimizing for one particular distro
Great ideas often receive violent opposition from mediocre minds. - Albert Einstein
A much better option for Linux development than Mono is SWT, from IBM. It leverages all the power of Java, but replaces Swing with a new GUI library that is both great from a performance standpoint, and 100% free as in speech and beer. Not only that, it allows access to all sorts of native stuff if you want it in a way that is much better than .NET even. Eclipse is an unbelievable IDE that blows VS.NET out of the water, and is on its way to surpassing Emacs in the hearts of developers.
Let's put it this way, you can write 100% free applications with GCJ, and there is even a way to compile Java applications for Windows that don't need a JVM installed to run!!!
http://thisiscool.com/gcc_mingw.htm
This is great! I've had to turn down a few customers because I cant run .NET applications on my web hosting, this will give me that ability! Perfect!
-Imidazole2
It is even worse, because it gives the impression that .NET is cross platform, but I would argue it's just as cross-platform as if people were like "there's wine, see, Windows is cross platform!"
.NET app running on Windows is going through Microsoft's runtime to the OS; a .NET app running on Linux is going through Mono to the OS. There is no extra layer in this case. Therefore, .NET apps are cross-platform.
But that's totally different!
A Win32 app running on Windows is talking directly to the OS; a Win32 app running on Linux is going through Wine as an extra layer. That's why Wine doesn't make Win32 apps cross-platform.
But Mono is a native implementation of the CLR. A
The ECMA spec or Microsofts implementation? No, they are not the same. Microsoft have addd functions to some classes.
I assume that most Linux distributions will rollout Mono out of the box, but has there been any distributions that actually confirmed that Mono will be part of their distribution? Which version of the outcomming distributions will come with Mono?
Remember the year 2000? They promised us flying cars. They delivered the PT Cruiser...
The only difference between a "defensive" patent portfolio and an "offensive" patent portfolio is that they haven't used the patents offensively yet.
FAT patents anyone?
--
Simon
While Mono is doing an implementation of Microsoft's extensions to the ECMA spec, they're also doing their own set in parallel.
.NET clone stuff, Mono still has a viable system built on top of the ECMA standard (Gtk#, etc...) that they've been encouraging people to target all along.
If all they did was cloning, of course the best they could ever hope for was barely keeping up.
This means that if Microsoft torpedoes the
Note whose APIs Ximian is writing their apps to... they aren't Microsoft's...
I used to think Miguel was naive. Now I think he's a really shrewd bastard... They got Microsoft's support and then pulled an "embrace and extend" on MICROSOFT.
DNA just wants to be free...
Um, Mono is not a viable alternative to Microsoft .NET stack - it IS an implementation of the .NET stack that would run on non-Windows platform. Therefore the competition is NOT on the .NET stack itself but on the OS. A sort-of-viable alternative is perhaps Java or if someone invents something new and comparable.
.NET not being mainstream until longhorn comes out -- well it appears .NET is already on its way to obsolesence, as new longhorn technologies like Avalon, XAML, WinFS seems poise to make .NET seem like what DCOM was yesterday.
As for
Do take a look at Miguel's interview from about a week ago.