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

49 of 414 comments (clear)

  1. First of three Betas? by ObviousGuy · · Score: 4, Funny

    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 /. password was too easy to guess.
    1. Re:First of three Betas? by kahei · · Score: 4, Funny


      I'm assuming that for those with a knowledge of physics or electronics or car racing or something, that is totally hilarious... so I'd better laugh so as to fit in...

      ROFL! Nice one!

      --
      Whence? Hence. Whither? Thither.
  2. Well done guys! by supersnail · · Score: 5, Insightful


    We need interoprability with everything else to keep LINUX viable.

    --
    Old COBOL programmers never die. They just code in C.
    1. Re:Well done guys! by afd8856 · · Score: 3, Insightful

      As long as the Mac reads and writes Jouliet, ISO and FAT, it has TCP/IP stack, SMB suport, can read and write standard office productivity files (PDF, Microsoft Word, etc), than it's not alone in its little world...

      --
      I'll do the stupid thing first and then you shy people follow...
    2. Re:Well done guys! by evil_roy · · Score: 3, Insightful

      Wrong.

      Mac is completely interoperable with windows & *nix where it counts. If it wasn't it would not exist.

      Interoperability is the reason mac survives. It is also the reason linux is viable.

      Create a niche and that's all you will exist in.

      Work like this is what keeps linux viable. The vision shown by Ximian is great - this sort of innovation displays the strength of alternative software development.

      Now if only they can make some $$$

    3. Re:Well done guys! by TeJo · · Score: 5, Insightful

      Mono attempts to provide a viable alternative to Microsofts .NET stack. IIRC this is the first time opensource project has attempted to compete with Microsoft before the technology gets mainstream. .NET is will not be mainstream until longhorn comes out. It gives the Mono developers the time to get the stack that is not only complete but may be tested as well.

      Mono and dotGNU guys are trying to take the wind out of Microsoft's sails for what could become a ubiquitous platform for developement (at least on windows).

      Had opensource developers done this for Java we wouldn't need Sun's stewardship (being a coporation they did a fine job in that role, so no complains from me!).

    4. Re:Well done guys! by dasmegabyte · · Score: 4, Insightful

      I disagree with the parent's tone. Mr. Tejo seems to be acting like Mono is a competetive product that Microsoft is frightened of. I'd like to remind him that Microsoft created an industry standard for the core technologies used in the .NET platform. What the Mono project is doing is exactly what Microsoft wanted somebody to do.

      Why? Well, I dunno. Maybe to appease the Monopoly watchdogs. Maybe to bury Sun (I picked C# over Java and haven't been let down yet). And maybe -- just maybe -- to make it easy to use Microsoft products on alternative hardware and alternative Operating Systems without Microsoft having to worry about supporting all the obscure Linux builds of the world.

      Incidentally...I too like Sun's stewardship, but it existed despite a big clean room open source intiative to reproduce Java. I remember playing around with it in college to compile somebody else's object code into native code for faster execution (our mainframe was slowwwww and at the time, running Java was like a snail on a turtle's back).

      --
      Hey freaks: now you're ju
    5. Re:Well done guys! by zhenlin · · Score: 3, Insightful
      Mac is completely interoperable with windows & *nix where it counts. If it wasn't it would not exist.


      Where it counts. Right. Like running the same executables. Reading the same file formats is nowhere near the order of interoperability that the grandparent post was talking about -- running the same executables.

      Create a niche and that's all you will exist in.


      You do realise that the Mac has long since carved a niche for itself and filled it?

      The vision shown by Ximian is great - this sort of innovation displays the strength of alternative software development.


      While Ximian has done some innovative things, we're talking about Mono here, which is fundamentally a copy, an alternative implementation of .NET -- there may be innovation in the implementation, but the core idea is not -- and that's what counts. Or used to. I have no idea what gimmicks geeks like today, but geeks used to appreciate innovative ideas. Hell, they used create innovative ideas. Many still do, but I'd hazard a guess that the fraction of programmers/software engineers/software designers/computer scientists that have groundbreaking new ideas is falling faster than ever before. Then again, there is less and less ground to break...

      If there is one thing Mono has done, is to have ported, to have made available Microsoft "innovation" to other platforms. But it's no excuse for not working on new ideas.

      But back to Linux. If all we ever do is copy, what will distinguish us from them? An equally balanced alternative is not good enough -- we must outweigh them as a operating system, as a development environment, as a computing platform.

      However, I don't mind Linux being a niche player for a few more years. I don't really care for more installed base nor for more marketshare. If it is a side effect of improvements made, so be it.
    6. 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...
  3. 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 Tim+C · · Score: 4, Informative

      If it's just the IDE you're missing (and I wasn't aware that the Mono people were writing one), then you might want to take a look at icsharpcode.net. One of the projects (#Develop) is a free-as-in-both IDE for .NET.

      In addition to that, Borland have a personal edition of C# Builder available, which is free as in beer, but not licensed for commercial use.

    2. Re:Good news by Senjutsu · · Score: 4, Informative

      'm sorry, but WHAT THE HELL ARE YOU TALKING ABOUT? If you do .Net development in Windows, you use VS. You have no alternative. It's not "not a lot of fun", it's impossible.

      Wrong:

      The Microsoft® .NET Framework Software Development Kit (SDK) version 1.1 includes everything developers need to write, build, test, and deploy .NET Framework applications--documentation, samples, and command-line tools and compilers.

    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. Yay! by Athas · · Score: 5, Funny

    Now GNU/Linux users can enjoy .DLL's as well!

  5. 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();
    1. Re:This is exciting, at least for me. by moxruby · · Score: 5, Informative

      Microsoft open? Hah!
      Where is .NET for mac or linux? (I mean the ms created version and not mono)

      Their XML is a joke, swaths of proprietry code and an arsenal of patents to defend it.

      Microsoft pays lipservice to "open standards" to keep the DOJ at bay, but after that it's business as usual.

      Great work on Mono guys, we can only hope that microsoft won't dare use their patents against the project.

    2. Re:This is exciting, at least for me. by JanusFury · · Score: 3, Informative

      There's a chance you'll see .NET for Mac if MS releases a version of Office based on .NET. Not very likely, but possible.

      Though, really, why does it matter? Apple doesn't release a version of Mac OS X for x86, so you can't run OS X software on x86, just like Microsoft isn't releasing a version of .NET for OS X. That doesn't mean that the platform is useless.

      If you really want an application that fits into your workflow nicely and cooperates with all the other software on your PC, at least for now, platform-independent solutions like .NET and Java are not the answer. A Java or .NET app is still not going to feel 100% like a native app on every platform, even if you throw some pretty skins on it - there are too many differences. For example, for the longest time the Mac OS had no standard equivalent to Windows' ComboBox, so developers rolled their own. I'm not even sure if OS X has an equivalent. Mac UIs have always been designed somewhat differently than their Windows counterparts, based on that reason and other reasons.

      --
      using namespace slashdot;
      troll::post();
    3. Re:This is exciting, at least for me. by GregChant · · Score: 3, Informative

      Historically, Microsoft has had two different teams to produce the same 'title' software: Internet Explorer and Microsoft Office both had teams strictly separate from their Windows counterparts. The Mac teams use Carbon and Cocoa simply because they are writing specifically for Macs.

      I'm assuming it's cheaper for Microsoft to hire a new team than to port over their framework (in strictly this context, without worrying about the Evil Empire ideology ascribed to them). This has been good: Mac versions of Microsoft software (with the notable exception of Media Player) are usually better in terms of usuability, bugs, and features.

    4. Re:This is exciting, at least for me. by moxruby · · Score: 5, Informative

      Haha, far from it.
      Choice quotes from the MS website:

      It will be of interest to academics and researchers wishing to teach and explore modern programming language concepts, and to .NET developers interested in how the technology works.

      Notice that nowhere in the list of intended uses is "Development", that's because it lacks all the libraries needed to make it useful.
      This software was last updated 18 months ago - it's not undergoing development.

      Simply another ploy to gull people into thinking .NET is something more than a new API for windows...

    5. Re:This is exciting, at least for me. by ad0gg · · Score: 3, Insightful
      Their XML is a joke, swaths of proprietry code and an arsenal of patents to defend it

      MS XML is really proprietry code. Look at that proprietry code. Oh wait it looks like any other xml document.

      --

      Have you ever been to a turkish prison?

  6. 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 Talonius · · Score: 3, Informative

      Mono was around long before Novell purchased Ximian. Mono will remain around long after Novell, if Novell does go somewhere, simply because the .NET platform is popular and there are quite a few talented programmers who'd like to work with it.

      Combined with Sun's perceived reluctance to open Java (perceived because IBM has their VM; GNU has theirs; they don't have the popular press that a project like Mono does) and Mono has a *lot* of support behind it.

      --
      My reality check bounced.
    2. Re:The Novell Connection by squiggleslash · · Score: 4, Informative
      No, DR-DOS dates to the mid-eighties, I believe its immediate predecessor was "DOS Plus", a version of CP/M 86 that had some degree of DOS compatability and one or two nice extras of itself (it had a kind of pre-emptive multitasking feature, but required specially written tasks for that, and they couldn't be interactive.)

      I'm guessing that DOS Plus imported a bunch of features from the Atari ST version of CP/M 68, which also looked just like MSDOS to end users (and was renamed TOS and had GEM as the UI.)

      QDOS was a semi-clone of CP/M, built to deal with the fact that DR took their time to port CP/M to the 808[68] architecture. The original author denies it was a straight clone pointing out it had some nice features and architectural differences that weren't present in DR's OS, but there's no denying the API was intended to make porting CP/M programs easier.

      CP/M itself dates back to the mid-seventies, with Dr Gary Kildall writing a crude filesystem and CLI for early Intel 8008 evaluation systems. CP/M 1.3 was practically unusable. CP/M 2.x became an industry standard, but was very tied to the architecture of those original Intel evaluation systems (CP/M required OEMs develop a BIOS that was practically identical to the firmware in those systems.)

      So what you essentially have is:

      (Mid seventies) CP/M for the 8080

      1980/81: QDOS developed independently by Seattle Computer Associates, with many ideas taken from CP/M and with compatability in mind.

      1981: Microsoft buys QDOS, releases it as MSDOS 1.0. IBM bundles it with PCs.

      1981: DR releases CP/M 86 as a seperate product, this is essentially CP/M ported warts and all to the 8086. Nobody buys it.

      1982: Microsoft makes dramatic updates to QDOS, releasing MSDOS 2, which has a proper file system, I/O redirection, all the things, essentially, we consider part of DOS today

      1984: DR releases CP/M 68 for Atari. This includes an MSDOS compatable file system and many MSDOS APIs

      1984: DR releases CP/M 3 (CP/M Plus) for 8080 based machines. Amstrad in the UK is only major buyer. This is still straightforward CP/M, antiquated file system and all, but with support for paged memory and with a lot more userland tools.

      1985: DR releases DOS Plus. Amstrad, in the UK, is virtually the only major buyer. DOS Plus is mostly, but not entirely, compatable with MSDOS. Most people avoid it because of this.

      1986 (I think): DR releases DRDOS. DRDOS is now almost completely compatable with MSDOS and begins to take off.

      --
      You are not alone. This is not normal. None of this is normal.
  7. Mono is a step in some direction.... by kbsingh · · Score: 5, Insightful

    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 ?

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

    2. Re:.NET is Microsoft's answer to Java? by Phidoux · · Score: 4, Informative

      The sub-classing of standard classes has been managed successfully in Java for many years. I've never had the problem where a new version of a class has produced a method with a name the same as one I might have written in a sub-class. Anyway, even if it did happen, the likelihood of it causing a problem is very remote. Java very easily distinguishes between (For example) Method(String string) and Method(boolean flag).

      Another thing I've found extremely prohibitive with the standard .NET libraries is that they aren't very extensive (Well, at least not when compared to the Java standard libraries). Of course to work around the limitations of the standard libraries we look for 3rd party libraries. In the case of Java, 3rd party libraries are mostly GPLed and free, where 3rd party .NET libraries are almost always commercial products with fees attached to their licensing.

    3. Re:.NET is Microsoft's answer to Java? by dubstop · · Score: 3, Insightful
      If you subclass and add methods in your class there is nothing to stop the original class adding new identically named methods in a subsequent release.

      I've never found fragile base-classes to be a problem in Java, where it's a lot easier to override a method than in C#. In Java, by default all methods are virtual, and therefore can be overridden. In C#, however, a method has to be explicitly declared to be virtual before it can be overridden by a derived class.

      It is generally much better to favour composition over inheritance unless a class specifically documents that it is intended to be subclassed - eg/ abstract classes.

      I think that you're wrong here. There shouldn't be any reason at all to favour composition over inheritance, or vice-versa. Both approaches are equally valid, depending upon the circumstances.

      In college, many moons ago, I was taught a simple rule for determining whether to use composition or inheritance:
      • If it's an 'is a' relationship, use inheritance.
      • If it's an 'has a' relationsip, use composition.
      • If it's neither sort of relationship, keep the classes separate.

      Always favouring composition over inheritance harks back to the dark days of COM, where inheritance was a no-no.
    4. Re:.NET is Microsoft's answer to Java? by jsantos · · Score: 3, Informative



      Wake up: the ECMA standard covers c# only.

      Funny you should suggets the parent to your comment was a troll. There is an ECMA standard for the CLI (i.e. .net's runtime) and you can find it here.

      --
      This signature intentionally left blank
  9. Intellectual Property Issues by amitofu · · Score: 5, Insightful

    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.
  10. Re:generics compiler 'gmcs' as opposed to? by JanusFury · · Score: 3, Informative

    IIRC, the standard compiler is 'mcs', so yes, that's a typo.

    --
    using namespace slashdot;
    troll::post();
  11. 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.
    1. Re:Compatible... how long? by clintp · · Score: 4, Informative
      The answer to this (and others) is in the FAQ.

      For this it states:

      The core of the .NET Framework, and what has been patented by Microsoft falls under the ECMA/ISO submission. Jim Miller at Microsoft has made a statement on the patents covering ISO/ECMA, (he is one of the inventors listed in the patent): here [the link is incorrect -- clintp].

      Basically a grant is given to anyone who want to implement those components for free and for any purpose.

      --
      Get off my lawn.
  12. I have said it once by Anonymous Coward · · Score: 5, Insightful

    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.

    Simply put, .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".

    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!" That is my gripe, and I will continue until Miguel et all STOP CALLING MONO AN OPEN SOURCE IMPLEMENTATION OF .NET!!!!!!!!!!!

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

    2. Re:I have said it once by AArnott · · Score: 5, Informative

      Chill. If Mono only implemented the CLI and a C# compiler, it WOULD be "just an open source implementation of the CLR/C#". But Mono implements nearly all of the MS.NET base class libraries as well. Those libraries are not part of the CLI. Therefore, the only accurate way to describe Mono is to say it implements .NET in Linux. Shut up.

  13. MonoDevelop by PhrostyMcByte · · Score: 5, Informative

    You might also want to check out MonoDevelop v0.3 which was released to take advantage of new features in Mono Beta1.
    While it's not quite up to the task of stable work yet, it will become a great IDE for .NET development in Linux and rival VS.NET in Windows.

  14. Cool Vb Compiler by DrSkwid · · Score: 3, Informative


    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
  15. Re:Too bad they are patenting the hell out of Lonh by flying_mushroom · · Score: 3, Informative

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

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

  17. Re:Um, why?? by benjiboo · · Score: 4, Insightful
    Why would I want to run an M$ .net or any other M$ app on my Linux box??

    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.
  18. Re:Sure, it's here now... by Anonymous Coward · · Score: 4, Informative

    These are my 0.02 US$...

    ...and that's about all they're worth.

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

    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.

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

  20. Re:Um, why?? by PhrostyMcByte · · Score: 3, Insightful

    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?

    If that isn't a good enough reason for you, how about this: .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?

    Name me one good reason NOT to do that.

  21. Re:Sure, it's here now... by rabtech · · Score: 4, Insightful

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

  23. Microsoft's new propaganda line for Mono by Anonymous Coward · · Score: 5, Insightful

    It appears that Microsoft's new line of propaganda, when it comes to Mono, is to emphasize "compatibility with .Net."

    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 .Net version 2.

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

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

    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 .Net secret and patented, but Mono doesn't use those parts.

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

    Anyway, that's enough rambling. Congratulations to the Mono development team.

  24. Both by DreadSpoon · · Score: 5, Informative

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

  25. Java and Mono serve different purposes by Anonymous Coward · · Score: 3, Informative

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

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

    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 .Net, and the discussion over strategy for preventing a Microsoft Internet monopoly, and you get a lot of buzz factor.

    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.