Slashdot Mirror


Mono Poises to Take Over the Linux Desktop

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

6 of 925 comments (clear)

  1. Um, no. by ivern76 · · Score: 5, Informative

    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.

  2. Platform Independence by WombatControl · · Score: 5, Informative

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

  3. Re:.NET by nemiak · · Score: 5, Informative

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

  4. Re:.NET by Anonymous Coward · · Score: 5, Informative
    man, sometimes i don't even know why i look at the discussions of programing and scripting languages. I hardly ever know what people are talking about.

    C# This is essentially Microsoft's new version of the C programing language. Java Sun Microsystem's cross-platform programming language. VB Visual Basic. Microsoft's language for Rapid Application Development. C++ Popular extension to C which adds support for Object Oriented Programming. Struct A concept used to group variables together. You can refer to the whole group of variables using a single name. Class A struct on steroids. Not only does it group variables together, but it also groups functionality with the variables. Reference type A variable that points to the real data. You can have many reference variables that all point to the same data. Value type A variable that is the real data. Boxing The process of taking a reference type and converting it to a value type. Unboxing The process of taking a value type and converting it to a reference type. Operator overloading Redefining what an operator does. For example, if the equal sign in the following code assigns the value 2 to the varialbe a,

    a = 2;

    Operator overloading could redefine the equal sign to mean something else (such as compare if a equals 2).

    Property You can think of this as a wrapper around a variable. When the variable is accessed, you can do some automated processing before returning (or storing) the value. In code, you can treat a property just like a variable.
  5. Re:Danger! by hayden · · Score: 5, Informative
    "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.

    --
    Nerd: Derogatory term typically directed at anybody with a lower Slashdot ID than you.
  6. Out of Context by superyooser · · Score: 5, Informative
    The submitter quoted Miguel out of context. Miguel said:
    " To me C is dead." (emphasis mine)

    I take that to mean, "As far as the world of Mono/.Net goes, C is dead."