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.
http://www.go-mono.com/archive/beta1/beta1.html
/. I doubt it is the latter.
The generics compiler is called `gmcs' as opposed to the standard 1.0 compiler `gmcs'.
I assume this is a typo.. or I am working too hard.
As I am reading
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.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.
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
Because it is a syntax error. Sorry guys. I didn't resist ;)
I heard in some news that Microsoft is applying something like 10 patents a day. You could say that all that effort in acquiring patents is just for psychological effect, but should they change their mind...
Beta 1.0 is currently only available as packages for RedHat 9, Fedora Core 1, SuSE, SLES and as an installer for Windows - there currently isn't an OS X installer or .pkg as the story seems to imply. Infact, there doesn't ever seem to have been a packaged release of Mono for OS X.
The Mono status on the front page says that there is a JIT but no Interpreter currently for OS X. It seems that OS X users should compile from source if they want to use Mono...
Someones doing a VB Compiler in Mono
that would be an interesting thing should it ever produce binary compatibles.
There are places where the networks are not touching,and there are places where they are-Boeing's Lori Gunter
I haven't enabled all experimental features but winelib support is there. I'd like to hear some feedback for it.
You probably read it here.
It gets interesting now, though. This guy at eWeek has a theory that MS is putting all it has onto Longhorn to steamroll Linux.
If that's the case, then projects like Mono (or anything that consolidates and professionalises Linux) takes a larger sense of importance and urgency (well, kind of: MS won't release Longhorn for another decade or so...)
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
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
So, instead of being able have as much flexibility as possible (which Linux is known for), you want to cripple your system by leaving out entire languages?
.NET lets you write code in a number of different languages, and have everything interoperate between them. It also lets that code run exactly the same between platforms. Are you too ignorant to see how business loves this?
If that isn't a good enough reason for you, how about this:
Name me one good reason NOT to do that.
With the power of Mono, you can finally stop being jealous of all your WIndows friends who get to run those really cool trojans, viruses and malware!
liqbase
can you spell delphi.net?
it is MUCH better than visual studio (which is neither innovative nor brilliant)
Conservatism: The fear that somewhere, somehow, someone you think is your inferior is being treated as your equal.
I know this is slightly off topic, but I can't believe that when Dot Net came out, all the hosting companies with blah.net domain names didn't get together and do SOMETHING about M$ appropriating what is essentially part of the branding of many companies. .net domain is running their code on their servers!
With M$ Dot Net technology out there, it's as if any
Open source .NET IDE:
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.
Well, you are partly right. Windows.form is not part of Mono's "core" library, and so won't work with 1.0. So for now, cross-platform applications are a big no-go.
.net framework and propriatory extensions like windows.forms (even if that particular extension is quite important).
.net library, windows.form is not a standard...it's something MS can change any time they want. There's also the problems of the legality of reproducing the entire API. The rest of the mono project is probably legal because it's an implementation of a standard...
They are working on a couple of solutions though. First, is GTK#, that (along with bindings to all others Gnome Libs) will allow you to quickly develop a linux application using an API just like windows.form but with GTK widgets. Don't confuse c#, the
Even without ever seeing Windows.forms, GTK# and all the associated library can be quite nice for linux. It's easy to develop for, it's quite fast and it means new Linux developers can create application more easily and perhaps port windows applications more easily.
The problem with Windows.form as far as I understand it is that unlike C# and the
I guess we'll have to see. I'm quite excited about Mono anyway even though I'm a big linux user and don't usually care about MS technologies. I have to admit that I highly prefer C# to Java (for several reasons) and I wouldn't mind seing more c# actions on linux even if the language itself was copied^h^h^h^hcreated by microsoft.
IP Therefore I am.
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
Who documented an 800% performance increase by switching from Java to
What components/technologies did the Java application and the
while (!asleep()) sheep++
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.
The Mono project is huge, and looks like it is very close to becoming production ready.
.NET generated so much interest in the Open Source community? Java has been around forever, and hyped beyond belief, yet for all the talk about needing an open-source java vm and class libraries, it looks like open-source .NET is further along than open-source Java in much less time!
What I have been wondering, however, is why
Can anyone offer any insight? Is it because most people considered the Java license 'good enough' and didn't bother re-implementing it, while Rotor was so restrictive that a re-implementation was necessary?
Here's a tip for tech companies, then: make your software so proprietary open-source developers have to reimplement it to use it, thereby assuring the dominance of your technology!
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.
> What I have been wondering, however, is why .NET generated so much interest in the Open Source community? Java has been around forever, and hyped beyond belief, yet for all the talk about needing an open-source java vm and class libraries, it looks like open-source .NET is further along than open-source Java in much less time!
.Net framework, C#) fills a slightly different niche, with its strong emphasis on multi-language support. This is attractive for developers who already have a lot of code written in other languages.
.Net, and the discussion over strategy for preventing a Microsoft Internet monopoly, and you get a lot of buzz factor.
I can understand why you might have that impression, but I don't think it's true.
I think both Java and Mono have a place on Linux.
Java provides an excellent cross platform language and runtime environment. In terms of number of job listings, it is currently the most popular languge used in business, having surpassed C/C++. And Java is well supported on Linux -- there are Open Source JVMs, the GCC supports Java bytecodes, and the Sun Java Desktop Linux distribution is finding a lot of support.
Mono (i.e. the
Of course, other languages can also be compiled to Java butecodes, but that aspect of Java has never been emphasized much, so it didn't really mature.
Java is good for downloadable Internet applets, though Microsoft has used their control of the PC desktop to stunt Java's growth in that area, by sabotaging the compatibility of the Java clients (i.e. "polluting" Java with J++, then removing Java support altogether).
C# can also be used for Internet applets, and Microsoft will try to use their desktop control to ensure C#'s success in that area. Microsoft intended to have a monopoly in that area, but that may not happen now with Linux and Mono as an alternative.
So I think both Java and Mono/C# have roles to play, and I think they will both succeed.
As to your suggestion that Mono/C# may be gaining greater interest on Linux than Java, I think that is a false perception.
Instead, I think it is simply that Mono/C# currently has more buzz factor...
I think that Java is simply accepted, and growing quietly. As I said, the popularity and support are both there.
Mono/C#, on the other hand, is very controversial, being a Microsoft-originated technology. Thus, it makes the headlines. Add to that the Microsoft propaganda, the Microsoft-forced "success" for
Overall, I would say not to worry. In its usual open, free-market style, Linux is trying all possible avenues to success. And it will succeed, even if we can't predict the exact mix of technologies for the future.
First, is GTK#, that (along with bindings to all others Gnome Libs) will allow you to quickly develop a linux application using an API just like windows.form but with GTK widgets.
GTK# is nothing like Windows.Forms. It's like C GTK+. The idea of GTK# isn't to allow porting Windows apps easily to GTK#, the idea is to allow writing new applications with a good, solid, intelligently designed toolkit.
GTK# also is not just a Linux solution. GTK+ runs on Windows, X11, and many other graphics architectures, and GTK# works with any of those. You can develop an app in GTK# intended only for Windows, if you feel the API for GTK# is friendlier and more usable than Windows.Forms. (Which wouldn't surprise me. ~,^ )
10 Bitch about something Microsoft did.
20 Clone it like hypocrites.
30 Goto 10.
You're forgetting that the people who "clone" and the people who bitch are usually not the same persons.
My other account has a 3-digit UID.
MS has released the source for its .net system
It's not the whole system; it doesn't include any libraries. It's basically worthless for development.
Just as opensource, just as free..
Wha..? You didn't read the license, did you?
who would have thought that would happen?
People who are misguided and don't have all the facts?
> 1) Students can learn most of J2EE in half a .Net guest taught
.NET programming in half a semester of a 3h course, so the fact that your colleague is incompetent is irrelevant to this discussion.
.Net was easier for the students to create .Net
.Net is only easier if you use the non-MVC
.Net occassionally, so I would be .Net.
x
> semester of a 3h course (up to Message Driven
> Beans) with difficulty. The
> only dynamic website creation driven from a DB.
You're comparing two lecturers, not two programming platforms. I can teach your students most of
> 2)
> simple dynamic web sites, but they didn't have
> the restriction of asynchronous processing of
> requests. In the real world, the
> applications they wrote would have required
> more than twice the horsepower.
That's utter rubbish of course. Making silly claims like 'it requires more than twice the horsepower' without backing it up is not something I would expect from a lecturer (with professional experience, I assume).
> 3)
> graphical development tools. Think front-page
> style generated html that hardly works in most
> browsers, and definately doesn't pass any kind
> of standards.
There's nothing in the runtime that's keeping you from using the MVC pattern in your (web-)applications. In fact, searching in Google for '"Model View Controller" C#' returns thousands of helpful hits.
You mention struts, but struts isn't exactly part of J2EE, or is it? Fact is that most companies wouldn't touch struts with a ten-foot pole because of the same reason most companies prefer WebLogic over JBoss.
> I have to use
> very much interested in some book
> reccomendations and some pointers to making a
> real database driven application, web or
> otherwise, in
It's not a book of course, but take a look at Microsoft's pet shop: http://www.gotdotnet.com/team/compare/petshop.asp