Slashdot Mirror


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."

21 of 414 comments (clear)

  1. Good news by Nplugd · · Score: 5, Interesting

    I didn't have the occasion to use Mono yet, but I'm very interested in this project.
    To me, to .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.

    --
    Je n'ai pas d'avenir Je n'ai qu'un destin Celui de n'être qu'un souvenir C'est pour demain
    1. Re:Good news by I+confirm+I'm+not+a · · Score: 2, Interesting

      but [.net] is also way easier to use

      Just out of curiousity, in what way? (I presume you mean .NET without vs.net)

      I've only ever used .net with with Visual Studio, and that was pretty easy, but without the IDE I'm curious as to how it is easier than Java (disclaimer: lots more experience with Java than .net)

      One improvement I (totally subjective) noticed with .net was speed - ASP.net apps seemed a lot "snappier" than JSP/servlet apps.

      --
      This is where the serious fun begins.
    2. Re:Good news by Anonymous Coward · · Score: 0, Interesting

      Amen to that. We spent 3 months writing an app to run on Websphere with WSAD. Performance was awful, and the people writing it had quite a bit Java experience.

      Rewrote the app in ASP .NET and ran it on IIS - a performance increase of over 800%. And we had exactly zero experience with .NET prior to starting this project.

      God only knows what the increase would have been had we had more .NET experience.

      I just can't see Java lasting much longer.

    3. Re:Good news by j3110 · · Score: 3, Interesting

      It was my impression that Mono was going to use Eclipse, the Java IDE. I have had to work with .Net for academic projects, and thus I have used VS.Net. I've actually been a guest lecturer to teach J2EE to a class (half the class was J2EE, the second half was .Net). Here are my findings:

      1) Students can learn most of J2EE in half a semester of a 3h course (up to Message Driven Beans) with difficulty. The .Net guest taught only dynamic website creation driven from a DB.

      2) .Net was easier for the students to create simple dynamic web sites, but they didn't have the restriction of asynchronous processing of requests. In the real world, the .Net applications they wrote would have required more than twice the horsepower.

      3) .Net is only easier if you use the non-MVC graphical development tools. Think front-page style generated html that hardly works in most browsers, and definately doesn't pass any kind of standards. Going back to update the site will require a developer who is a designer, two people at the same computer, or a designer that knows VS.Net and ASP.Net.

      You can now do the same with JSF (Java Server Faces) which looks and feels like VS.Net for making those terrible websites.

      Struts is still probably the best (as far as flexibility and features) MVC architecture out there, and if it were ported to .Net, .Net might actually have a chance of actually displacing a significant number of J2EE development.

      On the other side, VS.Net has the BEST SOAP/WebServices development I have seen to date. You can create a SOAP object in seconds, and I have. So far, this is the only redeaming quality of .Net that I've seen for web development. Windows.Forms and XAML may turn out to be really cool for GUI development, but I haven't had the chance to play with it much. Java is still seriously lacking in the GUI building area.

      As far as I know, there are no MVC frameworks for .Net. Does any know of any MVC-2 frameworks? (Front controller style) It may be a good project to actually find a way to leverage the use of Open Source into your work place if there was a defacto standard MVC architecture. In my opinion, that and the commercial backing is what has let JBoss into the production world. The fact that most companies use Struts and other Apache Jakarta software has given the open source process a better reputation in the commercial world.

      I have to use .Net occassionally, so I would be very much interested in some book reccomendations and some pointers to making a real database driven application, web or otherwise, in .Net.

      --
      Karma Clown
    4. Re:Good news by AstroDrabb · · Score: 2, Interesting
      One improvement I (totally subjective) noticed with .net was speed - ASP.net apps seemed a lot "snappier" than JSP/servlet apps.
      We ran into this same issue. However, we were comparing Servlet/JSP/J2EE running on Slowaris with dog slow Sparc processors, while .Net ran on dual 3GHz Xeons with HT, 2GB Ram, SCSI, etc using Windows 2003. We switched Servlet/JSP/J2EE to the same piece of hardware using Red Hat Enterprise Linux 3.0 and Oracle 9iAS as the J2EE server and the numbers were about equal across the board, with the exception of Linux/Oracle 9iAS scaling to more concurrent users then .Net. Oracle 9iAS was a little bit slower then .Net until we turned on Oracle 9iAS's Web Cache which made a nice difference and then the two were about equal.
      --
      If Tyranny and Oppression come to this land,
      it will be in the guise of fighting a foreign enemy. -James Madison
    5. Re:Good news by Anonymous Coward · · Score: 1, Interesting

      Struts is still probably the best (as far as flexibility and features) MVC architecture out there

      I disagree. You obviously haven't seen WebObjects. It was perhaps the first MVC architecture for developing web applications, and is still the best.

  2. This is exciting, at least for me. by JanusFury · · Score: 5, Interesting

    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.

    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 .NET code with no changes on Fedora or SuSE.

    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 .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.

    --
    using namespace slashdot;
    troll::post();
  3. The Novell Connection by Anonymous Coward · · Score: 5, Interesting
    From www.go-mono.com:

    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.

    1. Re:The Novell Connection by bigsteve@dstc · · Score: 2, Interesting
      If Microsoft wants to kill Mono, they will have to do more than buy out Novell! Mono is open sourced; variously GPL and MIT X11 licensed.

      If Microsoft want to close down Mono, they are more likely to (try to) use their raft of .NET related patents to do this.

  4. .NET is Microsoft's answer to Java? by Phidoux · · Score: 5, Interesting

    Actually I think that .NET has a very long way to go before it comes close to being an alternative to Java.

    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 .NET wrappers for old COM stuff.

    1. Re:.NET is Microsoft's answer to Java? by PhrostyMcByte · · Score: 3, Interesting

      I don't think there is any COM wrapping done in the class library (that would make things go MUCH too slow), but a lot of .NET's classes do cheat and have hand-optimized native code behind them. This is the reason there is no AMD64 .NET out yet- instead of having to write the JIT, they have to rewrite a lot of classes.

  5. Compatible... how long? by koi88 · · Score: 3, Interesting

    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.
  6. Optimizing for processor, etc by Omega1045 · · Score: 4, Interesting

    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.

    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, .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.

    It would be great if I could write a .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.

    I could see Novell optimizing for one particular distro ;-)

    --

    Great ideas often receive violent opposition from mediocre minds. - Albert Einstein

  7. Much better option by Anonymous Coward · · Score: 5, Interesting

    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

  8. SWEET! by imidazole2 · · Score: 2, Interesting

    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
  9. Re:I have said it once by Anonymous Coward · · Score: 5, Interesting

    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!"

    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 .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.

  10. Which standard will they follow?` by matsh · · Score: 4, Interesting

    The ECMA spec or Microsofts implementation? No, they are not the same. Microsoft have addd functions to some classes.

  11. Any distributions planning Mono rollout? by deragon · · Score: 2, Interesting

    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...
  12. Well I feel better about that patent issue... by Simon · · Score: 2, Interesting
    As for the patent issue, we discussed this already. It is what is called a "defensive" patent portfolio.

    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

  13. Re:Well done guys! by MenTaLguY · · Score: 4, Interesting

    While Mono is doing an implementation of Microsoft's extensions to the ECMA spec, they're also doing their own set in parallel.

    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 .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.

    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...
  14. Re:Well done guys! by Red+Pointy+Tail · · Score: 1, Interesting

    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.

    As for .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.

    Do take a look at Miguel's interview from about a week ago.