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."
So you are talking about a big E-level release? That's a Sigma, friends. Not a Beta. (damn /. doesn't allow Greek chars)
I have been pwned because my
We need interoprability with everything else to keep LINUX viable.
Old COBOL programmers never die. They just code in C.
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
Now GNU/Linux users can enjoy .DLL's as well!
Gnusay -- for all your talking gnu needs.
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.
At the moment, MS is in the top position with the tech and the money and the market share to dictate terms to almost everyout out there in the business community / Enterprise sector.
Mono is a step in the right direction ( various Querries about the legal viability of mono still being an issue ). A good c# platform on Linux will encourage a lot more of the enterprise sector adapters to think about Linux in a positive frame of mind - and might even encourage cross platform development. ( apart from QT there isnt really any alternative at this time ).
However for the Open Source community to really achieve something great and be able to lead 'from the front' - we need to innovate, create better and more adaptable technologies not just play 'follow the leader'. Some people might say that we need to catch up first before we can lead, well - Mono should help in the catchup situation - but then what ?
Are there enough people thinking, developing and colaborating about where to go from there ?
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.
At the rate that Microsoft is applying for patents, I can imagine Microsoft being in a position like SCO--except with evidence on Microsoft's side.
It seems like a lose/lose situation for GNU/Linux. If Mono doesn't catch on then it will be tough for the free desktop to compete with Longhorn. If, however, Mono does catch on and becomes a major development backbone for GNU/Linux, then we risk having Microsoft Intellectual Property embedded deep within a lot of free software projects.and I will say it 1000 more times if necessary. Mono should not in any way associate itself with the term ".NET". I think it is a worthy project and a great effort, but it is incredibly irresponsible and stupid to use the ".NET" moniker.
.NET is a marketing term. If Mono wants to say that it is an open source implementation of the CLR/C#, FINE! That's what it is. However, what Mono is doing would be as if Wine called itself an "Open Source implementation of Windows".
.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!" That is my gripe, and I will continue until Miguel et all STOP CALLING MONO AN OPEN SOURCE IMPLEMENTATION OF .NET!!!!!!!!!!!
Simply put,
It is even worse, because it gives the impression that
You might also want to check out MonoDevelop v0.3 which was released to take advantage of new features in Mono Beta1. .NET development in Linux and rival VS.NET in Windows.
While it's not quite up to the task of stable work yet, it will become a great IDE for
For this it states:
Get off my lawn.
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
Name me ONE good reason why I would need to do that...
I'll name you a few.
Money has already been spent designing the application for windows.
Money has already been spent training users of the application.
There is a huge base of trained developers, administrators, documentation and off the shelf software available that could be leveraged on a cheaper Linux desktop.
More web applications are likely to incorporate web controls designed for .NET (cf XAML).
The MS alternatives to corresponding Linux apps are better/faster/more mature/more stable. (Either generally, or in a specific instance.)
That'll do for now.
Vacancy for signature. Apply within.
These are my 0.02 US$...
...and that's about all they're worth.
.NET compatibility. Microsoft have always gone out of their way to make sure their new versions of Windows run software written for previous versions: do you know why? Because big business won't let them break things. Why should that be any different today than it has been for the last fifteen years?
According to your predictions for Mono, Microsoft should have litigated Samba into the ground years ago. Remind me, how many lawsuits has MS filed against Samba? Oh, that's right, ZERO . Not a single fucking case. Man, that bodes ill for Mono, doesn't it!
Of course the Samba team didn't get any support from Microsoft. But Samba still exists, and it still works.
Likewise, Microsoft can't break
And even in the case that MS do break compatibility... why should we care? Will that mean that Gnome apps using Mono and GTK# will suddenly stop running on Linux? Of course not. We'll still have something cool of our own.
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
C# and the CLR/CLS are documented open standards, certified by ECMA. In fact, for v2.0 Microsoft had to submit their planned changes to C# to be approved by ECMA.
Secondly, there is no such thing as a "compatibility" issue with the CLR. Old versions of classes/assemblies/interfaces continue to run side-by-side with the newer versions. If Microsoft makes a breaking change, it won't hurt existing implementations and applications.
Besides - everyone always overlooks that the CLR + Base Class Libraries (WinFX) are THE supported API for Longhorn. This means if Microsoft fiddles with anything, it hurts their own apps AND their 3rd party developers.
This isn't like the CIFS where only Microsoft deals with it; this is the API which everyone has to use. They are two totally different beasts. Microsoft never said CIFS was an open protocol and never promised it would stay stable. But they have delivered on the CLR+C# being a documented system and they do promise it will be stable.
There is absolutely positively no way to "harm" mono unless Microsoft shoots themselves and all their 3rd party developers in the foot (and those developers writing hordes of applications is what gives Windows its staying power - not something lightly abandoned).
As for the patent issue, we discussed this already. It is what is called a "defensive" patent portfolio. We've already seen Microsoft get submarined by little companies coming along and claiming patents on things like browser plugins. You think that won't bring Mozilla down too? Think again.
Microsoft is patenting anything/everything so no one can come along and try to shoot them down with insane obvious patents later. This is a result of a broken patent system and we all know that.
Natural != (nontoxic || beneficial)
The ECMA spec or Microsofts implementation? No, they are not the same. Microsoft have addd functions to some classes.
It appears that Microsoft's new line of propaganda, when it comes to Mono, is to emphasize "compatibility with .Net."
.Net version 2.
.Net is a secondary goal, and one that is unlikely to be fully achieved. They know that Microsoft will lie, change the rules, keep some things secret, and so on. Also, the Mono developers refuse to tie Mono to Microsoft's Internet services. That, if nothing else, is an obvious difference from Microsoft's own .Net, which "strongly encourages" the use of those services, especially Microsoft's authentication services.
.Net that will allow Windows developers to switch to Linux. Think of the relationship of Mono to .Net, as being similar to the relationship of GCC to Visual C.
.Net secret and patented, but Mono doesn't use those parts.
.Net were developed in Borland, and Microsoft gained those concepts when they hired away large numbers of Borland personnel, including the original creator of Delphi. This is similar to the way that Microsoft hired a VMS development team in order to create Windows NT. Thus, while Microsoft itself may be too centrally controlled (by Gates et al) to allow much creativity, they have always been able to copy or buy good ideas from elsewhere.
That way, it puts the focus back on Microsoft, and it makes Mono seem like a runner up. It also acts as a set up for future propaganda, when full compatibility is not achieved, and when Microsoft changes the compatibility rules in
You can see the propaganda reflected in timothy's lead for the story. That's not to say that timothy is part of it -- after all, he may simply have been affected by the propaganda himself.
But Mono developers have always stated that compatibility with Microsoft's
On the contrary, Mono has always stated that their purpose is to provide a C# development environment for Linux (an enhanced environment, in fact, considering its support for Java and other languages). This has two benefits:
1. C# is a good programming environment, providing a good object model, multi-language support, and so on. For some types of development, it provides solutions that were previously lacking on Linux.
2. Even if it's not fully compatible, Mono provides an alternative to Microsoft's
As to the patents concern, Mono developers have stated from the beginning that they are avoiding anything that smacks of being patented/patentable, and are sticking to the open and documented C# Standard. Microsoft went through the standards process for C# in order to give the illusion that they intended C# to be cross platform. Microsoft never intended anyone to call their bluff, and actually create an alternative C# platform, but Mono did. Of course, Microsoft kept the network services and authentication parts of
As to the fact that C# appears to be a good design, that shouldn't surprise us. According to the rumor, the original concepts for
Anyway, that's enough rambling. Congratulations to the Mono development team.
They are shipping both CLS and Microsoft compatible implementations. The basic idea is that new applications for Linux can use CLS plus the Mono stack (i.e., UNIX/Linux intended assemblies, like gtk-sharp, various DB libraries, POSIX wrappers, etc) and legacy or cross-platform apps can use the Microsoft stack (Windows.*, ASP.NET, ADO.NET, etc).
;-)
For example, a GNOME app written in C# for Mono would not use the Microsoft stack at all. So even if Microsoft broke/changed/patented the Microsoft (non-ECMA) stack, that would have zero effect on the tons of Open Source/Free Software apps developed using the ECMA and Mono assemblies. Thus, Mono provides both a great set of languages (C# and anything else that can run on the CLR), a good solid runtime (Mono+CLR stacks), an efficient and cross platform interpreter and JIT/AOT compilers, and so on.
The only thing Microsoft can kill is Microsoft compatibility. Which really isn't all that interesting to most FOSS developers.