Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!

 



Forgot your password?
typodupeerror
×
Ximian GUI Software

Mono Poises to Take Over the Linux Desktop 925

Edd Dumbill writes "Miguel de Icaza and the Mono team recently hosted a two day open meeting in Boston. O'Reilly have just published my report of the meeting. Highlights include Miguel's view that 'C is dead!' and the Mono approach to dealing with Microsoft patents on .NET."
This discussion has been archived. No new comments can be posted.

Mono Poises to Take Over the Linux Desktop

Comments Filter:
  • C is Dying? (Score:5, Funny)

    by Anonymous Coward on Friday March 12, 2004 @12:23AM (#8539744)
    C is dead? Has Netcraft confirmed this?
    • by Anonymous Coward
      Maybe because the D programming language [digitalmars.com] is set to replace it. As if we'd be so lucky.
    • by Nailer ( 69468 ) on Friday March 12, 2004 @12:38AM (#8539877)
      - C.

      • by epiphani ( 254981 ) <epiphani&dal,net> on Friday March 12, 2004 @01:56AM (#8540406)
        Slightly offtopic, but a great quote about C...

        C is a language with the flexibility and speed of assembly combined with the ease of use of assembly.

    • by Joey Patterson ( 547891 ) on Friday March 12, 2004 @12:44AM (#8539933)
      It is official; Netcraft confirms: C is dying

      One more crippling bombshell hit the already beleaguered C community when IDC confirmed that C market share has dropped yet again, now down to less than a fraction of 1 percent of all servers. Coming on the heels of a recent Netcraft survey which plainly states that C has lost more market share, this news serves to reinforce what we've known all along. C is collapsing in complete disarray, as fittingly exemplified by failing dead last in the recent Programming Language Usage Audit.

      You don't need to be Scott McNealy to predict C's future. The hand writing is on the wall: C faces a bleak future. In fact there won't be any future at all for C because C is dying. Things are looking very bad for C. As many of us are already aware, C continues to lose market share. Red ink flows like a river of blood.

      C++ is the most endangered of them all, having lost 93% of its core developers. The sudden and unpleasant departures of long time C developers Mark Markup and Sally Smith only serve to underscore the point more clearly. There can no longer be any doubt: C is dying.

      Let's keep to the facts and look at the numbers.

      C++ leader Theo states that there are 7000 users of C++. How many users of C# are there? Let's see. The number of C++ versus C# posts on Usenet is roughly in ratio of 5 to 1. Therefore there are about 7000/5 = 1400 C# users. C++ posts on Usenet are about half of the volume of C# posts. Therefore there are about 700 users of C++. A recent article put C# at about 80 percent of the C market. Therefore there are (7000+1400+700)*4 = 36400 C++ users. This is consistent with the number of C++ Usenet posts.

      Due to the troubles of Redmond, abysmal sales and so on, C++ went out of business and was taken over by Microsoft who sell another troubled programming language. Now C# is also dead, its corpse turned over to yet another charnel house.

      All major surveys show that C has steadily declined in market share. C is very sick and its long term survival prospects are very dim. If C is to survive at all it will be among language dilettante dabblers. C continues to decay. Nothing short of a miracle could save it at this point in time. For all practical purposes, C is dead.

      Fact: C is dying
    • by Anonymous Coward on Friday March 12, 2004 @12:45AM (#8539936)
      (!C) ? (alive = 0) : (alive--);

    • by pavon ( 30274 ) on Friday March 12, 2004 @01:30AM (#8540257)
      In a recent interview, Netcraft quoted C as saying, "I feel happy" and "I think I'll go for a walk now". However Miguel was quick to point out that "C is not fooling anyone" and "is just being a big baby." Unfortunatly, the interview was cut short, and Netcraft will have to wait until next Thursday to confirm the C's death.
    • Re:C is Dying? (Score:5, Insightful)

      by Ironsides ( 739422 ) on Friday March 12, 2004 @01:37AM (#8540303) Homepage Journal
      Obviously this guy has never been in an Engineering College lately. We are still learning C. Not C++, Not C#, Not Java, C. As in where you have to declare all your variables at the very beginning and can't declare them anywhere else. It's how we program microprocessors (among other things) in something other than assembly. And I highly doubt they will make a Java compiler for PICs, Motorolla HC11 and HC12's and various other devices any time soon. Besides, I here places are still looking for COBOL and FORTRAN programmers. Seeing as how those two are still here, C still has a long way to go before the white lillies come around.
    • by bonch ( 38532 ) on Friday March 12, 2004 @01:37AM (#8540306)
      Well, if we can get to the point where we can do things like those shown in this Longhorn video [microsoft.com], development for Linux will definitely increase.

      By the way, the video is worth watching not only for the cool technology but also to hear two Microsoft programmers ragging on each other. Totally opposite the kind of atmosphere you'd expect at Microsoft, I suppose.
  • by wtlssndlssfthlss ( 747938 ) on Friday March 12, 2004 @12:24AM (#8539750)
    "I once thought I had Mono for an entire year, just turned out I was really bored..."
  • by dieyack ( 716504 ) on Friday March 12, 2004 @12:24AM (#8539755)
    long live c!
    • Re:c is dead... (Score:5, Interesting)

      by gstoddart ( 321705 ) on Friday March 12, 2004 @12:52AM (#8539982) Homepage

      Indeed. Since most damned operating systems are written in C I don't think we'll exactly see it go away anytime soon.


      Operating systems is where C comes from, and vice versa.


      (Yeah, whatever, I'm a C geek. To me, and array of pointers to functions returning pointers to arrays of characters seems like a damned fine idea! =)


      Back in my day, we jusy wrote straight to the registers on the device and we were glad! Damned punk kids.

  • .NET (Score:5, Insightful)

    by Anonymous Coward on Friday March 12, 2004 @12:25AM (#8539757)
    I realize that this is an unpopular opinion here on Slashdot, but C# is actually a pretty cool language and the .NET runtime is a promising platform. Microsoft didn't just dream this up overnight... they had a lot of smart people working a long time creating this beast.

    It would certainly benefit us to learn about these technologies and leverage them, rather than to unilaterally declare them evil, wrong, stupid, etc. and just bury our heads in the sand and pretend they dont exist.
    • by Faust7 ( 314817 ) on Friday March 12, 2004 @12:30AM (#8539801) Homepage
      It would certainly benefit us to learn about these technologies and leverage them, rather than to unilaterally declare them evil, wrong, stupid, etc. and just bury our heads in the sand and pretend they dont exist.

      I think that about a lot of Microsoft technologies -- but to be fair, I'd say that the mere existence of Mono is evidence that a process such as you have described is already in motion.
    • Overnight (Score:5, Insightful)

      by SuperKendall ( 25149 ) * on Friday March 12, 2004 @12:33AM (#8539829)
      I realize that this is an unpopular opinion here on Slashdot, but C# is actually a pretty cool language and the .NET runtime is a promising platform. Microsoft didn't just dream this up overnight...

      Yes, it took at a least a couple of days to copy all the Java libraries and ReCapitalizeMethods,

      Seriously though, .Net is a nice language with some advancements over Java, but not different enough from Java to make its existence worthwhile. It's just leading to a lot of duplication of effort across the world (like Ant and Nant, or JUnit and NUnit).

      Now if they'd come up with something like Haskel# as the primary language (instead of hamstringing other languages and making all of the core libraries Java like) or something really different that actually advanced the field of programming as a whole, then I might be more appreciative But as it is I see the tremendous duplication of effort across the world to do the same things in Java and C#, and it just makes me sad.
      • Re:Overnight (Score:4, Informative)

        by miguel ( 7116 ) on Friday March 12, 2004 @12:54AM (#8539993) Homepage
        You might want to look at Nemerle (www.nemerle.org)
        a nice functional language that runs on .NET and
        Mono.
      • Re:Overnight (Score:5, Interesting)

        by primus_sucks ( 565583 ) on Friday March 12, 2004 @12:57AM (#8540021)
        But as it is I see the tremendous duplication of effort across the world to do the same things in Java and C#, and it just makes me sad.

        I think this problem would be solved by writing things in Scala [scala.epfl.ch]. Scala compiles to .Net or Java runtime and is a far more advanced language than C# or Java.
      • Re:Overnight (Score:4, Interesting)

        by ajagci ( 737734 ) on Friday March 12, 2004 @04:56AM (#8541202)
        Seriously though, .Net is a nice language with some advancements over Java, but not different enough from Java to make its existence worthwhile.

        Maybe not if your idea of programming is limited to hacking J2EE server-side components and a few flaky GUI apps.

        For the rest of us, C#'s better native interface, value classes, operator overloading, fixed generics, and fixed exception handling alone are worth it as a language alone.

        Add to that that there is a high-quality open source implementation (Mono) and a complete stack of non-proprietary open-source libraries (Gtk#, etc.), and people have really strong reasons for preferring Mono to Java.

        But as it is I see the tremendous duplication of effort across the world to do the same things in Java and C#, and it just makes me sad.

        Well, do you think that Microsoft and the OSS community are spending time on .NET and Mono respectively for the fun of it? Sun forced this duplication: through their proprietary license requirements for Java and through their poor handling of Java's technical evolution. In the end, Java's evolution is primarily driven by what makes money for Sun, and that's why Sun has neglected client-side Java and Java numerics, for example. And the reason why they could get away with that is because they have retained legal control of Java.

        So, if this "duplication of effort" makes you "sad", complain to McNealy and Gosling and Schwartz and all of the other Sun managers: it's their responsibility, it's their greed, and it's their fault that it has come to this.
    • by konmaskisin ( 213498 ) on Friday March 12, 2004 @12:35AM (#8539858) Journal
      Languages written in C:

      perl
      python
      ruby ....
    • Re:.NET (Score:4, Insightful)

      by ivern76 ( 665227 ) on Friday March 12, 2004 @12:38AM (#8539883)

      I disagree. After a few months of working with C#, I have come to the conclusion that it's nothing but a bastardized clone of Java that had every little piece of sugar they could snarf from VB and C++ added to it, whether it made sense or not.

      For example, the braindamaged distinction between structs and classes as value and reference types respectively. What if you want to make both value and reference objects of the same class? Or treat the same object as value or reference as needed? The stupidity becomes even more apparent when you find out that the System.Array.Initialize() function will only initialize value arrays, not reference arrays (WTF? Is there ANY reason to even have the [,] array creation operator if you still have to construct the members one by one after creation?). I could go on and on about "features" that were clearly hacked on in five minutes to fit some deadline, with little thought or care.

      C# does have some nice things that, say, Java lacks. Operator overloading, automatic boxing and unboxing of primitive types, and properties come to mind. The first two, AFAIK, will be in Java soon, and properties are just syntactic sugar to replace observer methods. Honestly, I'm not impressed, and I don't intend to use C# ever again unless I absolutely have to.

      • Re:.NET (Score:4, Insightful)

        by willdenniss ( 707714 ) on Friday March 12, 2004 @01:06AM (#8540088)
        here here.

        And, unlike .NET - Java is fully featured across all of it's supported OS's.

        Will.
      • Re:.NET (Score:4, Informative)

        by jfengel ( 409917 ) on Friday March 12, 2004 @01:19AM (#8540184) Homepage Journal
        Autoboxing yes, but I don't believe that they have operator overloading in mind. I've heard Gosling say that it adds a lot of complexity to interpreting a program while adding relatively little expressive power.

        (A picture of Gosling standing in front of a slide explaining what's wrong with operator overloading [syr.edu]).

        I'm definitely looking forward to autoboxing and the new printf-style methods. (Maybe variable-argument methods were what you had in mind?)
      • Re:.NET (Score:4, Insightful)

        by grennis ( 344262 ) on Friday March 12, 2004 @01:27AM (#8540240)
        What if you want to make both value and reference objects of the same class?

        Value/Reference is a class-based distinction. It has nothing to do with instance, and I can't say I've ever had a real world problem with this. Can you?

        Or treat the same object as value or reference as needed?

        Real world example?

        the System.Array.Initialize() function will only initialize value arrays, not reference arrays

        Of course. C++ is no different. Remember how in C++ you have to write "delete [] x" instead of "delete x"? Simply because you have to communicate to the compiler that it must call the destructor on each array member... but the constructor is much more difficult. What if the array element type has no default constructor?

        I could go on and on about "features"

        And I could equally as well refute your points.

        It is ignorant to simply dismiss .NET or C# because it is something you don't know and don't understand. Take the time to learn it... there are valid criticisms, but you haven't found them yet.

        • Re:.NET (Score:5, Insightful)

          by ivern76 ( 665227 ) on Friday March 12, 2004 @04:18AM (#8541098)
          What if you want to make both value and reference objects of the same class?

          Value/Reference is a class-based distinction. It has nothing to do with instance, and I can't say I've ever had a real world problem with this. Can you?

          Or treat the same object as value or reference as needed?

          Real world example?


          Easy. Value types allow you to transparently create copies of data, essentially letting you deal with immutable objects without the added complexity of calling a clone() operation every time you need a new copy to work with. This has nothing to do with class characteristics, and everything to do with the particular code you're using.

          the System.Array.Initialize() function will only initialize value arrays, not reference arrays Of course. C++ is no different. Remember how in C++ you have to write "delete [] x" instead of "delete x"? Simply because you have to communicate to the compiler that it must call the destructor on each array member... but the constructor is much more difficult. What if the array element type has no default constructor?

          If it has no default constructor, then you make it an error for value types (duh) and a nop on reference types. Alternatively, you could make it an error on both. If there's no default constructor, you don't call Initialize(). Your comparison to C++ loses, because 1) we're not discussing C++, and 2) we're not discussing "telling" the compiler how to do a job, we're discussing how the compiler doesn't do said job no matter how you "tell" it to.

          I could go on and on about "features"

          And I could equally as well refute your points.

          That's great to hear. Start any time you want.

          It is ignorant to simply dismiss .NET or C# because it is something you don't know and don't understand. Take the time to learn it... there are valid criticisms, but you haven't found them yet.

          I wouldn't go as far as to call you ignorant, but I know for certain it's stupid to dismiss my claim without actually addressing it. If you scroll up and actually read my post and yours, you'll notice that you either didn't read my claims properly, didn't think the matter through properly, or didn't type your reply properly.

          Why do I claim this? Well, 1) you don't seem to understand how you can use value and reference types interchangeably in a real world situation, yet you go ahead and talk about it. 2) You try to address my issue with Initialize() by pulling a textbook Chewbacca defense with C++'s delete[] syntax. And 3) you tell me there's "valid criticisms", yet you fail to mention any. All you know is mine don't work, yet you also fail to adequately explain why.

          In the end, I have no option but to classify you as a troll until you prove otherwise. I suggest you start doing so by addressing my initial post with clearly thought out answers.
    • Re:.NET (Score:5, Interesting)

      by Rascasse ( 719300 ) on Friday March 12, 2004 @12:38AM (#8539885)
      .NET is good because it takes the best from languages that are already in existence. It's not like there is anything revolutionary in C# that isn't in any other language out there. I used to be stuck in this PC-centric view of the world. Imagine my surprise when I bought a Mac and realized that NeXT had fantastic things like Internet-enabled Distributed Objects available long before much of the world even knew what a web browser was. Yes, C# is good. But the only people that I know that have been blown away by it are those that didn't stray far from Microsoft solutions and were never exposed to tools available from other vendors. Welcome to what much of the rest of the world had available to them in the form of Java since the late 1990s. And before the fanboys come out - yes I know that C# actually improves on some of Java's deficiencies. But I do take issue with the assertion that C# was made possible thanks only in part to a concerted MS R&D effort. It wasn't.
    • Re:.NET (Score:5, Informative)

      by nemiak ( 555760 ) on Friday March 12, 2004 @01:32AM (#8540277) Homepage
      " Microsoft didn't just dream this up overnight..."

      Like most/all of Microsoft's "innovations", .NET was *purchased*, not created, by Microsoft.

      Microsoft inherited what become .NET when they purchased Colusa Software [c2.com] on on March 12, 1996.
      At this time C/C++ and VB environments already existed for Colusa's "OmniVM" (which became the .NET CLR?).

      To clarify - I do alot of work with C# and find it to be the least unpleasant Microsoft development environment I have experienced.

      Score 5, Troll?
    • Re:.NET (Score:5, Funny)

      by SensitiveMale ( 155605 ) on Friday March 12, 2004 @01:33AM (#8540284)
      Actually what he should have typed

      "I realize that this is an unpopular opinion here on Slashdot, but C# is actually a pretty cool language and the .NET runtime is a promising platform. Microsoft didn't just dream this up overnight... Sun had a lot of smart people working a long time creating this beast."
  • by adun ( 127187 ) on Friday March 12, 2004 @12:26AM (#8539766)
    Aside from being a the primary source of Mediterranean winds, Icaza has apparently forgotten about that whole "Linux" thing that is built on that whole "UNIX" thing that was built using that whole "C" thing. I applaud his salesmanship. I deplore his view that the desktop is equivalent to the operating system.
    • by milest ( 447184 ) on Friday March 12, 2004 @01:07AM (#8540092)
      The article talks about C dying for *user* applications explicitly:
      "A great deal of serious end-user application coding on Linux still goes on in C or C++"
      "Where does this place the future of the Linux desktop..."
      "The expectation for GNOME 3.0, however, is that a lot of the platform will use Mono, rather than the C implementation it has now"

      Probably no one writes kernels in C# and there is less and less reason to write user applications in portable assembly. Programming languages are tools, and we use different tools for different jobs. I prefer to use higher level languages where it is feasible because I'm more productive. I use C where I have to, because it has features that other tools don't.
  • C is not dead (Score:3, Insightful)

    by Yaa 101 ( 664725 ) on Friday March 12, 2004 @12:26AM (#8539771) Journal
    You need a solid underground when programming...

    MS and solid? hmm...
  • WTF?!? (Score:4, Funny)

    by Anonymous Coward on Friday March 12, 2004 @12:27AM (#8539781)
    Will Mono Become the Preferred Platform for Linux Development?
    by Edd Dumbill


    Why the hell would I believe someone with the name of Edd Dumbill?

    That must be the "Alan Smithee" of the so-called "tech writers." It's probably just dumbshit Alan Seeburgh in disguise, playing hooke from CNN.
  • Um, no. (Score:5, Informative)

    by ivern76 ( 665227 ) on Friday March 12, 2004 @12:29AM (#8539788)

    This falls under the "I can't believe what I'm hearing" category...Mono is *not* ready as a plug in replacement for .NET, and it won't catch up before MS releases 1.2...for the foreseeable future, it's trailing behind the Windows implementation and is not likely to catch up.

    I see PyGTK as a much more reasonable (and WORKING) alternative to C programming for people who want to write Gnome apps. Or GTK--, for that matter. Mono currently has crappy System.Windows.Forms support (even with Gnome#), broken serialization support, the list goes on and on.

    • Re:Um, no. (Score:5, Insightful)

      by IAmTheDave ( 746256 ) * <basenamedave-sd@yaho[ ]om ['o.c' in gap]> on Friday March 12, 2004 @12:36AM (#8539864) Homepage Journal
      Yeah, it's crappy. But heck, it's a move in the right direction. I know certain people (cough... slashdotters) are quite protective of the purity of writing unmanaged code.

      But that said, I have never developed software more rapidly than in C#. .NET has trippled my productivity (on the Windows platform) and my approval rating at work has skyrocketed as I have rolled out several solutions on .NET that are stable, solid, and effective.

      I really wish that Linux had a stable .NET equivelent (sp?) - cause then I could completely abandon Windows at home. But as long as I can code C# with such RAD success, Linux is going to have catching up to do.

      I applaud MONO. It's far from ready, but keep going. Keep working. Please - make MONO (or something else) as good as C#, .NET, and Windows Forms (and hell, ASP.NET) is. RAD is so important in the real world, that Linux would only benefit - incredibly - from a .NET like solution.
      • Re:Um, no. (Score:5, Insightful)

        by cerberusss ( 660701 ) on Friday March 12, 2004 @01:02AM (#8540057) Journal
        I really wish that Linux had a stable .NET equivelent (sp?) - cause then I could completely abandon Windows at home.

        Why don't you use Java?

      • Re:Um, no. (Score:5, Funny)

        by Brandybuck ( 704397 ) on Friday March 12, 2004 @01:08AM (#8540106) Homepage Journal
        .NET has trippled my productivity (on the Windows platform)

        Anything other than MFC would triple your productivity.
      • Comment removed (Score:4, Insightful)

        by account_deleted ( 4530225 ) on Friday March 12, 2004 @01:21AM (#8540199)
        Comment removed based on user account deletion
      • hey look (Score:4, Funny)

        by pyrrho ( 167252 ) on Friday March 12, 2004 @06:23AM (#8541592) Journal
        I can write a web server in bash in one line! AND it installs itself.

        apt-get install apache

        verily... bash has gazillionized my productivity... it used to take me over six months to write a decent web server.
    • Re:Um, no. (Score:5, Informative)

      by miguel ( 7116 ) on Friday March 12, 2004 @12:38AM (#8539874) Homepage
      System.Windows.Forms is not part of the Mono 1.0
      release as you well point out.

      But Gtk# 1.0 is part of the Mono 1.0 release, and
      unlike Windows.Forms it is very mature and stable.

      Love,
      Miguel
  • MonoDevelop IDE (Score:5, Interesting)

    by gmajor ( 514414 ) on Friday March 12, 2004 @12:29AM (#8539791) Journal
    Doesn't the Monodevelop IDE look suspiciously like Eclipse [eclipse.org]?
  • by Black Art ( 3335 ) on Friday March 12, 2004 @12:30AM (#8539800)
    Are we supposed to clap?
  • C lives (Score:3, Insightful)

    by Anonymous Coward on Friday March 12, 2004 @12:31AM (#8539805)
    There will still be times for the necessity of optimizing for something for which the .NET JIT compiler will not be sufficient.

    Also, .NET is much like Java, and C hasn't died from the adoption of Java.

  • Exploits (Score:3, Funny)

    by bored1 ( 758098 ) on Friday March 12, 2004 @12:31AM (#8539812)
    Great, now users will be stuck fixing Windows and Linux exploits while using Mono
  • by fatboy ( 6851 ) * on Friday March 12, 2004 @12:33AM (#8539831)
    .....at their own game.

    You can't a better .NET than .NET

    Anyone remember "a better Windows" than Windows called OS/2?
  • by capz loc ( 752940 ) <capzloc.gmail@com> on Friday March 12, 2004 @12:33AM (#8539835)
    One of the problems I have with Mono is that it reimplements Microsoft's .NET framework instead of relying on its own. I understand that it is a lot of work to create such an integrated development platform from scratch, but I feel that the benefits of having a truly open/free/whatever solution will far outweigh the extra time that it would take. I am not a programmer, so I don't know much about the intricacies of .NET, but I can't possibly imagine that it is perfect in every way and that nobody can think of things that could be added/changed in it.
  • hey... (Score:3, Funny)

    by Tumbleweed ( 3706 ) * on Friday March 12, 2004 @12:34AM (#8539837)
    C is dead. Wow. Heyyy, isn't *BSD written in C? Hmmm...
  • by Operating Thetan ( 754308 ) on Friday March 12, 2004 @12:34AM (#8539851) Journal
    It seems we get 5 articles a week explaining how Linux isn't ready for the desktop. How can Mono take over something that experts assure us doesn't exist?
  • by Spicerun ( 551375 ) <spicerun@@@gmail...com> on Friday March 12, 2004 @12:36AM (#8539859)

    As it is, I don't want to even attempt to emulate another 'grand MS idea'...especially since there are already superior non-MS systems out there that puts .net to shame. No, I'm not going to cite those systems...do your own research. You'd be surprised.

    Die Mono Die!

  • by WombatControl ( 74685 ) on Friday March 12, 2004 @12:36AM (#8539861)

    I've been playing around with the Mono implementation of C#, and it's pretty good. It's not quite as good at RAD tasks as Python, but it has some advantages, and the syntax is much easier to play with than C or Java (but again, not quite as easy as Python, but I'm biased in that regard).

    However, Mono suffers from the fact that they're trying to play follow the leader by following Microsoft's implementation rather than creating a system of libraries from scratch. Microsoft has a history of pulling the old "embrace and extend" trick, and I fear something similar may happen here.

    My guess is that Microsoft will significantly alter the .NET APIs for Longhorn, leaving Mono behind with older legacy libraries that are no longer interoperable with the Microsoft compiler and the rest of the Windows-using world. Needless to say, that would be bad for the Mono team.

    Still, if Mono can remain independent, it could very well have a bright future. The Mono team has done a great job of implementing most of the 1.0 .NET API, and the mcs compiler is pretty fast. The GTK bindings are quite nice for such an early release.

    Still, the cognitive dissonance of compiling a Linux program and getting a file with an .exe extension is rather difficult...

  • by konmaskisin ( 213498 ) on Friday March 12, 2004 @12:39AM (#8539902) Journal
    1) Rave about C#
    2) Convert everything to run on Mono C# .Net
    3) Get sued bad by the world's most deep pocketed software publisher except that unlike SCO vs. Linux this time the evidence is on the side of plaintif.

    • by Valar ( 167606 ) on Friday March 12, 2004 @12:59AM (#8540034)
      How?

      MS has given everyone license to implement every part of C# and .NET except for the Microsoft namespace of the class library. They have given up their right to sue people who use .NET or make .NET compatible implementations. The evidence isn't on their side.

      Hint: ECMA.
  • Parrot/Perl6 (Score:5, Interesting)

    by Freedom Bug ( 86180 ) on Friday March 12, 2004 @12:42AM (#8539920) Homepage
    IMO, I think Parrot will become the .NET equivalent in the open source world: a language independent VM and a huge standard library. I can't wait to have access to CPAN from my Python programs.

    Sure, C# is a lot nicer than C, but Python & Ruby are a lot nicer than C#. If you're going to give up the predictability of C/C++ for a VM, garbage collection, et cetera, why not go all the way up to dynamic execution?

    Bryan
    • Re:Parrot/Perl6 (Score:4, Interesting)

      by bcrowell ( 177657 ) on Friday March 12, 2004 @01:38AM (#8540310) Homepage
      Parrot has at least two big things going for it:
      1. It's fast. It was designed from the beginning to be fast. They're not leaving the optimization for later -- the early releases are already super fast. IIRC, some languages compiled into Parrot are already faster than their previous implementations.
      2. It's immune to the kind of MS mischief that .NET will undoubtedly have to struggle with.
  • Give me a break (Score:4, Interesting)

    by Anonymous Coward on Friday March 12, 2004 @12:47AM (#8539956)
    C is dead? What is he smoking. It's going to be around for a long long time. Will enterprise apps be developed with C, sure it will. Will C# get used for "enterprise apps". Well smallish non-transactional, horizontally scalable apps sure. .NET is still lacking when it comes to a proven, robust messaging server and transaction monitor. Don't say COM+, unless you've actually taken time to read the full disclosures hosted on http://www.tpc.org/. Stock COM+ transaction API is ok, if you want to handle update/commits in an async fashion. But don't expect it to be scalable in a massive or medium sized trading system. It will get better with Whidbey, Indigo and Longhorn, but there's still a ton of problems with Windows at the kernel level that keep it from scaling well for hardcore backend applications.

    don't bother mentioning .NET community sites that host on .NET or Match.com. Those aren't transaction heavy or trading systems. Glorified webpages that serve up database tables are simple. A decent developer can build it. Building a transaction application that can handle 500-1000 moderately complex transactions (update/insert) per second is hard. .NET can't handle it, or atleast I all the cases I've heard of in the financial industry failed miserably. If you're in this industry you already know. If you're not, you're probably saying "what bs, .net can scale just as well."

    Yeah, try to build one in .NET and tell me how many servers you're going to need. then tell me how you would run real-time analytics on all the rows in a given table when you've partitioned the table across 8 machines and each has 8 million rows. When the CTO says, the query has to take less than 30 seconds, what will your answer be?

  • by Bodhammer ( 559311 ) on Friday March 12, 2004 @12:51AM (#8539978)
    From Infectious Mononucleosis [kidshealth.org]

    1) When people think of ..., or "mono," they often think of extreme tiredness as one of the major symptoms associated with this illness.

    Ditto

    2) Loss of appetite and generalized weakness also may be present, especially in adolescents. Nausea, hepatitis, jaundice, severe headache, stiffness, chest pain, and difficulty breathing can occur in some cases. A pink rash can occur all over the body in children who have been treated with ampicillin or amoxicillin.

    ditto again!

    3) Some may experience extreme fatigue, staying in bed for more than a week because they feel too weak even to walk around the house.

    We're three for three (esp. after a failed Windows update session...)

    4) 'Mono' is generally a self-limiting disease, which means it goes away on its own in most cases. Occasionally mono can cause complications

    Need I say more...

    5) Epidemic outbreaks in hospitals and workplaces have occurred.

    ` My biggest fear! Remember kids - practice safe computing!

  • Why Mono Will Fail (Score:5, Insightful)

    by cryptoluddite ( 658517 ) on Friday March 12, 2004 @12:56AM (#8540014)
    There is almost no difference between C#/Mono/.NET and Java, but almost no Linux developers write in Java. Check out your distribution's packages and you'll almost see more JVMs than Java apps. And for some reason Linux developers avoid Java like the plague, even though it's got a godzillion features that make everything so much easier (garbage collection, huge consistent class library, security, etc). Put in a GTK or QT library interface instead of the slow and huge Swing (that Smalltalkers foisted on Java) and you're golden -- there's every reason to use Java, especially for applications.

    The Linux culture has so far prevented Linux from taking the next step. Just look the (essentially) complete lack of interest in gcj (gcc open-source java). Just look at the slow pace of Mono. It isn't goind to happen anytime soon, unless the Linux app community wakes up and sees the future. Yeah, 10 years from now we'll still be doing manual memory management. Sure...
    • by primus_sucks ( 565583 ) on Friday March 12, 2004 @01:09AM (#8540118)
      Put in a GTK or QT library interface instead of the slow and huge Swing (that Smalltalkers foisted on Java) and you're golden -- there's every reason to use Java, especially for applications.

      SWT [eclipse.org] is a crossplatform UI toolkit that feels like a native app, unlike Swing. In Linux it's just a wrapper over GTK or Motif.
    • by LarsWestergren ( 9033 ) on Friday March 12, 2004 @03:42AM (#8540946) Homepage Journal
      There is almost no difference between C#/Mono/.NET and Java, but almost no Linux developers write in Java.

      Not quite true. Current Sourceforge statistics by language:
      1. C++ (12967 projects)
      2. C (12955 projects)
      3. Java (11446 projects)
      4. PHP (8607 projects)
      5. Perl (5388 projects)

      There is a vocal group of Java haters on Slashdot.

      There is a bigger group who is a bit wary because even though the Java Community Project exist and IBM and others are allowed to develop their own implementations, the licence is not GPL and Sun could screw things up if they turn evil or desperate.

      Check out your distribution's packages and you'll almost see more JVMs than Java apps.

      Yes, because lincence restrictions prevent them from including Suns java. The open source packages are not mature enough to run all apps, so it's pointless to include those apps. The open source implementations of the VM are impressive, but the java standard is developing too quickly for them to keep up porting all libraries. Just like .Net will evolve too quickly for Mono to keep up. Only in that case it is guaranteed MS will deliberatly include things that will break Mono.

      there's every reason to use Java, especially for applications.

      Yes, and I believe a huge reason for the upswing of Linux in businesses is the great combination of Linux and Java.

      Do NOT help Microsoft kill off Java with their .Net clone, when they are done with that they can concentrate on the single remaining target.
  • by Dr. Sp0ng ( 24354 ) <mspongNO@SPAMgmail.com> on Friday March 12, 2004 @12:56AM (#8540015) Homepage
    ... to attack Microsoft on the .NET front. We have all the components of a powerful, truly cross-platform development platform; they just need to be packaged in a way which can compete with the cohesive API that is .NET.

    Now, I'm not trying to start a flamewar here, so I'm not going to insist on specifics here, but what needs to be done is to create essentially a "distribution" of a powerful language (I'd use Python), a good cross-platform widget set (I'd use Qt, were it not for the license issues - personally I don't blame Trolltech for the licensing scheme, as $2500 is chump change to any real development house anyway, but in this case it would hinder adoption. Maybe wxWidgets then, or GTK+ configured in a way to appear like native widgets, but gah, GTK+ is such a hideous API), a selection of useful Python (or whatever) modules, and so on.

    Like I said, this is nothing that didn't exist before, but it should be packaged in such a way as to provide a standardized environment on every platform that applications can rely on. Come to think of it, rather than use a specific language like Python, maybe the whole thing should just be wrapped around Parrot.

    Anyway, the specifics don't matter. It's the idea of having a good competitor to .NET with a standardized set of support stuff on each platform, with a single installer to support the entire shebang. Why can't this be done? If I had the time, I would, but I don't. But if there was one place the open source community can take on Microsoft, it's development tools. And the time to do it is before .NET gets too entrenched.
  • by Bowie J. Poag ( 16898 ) on Friday March 12, 2004 @01:07AM (#8540098) Homepage


    Hmm.

    The initiative it takes to back-engineer the .Net frame work, while admirable, is a wee bit misguided, i'd say. You have to understand what's really at play here.

    The whole idea of chasing after a proprietary standard like .Net (and treating the development process like some open source cat-and-mouse game) is pointless. It accomplishes nothing but an at-best "acceptable" knock-off.

    If Microsoft doesn't want the .Net framework available on other platforms, they're not going to make it available. Then on the other hand, if they find it's to their benefit to do so, they will make it available. It's as simple as that. Suppose you actually make it to the point where you have an equivalent framework to offer. Surprise, Microsoft releases .Net for Unix, and the entire effort is null and void. Your pride and joy is now a footnote, and a deprecated one at that. Realistically, how many people are going to feel sorry for someone who's stance reads, "Damn those fuckers in Redmond for making their framework available in Unix!" ?

    Unfortunately, Miguel seems to have a fairly long track record with this sort of Microsoft-chasing. You can run along and play catch-up all you like with other technologies, but, it'll be just like it is with Gnome ---- With Gnome, you're guaranteed nothing better than a perpetual second place finish. Gnome amounts to a Windows wanna-be, instead of a Windows-killer, when it didn't have to be that way. Miguel made it that way.

    Look...If you HAVE the talent to do something better, for God's sake, do it. Don't waste your time (and other peoples time) churning out flea market knock-offs of worthwhile products. I'm certainly no fan of Microsoft..I just call it like I see it. .Net needs not the taint of open-source muckery.

    • by Chuck Chunder ( 21021 ) on Friday March 12, 2004 @02:05AM (#8540451) Journal
      Surprise, Microsoft releases .Net for Unix, and the entire effort is null and void. Your pride and joy is now a footnote, and a deprecated one at that.
      Sun produces Java [sun.com] for a whole bunch of platforms. So does IBM [ibm.com].
      Intel [intel.com] have a C compilers on a bunch of platforms. So does GNU [gnu.org] (and Sun, and Microsoft).

      Software doesn't suddenly become useless simply because another vendor releases a competing implentation on the same platform. If MS do release a .NET implementation for Linux then mono will still be valuable. Licencing terms will obviously be one area they compete on. No doubt there will be others.
  • C is dead (Score:5, Funny)

    by corian ( 34925 ) on Friday March 12, 2004 @01:20AM (#8540188)
    Great! Now there's only 25 letters I have to teach my kids.
  • Enthusiasm (Score:5, Funny)

    by Brandybuck ( 704397 ) on Friday March 12, 2004 @01:24AM (#8540213) Homepage Journal
    So far, there's a surprising enthusiasm for Mono and C#

    Latebreaking news flash! A reporter attends a Mono lovefest and discovers that the attendees are having a lovefest!
  • by Captain Irreverence ( 761516 ) on Friday March 12, 2004 @01:27AM (#8540235)
    Mono is a DotNet wannabe.
    DotNet, of course, is a Java wannabe.

    Why not just use Java? Oh, that's right:

    Microsoft - Duplicates anything they don't own and control

    Open Source Movement - Duplicates anything someone else owns and controls
  • by Anonymous Coward on Friday March 12, 2004 @01:31AM (#8540267)
    If I need to write a daemon that handles 250,000 hits/hr, I write it in C. Hands down, C is the only language I know where I can control memory and CPU usage. The only language where I can predict what will happen with some accuracy. If I write a program in Python or Java or whatever, it starts consuming RAM, it starts context switching at the wrong times, etc. On a recent Python project I had to actually go into the Python memory allocator (written in C) and do some hacking, because it didn't work right for my project. So obviously C is well and alive.

    If I need to write a quick script, but make sure it's clear enough to understand next week, I use Ruby. A lovely, well-designed language. Why bother with compiling and linking? Go dynamic.

    If I want to use an awesome development environment, I use Mac OS X. Aside: sometimes I wonder if people who rave about the latest scripting language or the latest Windows dev tool, have ever actually *used* NeXTSTEP/Cocoa! It's still light-years ahead of what most people use. Look how many examples in the Gang of Four patterns book come from NeXTSTEP!

    And, if I need to write a .NET program on Windows, I ... USE WINDOWS! Maybe I'll "play" with Mono, but at the end of the day the only reason I'd use Mono is for Windows interop. Not to replace Windows.

    C# is a nice improvement on Java. Which isn't hard to do.

    Like a lot of folks I look at Mono and I just don't get the point of it. It's Microsoft's technology, it's always going to be playing catch-up... to a mediocre environment.

    Give me .NET's dev tools and IDE for Ruby, then I'll get excited.
  • Mono? (Score:4, Funny)

    by RoadkillBunny ( 662203 ) <roadkillbunny@msn.com> on Friday March 12, 2004 @01:34AM (#8540287)
    What does Mono stand for? I heard it stands for 'Microsoft, Oh No'
  • Danger! (Score:5, Insightful)

    by dmiller ( 581 ) <djm AT mindrot DOT org> on Friday March 12, 2004 @01:36AM (#8540297) Homepage

    I respect Miguel, but I think he seriously underestimates the risk posed by MSFT's patents in this area. Quoth the article:

    Microsoft has granted a license to use this technology under so-called "reasonable and non-discriminatory" terms.

    "Reasonable and non-discriminatory" (RAND) does not imply "free". RAND was the proposed licensing requirement for W3C patents that was howled down by the community.

    Given that MSFT is willing to finance SCO to use arguably illegal tactics to destabilise and discredit free software, who would expect that they are above enforcing a small fee for every patent needed to implement Mono? They needn't do this immediately, in fact it is in their interest to wait until the technology is widely adopted, so they can slug everyone at the same time. Note that the usual legal defences against "submarine patents" won't work either if the terms have been disclosed to be RAND all along.

    • Re:Danger! (Score:5, Informative)

      by hayden ( 9724 ) on Friday March 12, 2004 @02:34AM (#8540582)
      "Reasonable and non-discriminatory" (RAND) does not imply "free".
      RAND licencing usually means reasonable and non-discriminatory" for business. What MS can (and probably will) do if Mono gets any traction is say, "We'll licence the right to use all these patents for 10 cents per install". Perfectly reasonable. Perfectly non-discriminatory. Kills any open source implementation dead.

      Game over.

  • by 1in10 ( 250285 ) on Friday March 12, 2004 @04:05AM (#8541046)
    Miguel said, "C is dead", sure.

    But how about some context. This is what he actually says: "To me C is dead. Except for the JIT!" (emphasis mine).

    He's not saying C is gone, that nobody is going to use it anymore. He's saying that he's not using it anymore, except to write the JIT compiler for mono.

    So the quote is accurate, but the meaning is completely changed once you put it into context!

Math is like love -- a simple idea but it can get complicated. -- R. Drabek

Working...