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

96 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. Re:First of three Betas? by Short+Circuit · · Score: 2, Funny

      What I want to know is, if I install Mono, will I have to cease relations with my computer until it goes away?

  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 acvh · · Score: 2, Insightful

      Does this not however mean that Microsoft will have plenty of time to break Mono's compatability as well?

      Not that they've ever done that..... ("DOS isn't done until Lotus won't run")

    5. 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
    6. 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.
    7. 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...
    8. Re:Well done guys! by PCM2 · · Score: 2, Insightful
      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).
      Actually, no ... at least in the case of Mono, it was written because Miguel de Icaza and the Ximian guys like .Net. They want to use it to develop their own software. They're not too concerned with what Microsoft plans to do with it. If Microsoft abandoned C# and .Net tomorrow, Miguel would probably be really, really puzzled ... and keep on working on his own version anyway.
      --
      Breakfast served all day!
    9. Re:Well done guys! by yngv · · Score: 2, Funny

      Now you can have the same fun in Java with the C-Memory Management Nostalgia Library 1.0! It's easy:

      Memory mem = new Memory(System.HEAP);
      mem.malloc(Memory.SEGMENT_MA X_SIZE);
      mem.setMemoryProtection(false);
      Pointer p = mem.getPointer();
      for(;;) {
      p.setValue(0x00);
      p.increment;
      }

      Go nutz!

  3. generics compiler 'gmcs' as opposed to? by azzy · · Score: 2, Informative

    http://www.go-mono.com/archive/beta1/beta1.html

    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 doubt it is the latter.

    1. 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();
  4. 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 Dot.Com.CEO · · Score: 2, Insightful

      Care to explain why running VS.Net under Windows to compile a .net app "ain't half as productive" as running a beta CLS that doesn't emulate all APIs of .net and probably never will? Also, the "J2EE platform" is easy to use as it is, many people think it's easier than anything out there bar python scripts but perhaps you could qualify your opinion...

      --
      Mother is the best bet and don't let Satan draw you too fast.
    2. 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.
    3. 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.

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

      MonoDevelop is a GTK port of #Develop.

      It's my understanding that #Develop is trying to create a cross platform compilable version of their IDE as well.

      --
      My reality check bounced.
    5. Re:Good news by madman101 · · Score: 2, Insightful

      You're a liar. He isn't. Big difference...

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

    7. Re:Good news by Nplugd · · Score: 2

      you can have a .net compiler for free from ms.
      And you can use notepad or any text editor you like to code, or you can use alternative gui like Eclipse.
      Also, I never said that VS.net was crap, it's indeed a good product.
      finally, one last remark: WRITING IN CAPS DOES NOT MAKE YOU SOUND SMARTER.

      --
      Je n'ai pas d'avenir Je n'ai qu'un destin Celui de n'être qu'un souvenir C'est pour demain
    8. Re:Good news by wasabii · · Score: 2, Insightful

      Um. Throughout time that has been considered Good Development... by every language for every purpose. Even MS's MSDN tech articals and teching try to tell you to develop .Net apps this way. No big project uses ASP.NET data bound controls. They are slow and tie your data layer DIRECTLY into your presentation layer, ruining future expansion totally. Doesn't mean you CAN"T do it though. J2EE is the same way. Nobody is forcing you to use more than JSP and JDBC on the same page, but doing so is pretty fucking stupid. :)

    9. Re:Good news by dasmegabyte · · Score: 2, Insightful

      Patience. Some of these slashdot kids, they have a long standing genetic hatred of Microsoft, leading back to high school when gangs of Microsoft employees used to shake them down for their modem money. Even the things Microsoft does right are wrong in their eyes. Only time will heal the intolerance.

      (Incidentally, in a company with as many employees as Microsoft, there's bound to be a number of really great ideas that sneak through the layers of paralyzing marketing like background radiation escaping from a black hole. It has been my experience over the past three years that all of the great ideas that have achieved escape velocity have been formed in the belly of the developer's network, and .NET in particular)

      --
      Hey freaks: now you're ju
    10. Re:Good news by Tukla · · Score: 2
      it's all layers, on top of more layers

      That's called "abstraction". It is a Good Thing (tm).

      Without abstraction, we'd still be programming by flipping switches to set individual bits.

    11. Re:Good news by andalay · · Score: 2, Funny

      HEY youre not supposed to benchmark any .NET stuff without telling Microsoft. Youre in deep shit now.

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

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

    1. Re:Yay! by Dave2+Wickham · · Score: 2, Informative

      What are DLLs if they aren't shared libraries?

    2. Re:Yay! by Keeper · · Score: 2, Informative

      Aside from the other poster's comment, you only have a separate copy of the DLL in the gac for each version. You don't have a copy for each application. You can also remove an old version and/or point an application to the version you want it to use via an app config file.

  6. 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 rjw57 · · Score: 2, Informative

      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

      But it isn't SVG. OTOH I don't think it'll be too long before some cunning hacker writes some XSLT which will convert XAML into SVG + XUL. If its integrated into 'zilla users would be none the wiser.

      --
      Rich
    3. 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();
    4. 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.

    5. Re:This is exciting, at least for me. by xirtam_work · · Score: 2, Insightful
      Where is .NET for mac or linux? (I mean the ms created version and not mono)

      Why it's here... ROTOR

      What's the matter? Cat got your tongue?

    6. Re:This is exciting, at least for me. by Anonymous Coward · · Score: 2, Insightful

      ROTOR is a toy. It has zero support and does not include basics like ASP.NET or WinForms.NET.

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

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

  7. 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 narkotix · · Score: 2, Funny
      microsoft buys novell?

      --
      We played dungeons and dragons for 3 hours.....then i was slain by an elf
    2. 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.
    3. 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.
    4. 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.

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

  9. .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 evilpete · · Score: 2, Informative

      That's actually a good thing, inheriting from classes you don't maintain is a risky business.

      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.

      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.

      --
      +++++
      The harder you look the less you see. That's what we're up against.
    3. 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.

    4. 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.
    5. Re:.NET is Microsoft's answer to Java? by MenTaLguY · · Score: 2, Informative

      That is the way things ought to be.

      However, I'm betting you've never seen programmers try to use inheritance to express relationships of a "has a" (or "other") nature, because they haven't thought it through clearly (the "if all you have is a hammer..." syndrome).

      So, it's helpful to train programmers to think about the "is a"/"has a"/etc relationship up front, rather than just kind of fuzzily using inheritance because they know the classes are related (and then maybe deciding that there is an "is a" relationship ex post facto).

      --

      DNA just wants to be free...
    6. 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
  10. 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.
  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.

    3. Re:I have said it once by IamTheRealMike · · Score: 2
      That's a bizarre definition of cross platform. Apps written using the Microsoft .NET stack are not really any more portable than apps written using Win32 - sure we can run them if we reimplement the APIs and write a loader to parse EXE and DLL files, but that's a long way from the vendor shipping an ELF binary which uses GTK+ or Qt to draw its UI.

      People get really hung up on cross platform apps - Java was designed to do that but ended up simply inventing a new platform and hauling it around everywhere, .NET was not designed to do that and so Windows .NET apps are easily distinguishable from Linux .NET apps.

  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. Why C# will not succeed? by noktuo · · Score: 2, Funny

    Because it is a syntax error. Sorry guys. I didn't resist ;)

  15. Too bad they are patenting the hell out of Lonhorn by rolling_bits · · Score: 2, Informative

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

  16. No Beta 1.0 .pkg for OS X. by Anonymous Coward · · Score: 2, Informative
    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.

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

    1. Re:No Beta 1.0 .pkg for OS X. by cheide · · Score: 2, Informative

      It sort-of works on OS X at the moment (at least for a few trivial programs I've tried), but it has its quirks. Garbage collection doesn't work unless you use an alpha version of the Boehm GC which you'll have to install manually, you need some other libraries like glib that won't be present by default so you have to install them first, the JIT on PPC had a bunch of bugs which have only recently been tackled, and so on. They're working on it though, and there's been a lot of progress in the last week or two. It's just not quite up to the same level of reliability as the other platforms yet.

  17. 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
  18. Mandrake Cooker packages available by G�tz · · Score: 2, Informative
    I've just finished compiling mono beta1 packages for Mandrakelinux 10.1 Cooker. They should be available soon on every Cooker mirror in the contribs directory.

    I haven't enabled all experimental features but winelib support is there. I'd like to hear some feedback for it.

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

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

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

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

    1. Re:Much better option by nvrrobx · · Score: 2, Insightful

      Apparently you don't actually use Eclipse/GTK on Linux.

      The performance is abysmal.

      Eclipse/Motif is much, much faster, but unfortunately it's Motif. On Windows, it absolutely rocks.

      Until SWT's GTK performance is usable, it is not a viable alternative.

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

  26. Re:Um, why?? by LiquidCoooled · · Score: 2, Funny

    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 :: faster than paper
  27. wrong by dunkelfalke · · Score: 2, Informative

    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.
  28. .net Domains Run .Net? by JLavezzo · · Score: 2, Insightful

    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.
    With M$ Dot Net technology out there, it's as if any .net domain is running their code on their servers!

  29. Try SharpDevelop by hargettp · · Score: 2, Informative
    1. Re:Try SharpDevelop by hargettp · · Score: 2, Informative

      Although there may be other limiting factors, SharpDevelop depends on WinForms, so until WinForms is successfully emulated on non-Windows platforms, that alone will prevent running it anywhere but on Windows.

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

  32. Re:Without Windows.Forms.Whatever by ferratus · · Score: 2, Informative

    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.

    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 .net framework and propriatory extensions like windows.forms (even if that particular extension is quite important).

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

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

  35. Java/.NET by fforw · · Score: 2, Insightful
    the difference being that most of the accounts of huge performances increases found by switching to .NET are real. The performance problems associated with Java are well documented.

    I understand Java developers have a lot of time invested in the platform, but it's time to let Java go gently into that good night.

    real? to whom?
    Who documented an 800% performance increase by switching from Java to .NET?
    What components/technologies did the Java application and the .NET application consist of?
    --
    while (!asleep()) sheep++
  36. 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.

  37. Mono effort vs Java by zemoo · · Score: 2

    The Mono project is huge, and looks like it is very close to becoming production ready.

    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!

    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!

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

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

    1. Re:Java and Mono serve different purposes by The+Wookie · · Score: 2, Informative

      the GCC supports Java bytecodes

      GCC (GCJ, actually) does more than this. It can compile Java source code straight to a native executable without ever creating byte codes. Also, it can compile byte codes (.class files and whole JAR files I think) into native code. It can also still compile Java source to byte codes if necessary. Even if you compile to native code, it still includes a byte code engine in case you need to load class files that haven't been compiled to native code.

      The 3.4 release of GCJ can compile Eclipse into a standalone executable.

      Also, GCJ supports a much nicer native interface called CNI. It only works with GCJ, though.

  40. Re:Without Windows.Forms.Whatever by DreadSpoon · · Score: 2, Informative

    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. ~,^ )

  41. Re:Awesome, beta 1 of Mono by Per+Wigren · · Score: 2, Insightful


    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.
  42. Re:if you cant wait.. by landaker · · Score: 2, Informative

    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?

  43. mod parent down by Anonymous Coward · · Score: 2, Informative

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

    You're comparing two lecturers, not two programming platforms. I can teach your students most of .NET programming in half a semester of a 3h course, so the fact that your colleague is incompetent is irrelevant to this discussion.

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

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

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

    It's not a book of course, but take a look at Microsoft's pet shop: http://www.gotdotnet.com/team/compare/petshop.aspx