Slashdot Mirror


De Icaza Responds on Mono and GNOME

miguel writes: "Here is my reply to the various questions on Mono, the future of GNOME and the Register statements." Linux Today has a copy of the email as well.

66 of 594 comments (clear)

  1. The crux of his argument by Anonymous Coward · · Score: 5, Insightful

    GNOME had always tried to have a good support for multiple programming languages, because we realize that no matter how much we loved C as a programming language, there was a large crowd of people out there that would like to use the GNOME libraries fromtheir favorite programming language, which might not necessarily be C.

    This is the reason having Mono at the heart of Gnome would be a good idea. Base it on the CLI and suddenly any language that is ".Net-enabled" is usable under Gnome.

    It's about choice. Isn't that what Open Source is all about?

    1. Re:The crux of his argument by entrox · · Score: 5, Insightful

      Don't get too excited about this "any .NET enabled language" being able to drive GNOME. If you think about it, the number of possible languages is pretty dim (mostly C#). Why that? Because .NET must handle common interfaces across those languages. If I use a more exotic language with features not found in others (like multiple dispatch, funky lambda-lists or closures in Common Lisp) I don't think I'll be able to export Interfaces using these features. As those happen to be 'natural' to these languages, I'd have to limit myself in how I can write my applications/libraries.

      .NET is far from being the perfect solution.

      --
      -- The plural of 'anecdote' is not 'data'.
    2. Re:The crux of his argument by miguel · · Score: 5, Informative

      You do raise an interesting point. Some features are not available to all languages (for example, a LISP closure definition).

      But there is a large subset that is. This subset is encapsulated in the Common Language Specification (CLS) which differentiates between:

      * Consumer languages.
      * Provider languages.
      * Consumer/Provider languages.

      You can find the details here:

      here

      Miguel

    3. Re:The crux of his argument by plague3106 · · Score: 5, Insightful

      Which was exactly why MS 'broke' VB6. Some parts of the language needed overhaul to be CLS compliant. I imagine other languages will need the same kind of overhaul. And that might not be such a bad thing. VB is a much cleaner and nicer language thanks to the overhaul (although there are still things i don't like, and i would still stick with C).

    4. Re:The crux of his argument by smack.addict · · Score: 3, Insightful
      Nevertheless, we already have this--the Java VM and Java language specification. Many languages now compile to Java byte code and can be written to use Java libraries.


      It turns out doing this is really hard. The CLS does nothing new. It is just the way Microsoft is marketing it. In the end, it is not really a good thing for anyone but operating systems developers... most companies do not like a proliferation of languages running around anyways and the migration to a new language is fairly painful.

    5. Re:The crux of his argument by jmccay · · Score: 3, Informative

      The CIL idea is not new. If I remember correctly is used in Borkands C++ Builder & Delphi to some extent. C++ Builder compilers down to the same thing as Delphi and if I remember correctly they use the same linker. It has been a long time since I was delving into the depths of C++ Builder, but I do vaguely remember the common compilation. You can use Delphi Components in C++ Builder, and this is why. The only difference is that Borland never made this a big marketing issue.
      If they haven't sold it, Microsoft used to, and probably still does, own a chunk of Borland (as reported here on 6/8/99). From the press release linked to in the slashdot article, "... announced the completion of a set of strategic technology and licensing agreements that will be the foundation for a long-term alliance between the two companies", and "... $25 million purchase by Microsoft of shares of Inprise [what Borland was called for a while] preferred stock". I beleive this is where they got this ideas behind CIL and combined it with the Java virtual Machine model.

      --
      At the next eco-hypocrisy-meeting, count the private jets used to get to the meeting. Should be interesting to see that
    6. Re:The crux of his argument by jmccay · · Score: 3, Interesting

      I would like to further add that CIL (Common Intermediate Language) is one of the few aspects of the .NET ( and Borland C++ Build and Delphi) that I actually like. This simple idea could increase productivity exponentially on all projects, especially open source projects, if all compilers produced CIL code with meta data and packaged other programs to extract the needed informaiton to use the code segment/component in any particular langauge. For example, if Borland C++ build came with a program to generate the headers needed to use any CIL code produced by anybody.
      The time wasted on learning new languages just to work with a given project would be removed. That time could then be refocused on newer sections of the code. Granted you would have to learn the a new language if you want to look at the actual code, but it wouldn't be necessary.
      The strengths of various languages could easily be combined. You could write various code segments in the language tjat was best suited for the task, and then use that code in all the other languages you program in with very little effort and fuss.
      This technology could be improved by adding a layer to compile the CIL code down to native machine code (even if the whole process ends up being CIL Compiler - Native Byte Code Compile - Linker - final native executable). Imagine being able to use portions of the KDE or GNome libraries interchangeably! You could utilize the work of both group and make interoperable components easier without worry about what language it was compiled in. The efforts of both groups could be combine easier and avoid the divided efforts that current exist.
      In short this is one of the next step in Soft Engineering/Programming (along with Apest Orient Programming). This code help change the focus of programming/software engineer away from language specific programming to generic concept programming and thinking.

      --
      At the next eco-hypocrisy-meeting, count the private jets used to get to the meeting. Should be interesting to see that
  2. Programmer's Life by XPulga · · Score: 4, Funny
    Really, programmer's lives are boring, I wish my life would be as exciting as other people's life appear to be.

    Wrong. Programmer's lives are exciting, as long as you like Computer Science and enjoy tweaking with the little bits, discovering new things. Now, if Miguel started writing Unix software thinking he would be rich, surrounded by girls and driving Romero's Ferrari, he's far beyond dumbness.

    1. Re:Programmer's Life by miguel · · Score: 5, Insightful

      I guess you miss-understood.

      Writing about a programmer's life is pretty boring. The programmer might be enjoying himself, but to an external viewer he is only tapping at a keyboard.

      miguel.

  3. Good response... by Nijika · · Score: 5, Insightful
    Sorry, but RMS tends to fly off the handle any time he even gets a whiff of something non GNU. So do we all here it seems. I'm tired of hearing it from the community because it's starting to hold us back.

    Miguel has made many positive arguments for his prior statments. And thanks to the Register for obfuscating the variables.

    --
    Luck favors the prepared, darling.
    1. Re:Good response... by reemul · · Score: 4, Funny

      The guy demanded a response, as if De Icaza was somehow obligated to jump when RMS said frog. He might, just might, try asking for more information and then taking time to frame a rational response instead of treating somebody else as a lackey who needed to come explain himself to the master. Stallman's good ideas and tireless campaigning for what he believes to be right get ignored because he comes across too often as a freak and a prick.

      Some of the donations and grants the FSF brings in need to go to a good *publicist*, instead of more coders and lawyers. Like it or not, RMS is a poster child for the Open Source and Free Software movements, but he needs some serious help with his image before all those shiny folks in suits who make IT purchasing decisions will even pay attention to him, or anyone associated with him. A good souless weasel PR guy will keep RMS from making kneejerk responses that piss off folks who might otherwise go along with him, and it will free Stallman's time up for more of the things he does do well. Everyone wins - the pointy haired bosses can interact with the brighty colored and non-threatening Stallman Interface, and the real geeks can get work done with the Command Line RMS.

      -reemul

      --
      You're just jealous 'cuz the voices talk to *me*
    2. Re:Good response... by JabberWokky · · Score: 3, Informative
      rms starts sounding like he's on a private witch hunt for miguel unless miguel repents his sins

      Here are RMS's actual quotes:

      "I can't believe it's Gnome you're talking about but if it is, I wouldn't like that,"

      "I didn't know he was doing that, I find that very hard to believe,"

      "We would like him to come to the free software community and explain himself to us about it."

      Where exactly is the witch hunt? Where is the talk of 'sins'? Or the need to 'repent'? If anything, he says: "Um... I didn't know that. Are you sure? Well, I'd like to hear it from him before I comment on the matter".

      BRUTAL words from him - an utterly horrible position, eh?

      --
      Evan

      --
      "$30 for the One True Ring. $10 each additional ring!" -- JRR "Bob" Tolkien
  4. Great reply, but... by mjh · · Score: 5, Insightful
    Reading Miguel's response makes me better understand why it is that he's so enthusiastic about the .NET framework (as he calls it).

    One thing though. Miguel says:

    So when you copy your binary from Windows that was compiled with the Visual Studio.NET and run it on your Unix platform, it will just integrate nicely with your GNOME desktop.

    This just strikes me as overly hopeful optimism to think that Microsoft is going to give up their hard fought and long defeneded applications barrier to entry.

    --
    Key to financial independence: Spend less than you earn. Save and invest the difference. Do it for a long time.
    1. Re:Great reply, but... by Glock27 · · Score: 5, Interesting
      This just strikes me as overly hopeful optimism to think that Microsoft is going to give up their hard fought and long defeneded applications barrier to entry.

      Yes, this is a key area where I think de Icaza has a problem. He's clearly planning on implementing Winforms (I checked on the Mono site) and those are not part of the ECMA C#/CLI/CLR spec. Microsoft will not permit those classes to be cloned - its already dropped strong hints about it.

      An interesting thing to do would be to write a Java compiler (backend) for the CLR, and try to implement Swing or Eclipse in a Gnome environment...hmmmm. Of course, on the other hand I can just use one of the excellent Java runtimes for Linux, and get better performance. I can still use other languages through JNI (and DirectIO in JDK 1.4).

      All that said though, competition is good. Perhaps .Net and Mono will do more to spur Sun to refine Java significantly further.

      299,792,458 m/s...not just a good idea, its the law!

      --
      Galileo: "The Earth revolves around the Sun!"
      Score: -1 100% Flamebait
    2. Re:Great reply, but... by Glock27 · · Score: 3, Interesting
      You say that mIcrosoft has dropped hints that it will not permit cloning of the Winforms classes. Can you be specific?

      What is it that Microsoft has said/done to create this impression?

      As I recall there was an article on news.com that quoted the President of ECMA as saying there were not and could not be licensing fees for ECMA standards, while Microsoft seemed to be saying there were elsewhere in the article. I couldn't find that exact article, but this one seems to cover most of the issues. Note that WinForms is absolutely not part of the ECMA standard. Also note that in this article Microsoft says clearly that there may be license issues between their software (even the ECMA standard) and Free Software licenses.

      One especially pertinent snippet from the article:

      "Part of the ECMA (standardization process) provides a forum for us to license the intellectual property you will need to have to implement the standard," Goodhew [a Microsoft product manager] said. "It's up to the implementers to make sure whatever license they choose to use is compatible with the ECMA licensing terms."

      I hope de Icaza has looked over the "ECMA licensing terms" very, very carefully. They don't cover the GUI functionality regardless.

      299,792,458 m/s...not just a good idea, its the law!

      --
      Galileo: "The Earth revolves around the Sun!"
      Score: -1 100% Flamebait
  5. Alan Cox Says It Best by Gryphon · · Score: 5, Interesting

    Miguel:
    > or ourselves. I want to be as compatible as
    > possible with the APIs that were published by
    > Microsoft.

    Alan:
    Be assured that the day they decide you are a nuisance the VM will acquire a patented neat feature that kills you off. Just ask the Samba people.

    (from Alan's reply to Miguel's message)

    1. Re:Alan Cox Says It Best by sab39 · · Score: 5, Informative

      Miguel himself responded to this point:

      "There is the issue that we might not be able to keep up (right
      now, we dont, as .NET Framework 1.0 is already out there, and we
      are, well still underway). Also, theoretically there is the risk
      of a given API being unimplementable on Unix.

      Even if that is the case, we still win, because we would get
      this nice programming environment, that althought might not end up
      being 100% .NET Framework compatible, it would still be an
      improvement and would still help us move forward. So we can reuse
      all the research and development done by Microsoft on these ideas,
      and use as much as we can."

      This applies just as much to being intentionally broken by Microsoft as it does to them simply outpacing Mono's development.

    2. Re:Alan Cox Says It Best by blakestah · · Score: 4, Redundant

      Microsoft will HAVE to publish APIs etc. for patented features. How else can they get a patent? The whole point behind a patent is that you are granted a 100% legal monopoly for your product IN EXCHANGE for your full disclosure of your product.

      Unfortunately, this is the future of proprietary software. Look around at any developing area.

      Microsoft has patented the second generation Windows Media Format codecs. Real had patented its codecs. Apple holds exclusive licensing for Sorenson codecs used in Quicktime. So if you want to make or decode a decent video codec, you have to license a patent.

      SAMBA is now also encumbered with patents with respect to user authentication. The next generation of Windows will contain this authentication, and the SAMBA team will be unable to make a functional work-alike. Too bad, that is the law.

      Unless the Microsoft settlement has something to say about open licensing of patented formats, codecs, and authentication, making software to duplicate new Windows functionality, or providing file or print servers for Windows machines, will become impossible without licensing from Microsoft. You can expect that authentication of users under .NET will use patented protocols, and that they will similarly use other patented protocols into other inter-machine communication APIs. After all, there are a lot of ways to skin a cat; this is one way to keep free software out of Microsoft-monopolized areas.

  6. Those who fail to learn from history... by zhobson · · Score: 3, Flamebait
    ..are doomed to repeat it.

    Over and over again, Miguel De Icaza has displayed the same sort of breathless excitement over Microsoft technologies that I'd expect to see from a newbie, not a developer of his caliber. It's extraordinarily short-sighted for him to believe that he'll be able to keep up with Microsoft. This isn't a matter of talent. Microsoft has shown, time and time again, that it has no problem locking out other vendors using API changes and whatever other means available.

    Miguel seems to be ignoring the fact that Microsoft will very likely do everything it can to keep Mono uselessly lagging. They've embraced and extended every technology they've adopted, and even their own APIs shift constantly. I realize that the .NET Framework looks like a different approach, and Microsoft is acting like it's going to start playing nice. If it happens, it'd be a first for Microsoft. I personally have my doubts, and history backs me up. What a shame that a talented developer like Miguel doesn't know better than to trust them.

    -zack

    1. Re:Those who fail to learn from history... by Malc · · Score: 4, Informative

      I think he does realise it. He pointed out that even if it isn't compatible, he'll still end up with a better development environment, at the expense of MSFT's R&D department.

      To quote:

      * What if we never can keep up?

      There is the issue that we might not be able to keep up (right
      now, we dont, as .NET Framework 1.0 is already out there, and we
      are, well still underway). Also, theoretically there is the risk
      of a given API being unimplementable on Unix.

      Even if that is the case, we still win, because we would get
      this nice programming environment, that althought might not end up
      being 100% .NET Framework compatible, it would still be an
      improvement and would still help us move forward. So we can reuse
      all the research and development done by Microsoft on these ideas,
      and use as much as we can.

  7. I hate to be a dick, but. by sinserve · · Score: 5, Interesting

    There is a point in your life when you realize that you have written enough destructors, and have spent enough time tracking down a memory leak, and you have spend enough time tracking down memory corruption, and you have spent enough time using low-level insecure functions, and you have implemented way too many linked lists [1]

    Last time I felt that way, I dicovered Lisp. Java also fits the bill (and so does C++ with STL, BOOST and ACE.

    1. Re:I hate to be a dick, but. by tommck · · Score: 3, Insightful
      Yeah... that one really irked me. I'm older than Miguel is, and (shrugs his asbestos suit on...) I think this remark just demonstrates a serious lack of proper experience with C++.

      T

      --
      ---- It puts the lotion on its skin or else it gets the hose again. It does this whenever it's told.
    2. Re:I hate to be a dick, but. by tommck · · Score: 3, Insightful
      I understand (and anticipated) that people would think this is Flamebait, but being older than he is, and having clearly more experience in C++ than he does, I do not have problems with low-level calls or memory leaks or any of the things that he insuates are problems of an archaic language.

      Running into those problems frequently is only a sign of poor design and poor coding, not a language flaw.

      T

      --
      ---- It puts the lotion on its skin or else it gets the hose again. It does this whenever it's told.
    3. Re:I hate to be a dick, but. by jonabbey · · Score: 5, Informative

      Of course, with Mono you get all that neat stuff while still being able to code in _whatever_ language(s) you want and have it work transparently and consistently.

      Whatever language you like so long as its semantics and runtime behavior have been massaged to work with the CLR.

      Really, the CLI/CLR is just like the Jave byte codes and JVM, except that CLR's is a bit less strict about security and in that the CLR's support for 'unmanaged' code allows for cleaner support of native machine code than does Java's JNI interface. It's a convenience thing, much as Visual C++'s helpful COM automation wizards are a convenience thing.

      The biggest difference between Java and the .NET framework is that Java's bytecodes and VM are a bit more paranoid about things like security, and that Java is designed with portability as a first order concern. .NET code will probably never be as portable as Java, precisely because it is designed to make it super easy to interface with operating system level code. Java is designed to make it a pain to use any code that isn't itself portable.

  8. CLR and so-called language independance by ChrisRijk · · Score: 5, Insightful

    Good article on this appeared today:
    One Runtime to Bind Them All

    Some quotes:

    The reality looks much darker instead. The CLR is not truly language-neutral, and it will ostensibly favor languages that look a lot like C#. Those not in this group will be severely bastardized, producing dialects which are really "C# with another syntax"; look at ISE's Eiffel# (or even Microsoft's own VB.NET and J#) for great examples. Programmers' choice will be limited to superficial features: whether to delimit their blocks with curly braces, Begin/End or parentheses. It's also worth notice that the CTS/CTS do not allow use of the full set of CLR features; for example, unsigned integers are supported by the CLR but not considered language-neutral, simply because many languages share Java's abomination for the signed/unsigned duality (this includes Microsoft's own VB) and there's no good solution for this issue.

    -cut-

    Playing with the .NET SDK, the cross-language support looks impressive, but the illusion holds true only until realizing that all languages in the mix are virtually identical. Microsoft has actually invented the concept of skinnable language: changing a language's most superficial aspects, and claiming the result to be a new language. There is only One True Language that is C#, and "skins" offered by Microsoft and third parties. Just like in GUIs, these skins will alter the system's look and feel, add a few features, but never compete with a fully new toolkit.

    1. Re:CLR and so-called language independance by frank_adrian314159 · · Score: 4, Insightful
      It's a sad thing that the JVM also sucks for non-Java-like languages. One of the points that they make is that languages like Lisp and Smalltalk suck on the CLR. However the same issues are present in the JVM (Kawa's bowdlerized Scheme implementation notwithstanding). And it's not like Sun hasn't been aware of this shortcoming either (With people like Guy Steele and Dick Gabriel on their research payroll, how could they not be aware?). If they had listened to people outside the Java community that wanted a better (read MORE UNIVERSAL) VM, they might had had a moral leg on which to stand.

      As it is, this stupid editorial is just a case of the pot calling the kettle black. The only problems that Sun should have with CLR is that (1) it's by Microsoft and (2) Microsoft did a better job at beating Sun at their own game. Not that I like the CLR any beter than the JVM - they both blow chunks for dynamically-typed languages and for languages having anything different from simple class-based objects, but this editorial is just brain-dead.

      --
      That is all.
    2. Re:CLR and so-called language independance by mikemulvaney · · Score: 4, Interesting
      As it is, this stupid editorial is just a case of the pot calling the kettle black.

      Yes, that's exactly what it is. I think you are misinterpreting the article. The author is trying to say that runtimes can only be optimized for one language, and that the .NET stuff will not be any better at running other languages than the JVM is.

      I don't know if that is true or not, but don't try to pretend this article is saying that the JVM is better in some way. The only problems that the author has with the CLR is that (1) it is by Microsoft, and (2) Microsoft is (according to the author) lying about the CLR's capabilities to be cross-langauge.

      -Mike

  9. Advantages of C# over Java by crush · · Score: 4, Interesting
    This is a nice clarification, but it makes at least one assertion that is a little questionable: what are the advantages of C# over Java? I asked this question yesterday and no-one responded. Here Miguel claims (in the What is Mono? section):

    Seasoned industry programmers will notice that the above is very much like Java and the Java VM. They are right, the above is just like Java.
    The CIL has one feature not found in Java though: it is byte code representation that is powerful enough to be used as a target for many languages: from C++, C, Fortran and Eiffel to Lisp and Haskell including things like Java, C#, JavaScript and Visual Basic in the mix.

    But this is surely misleading? It's true that this doesn't exist at present, but there's nothing in theory to stop it being implemented (isn't Java sufficiently "powerful" for this to be done?)

    If Java is capable of doing it, then why not work on making compilers for those languages to Java's bytecode instead of working with a new language?

    1. Re:Advantages of C# over Java by SteveX · · Score: 3, Flamebait

      Sun proved, when they sued Microsoft, that they don't want Java-the-language being used to generate code to run anywhere but inside Java-the-VM or have direct access to anything but the Java classes.

      Microsoft's extensions to Java were allowing Java code to directly instantiate and use COM objects; a really big part of .NET. The CLR is designed to give easy access to the underlying operating system (in a managed manner). Very different goals.

      If Sun would have been willing to allow Java to be used this way, then Microsoft would probably have stuck with Visual J++ and the Windows Java framework they were already working on, and we wouldn't have C# or .NET.

      - Steve

    2. Re:Advantages of C# over Java by seebs · · Score: 3, Insightful

      You're right. If Sun had wanted Microsoft to have complete control over a large and proprietary market segment of incompatible Java code, allowing them to blame Sun for incompatibilities introduced by Microsoft, they could have allowed this.

      I see no advantage in allowing standards to be suborned like this.

      --
      My blog: http://www.seebs.net/log/ --- My iPhone/iPad app: http://www.seebs.net/seebsfrac/
    3. Re:Advantages of C# over Java by bnenning · · Score: 5, Informative
      Sun proved, when they sued Microsoft, that they don't want Java-the-language being used to generate code to run anywhere but inside Java-the-VM or have direct access to anything but the Java classes.


      Not true at all. Look at Apple's Cocoa framework, which allows you to write native Mac OS X applications in Java. Sun has no problem with that, because Mac OS X also includes the 100% compatible pure Java envrionment. Sun sued Microsoft not because MS added features, but because they deliberately introduced incompatibilities in the core Java classes.

      --
      How to solve most of our problems: 1.Lots of nuclear plants. 2.Cure aging.
  10. Re:The moral of the story is... by tadas · · Score: 5, Funny
    ...that The Register is nothing more than the IT version of a British tabloid.

    Kinda like Slashdot...

    --
    This page accidentally left blank
  11. Patents still a showstopper by Straker+Skunk · · Score: 3, Informative

    That doesn't help much. If it has patented yet unlicensed technology, then it can't be legally used in countries where the patent is recognized.

    This is why free crypto software for a long time had an internal-RSA vs. external-RSAREF configuration switch for a long time, with the stipulation that RSAREF had to be used within the U.S.---as using internal RSA would leave you open to an infringement suit. (RSAREF was the only freely licensed implementation of RSA available, before the patent expired last year)

    --
    iSKUNK!
  12. Why CLR? by Eloquence · · Score: 5, Interesting
    I think it's clear that using common bytecode offers some advantages to developers, as outlined by Miguel. It also seems like CLR can offer performance advantages over Java since it basically just maps native API calls to functions in the .NET framework, much like wxWindows or anyGui do for GUIs. If the classes are properly documented, it should be possible to match their functionality on other operating systems.

    So what is Microsoft aiming for? Probably two things:

    - Kill Java. They need to kill it before it becomes too wide-spread. They have a really good shot at doing so given Java's performance problems [insert thousands of flames from Java developers here] and C#'s advanced features like better encapsulation (you don't need to call set() and get() methods, you can map them to the = operator, for example).

    - "Write once, run on Microsoft". In order to run .NET apps on another platform you would have to virtually re-implement (or substitute) the entire Win32 API, which will probably be modified at an ever-increasing pace. No company can keep up -- only open source may be able to do that, but Microsoft's opinion might be that open source is no real threat for the platforms where they want to deploy .NET. (After all, even the average Slashdotter seems to think that Linux will never be ready for the desktop -- quite idiotic, IMHO, but the more people believe that, the better.)

    Insofar Ximian's Mono project may be a good thing as it offers a migration path where previously none existed (from Windows to Linux), even if .NET apps don't run properly on Mono (think about all the GUI stuff that can go wrong, for example). Besides, Java has never really been a mature technology IMHO and it's about time to replace it with something better, even if superficially less cross-platform.

    Now the advantages of having a modular architecture become clear. Mono cannot break Linux, it cannot break X, it can probably not even break GNOME. There are more alternatives than you can throw a kernel image at if something goes wrong. Let's just wait and see what the Mono guys come up with. The only people who should worry about this are Sun and their followers. And maybe RMS.

  13. You're Not Surrounded by Girls? by Greyfox · · Score: 4, Funny

    Dude, what's wrong with you? The rest of us are swimming in chicks, piles of cash and fast cars! You must be doing something wrong! As long as you follow the instruction book they send you when you start an open source project, all this can be yours. It outlines in clear steps exactly what you need to do to make your fortune using Open Source software, and it always works! Didn't you get yours yet?

    --

    I'm trying to teach myself to set people on fire with my mind... Is it hot in here?

    1. Re:You're Not Surrounded by Girls? by geekoid · · Score: 3, Funny

      Thanks Mr. Carmack...

      --
      The Kruger Dunning explains most post on /. http://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect
  14. Miguel is naive by pubjames · · Score: 5, Interesting

    Miguel's arguments sound all well and good, but I think he is fundamentally naive about Microsoft.

    Microsoft have fought tooth and nail over many years to build their monopoly. They will do whatever it takes to protect that, within the boundries of what they can get away with these days.

    Some parts of the .NET framework are still vague. Now, why might that be? The naive might think it's because Microsoft still haven't worked some of the details out. As has been stated many times before, Microsoft is betting the farm on .NET. Microsoft are a very competitive company, with one of the most lucrative monopolies in the world. Think about that. Imagine how Microsoft will respond if they start to loose market share, or control over developers, because of Mono.

    As long as Mono stays a little project (which it is as far as Microsoft is concerned) then they will play nice. They will be able to point to it and say "Hey, look, even the Open Source people are supporting .NET! That's because it's great technology and these days we're such nice people." But as soon as they feel it's a threat, well...

    Don't be naive Miguel. You are implementing a copy of a system still under development the world's largest and most aggressive software monopoly. Think about that.

  15. Glad to see some clarification by I_redwolf · · Score: 4, Insightful

    I have two things I would like to point out to you. Actually after preview it's alot of things.

    So when you copy your binary from Windows that was compiled with the Visual Studio.NET and run it on your Unix platform, it will just integrate nicely with your GNOME desktop.

    How exactly do you plan on doing that, as I'm aware of, at least right now. Microsoft hasn't submitted a full spec to the ECMA. Again; I will mention that Microsoft has never done something like this in the past; they've always blocked people out.

    Your ideas on writing pieces of code in different languages is agreeable except in this case. Writing chunks of programs or pieces of code vital to the overall program in a different language which may or may not work to spec is just asking for trouble. (IE: using asm for sound routines etc etc many examples)

    The .NET Framework stands on it's own feet, and developers in the Windows world love it....... We are witnessing the creating and deployment of a new standard...

    A standard that we will have to fight to operate with in the long run. Instead of unix camp supporting those ideals we should be supporting things like java or creating or own stuff. Just because windows developers love it doesn't mean it's not java with a couple of addons. If it was wildly different in any manner I would agree that we should be looking to use it; however this is not the case. A standard already exists and that standard is java

    The only restriction is that all of our work has to be free software. But other than that, I am ready to take money from anyone or listen to any kind of proposals for making this happen

    We all know nothing involving money comes without a price. Don't blind yourself to that. If someone gives you money, they want something. For Microsoft it'd be whatever it took to end the free software movement; period. Try not to be a pawn in their game, try not to play the game period.

    Your comment that follows above italicized voids most of what you said earlier regarding inteoperability.

    I sincerely think that you need to assess what your true goal is. This isn't nirvana, this isn't a place where you can walk into the middle of the street and not get hit by a car. This is a cruel world, I fear your intentions are good and your heart and mindset is in the right place but don't be fooled, Microsoft and others make this a very cruel industry. There are certain things that you can and can't do and currently they set the rules, this is what we are trying to break so that we don't have to worry about if a standard is submitted and we base our code on said standard that it will work across the board. Building upon their standards which do nothing to help that only helps them.

    Thanks for your clarification it did clear up a couple of points though.

  16. i will laugh my ass off by Anonymous Coward · · Score: 3, Interesting

    when this comes to its only possible conclusion: microsoft silently encourages this effort until lots of gnome folks understand how to write c# and write to the .net fwk apis - then they will crush mono/open source .net; they'll kill you with licensing and incompatibility; they'll take you to court and screw you silly.

    and then you'll have a huge group of people that like coding c# using the .net fwk class libraries - what do you think those folks will do? learn something else, or put those skills to work - often for money - on windows.

    and i will laugh my ass off at you idiots.

  17. Miguel's Comments by John+Kelvie · · Score: 5, Insightful

    1) I thought Miguel's arguments for why he's getting behind the .NET Framework(the CLI and CLR to be specific) were excellent. I have read much about the Mono project since the announcement of its inception, but this is by far the best explication I have seen. If he hasn't made me a believer, he has at least made me very curious.

    2) As an active Java developer, I think that this may very well be the BEST thing someone could do to help Java. The directions Microsoft are going in with .NET to me seem like the obvious directions(licensing as a standard to ECMA, support for multiple languages, etc.) that Java should be going towards, but, for whatever reason, is not. I think .NET(and Mono) if they pick up steam will give sun the kick in the ass they need to get moving on some of this stuff that they are not.

    I personally think the main reason Sun has not further opened Java up is because they have not perceived the need to. They are doing some calculus in their head to make it as open as they need to gain developers from Redmond, but still try to hold onto as much as possible of it for themselves.

    3) My largest concern with this, and I didn't notice Miguel addressing it there or in the followups, is the patent issue. My worst fear is everything would go incredibly well with mono: diverse compilers, robust libraries, etc. and we would all start to build code around it, and then about 5 years down the line Microsoft whips out a patent and demands royalties for all the labor that we have done under the illusion that it would be free.

    I would love to see Miguel address this concern. I cannot speak for others, but I would be a long way to considering getting involved with Mono(whether it mean using their tools to develop, or even contributing to the developmen of libraries, languages, etc.) if I felt better about these things.

  18. Alan Cox 1 Miguel 0 by praedor · · Score: 5, Insightful

    Sorry, even though Miguel does a good job of going into an indepth "answer", Alan Cox takes all the air out of the sail.


    Java is NOT broken or lacking because it is inferior. If it is lacking anything, it is because no one has gone the one step further and fixed it. Do THAT instead of rebuilding from M$-poopie.


    Finally, the simple statement by Alan that as soon as M$ decides they're a pain in the ass, poof, there goes the VM into patented special-feature land (see kerberos for a similar f*ckjob) and no .NET viralware will run via mono. Add this to the FACT that the predominant C# compiler in use will be the M$ version. De facto factamundo. The M$ version will be "special" while the free variants will be broken. Just like the PROPER implementation of java (non-M$) was "broken" with respect to the illegal perversions that M$ inflicted on it (and thus we have C#).


    M$ is not changing its tune on whit. This is NOT a gift to the developer community. It is NOTHING but a means of continuing lockin (and conversely, lockout) and moola into Gates pocket. Nothing more, nothing less. It may be a nice way to build stuff at some future time for linux but it is NOT a means of being able to run some .NET windoze binary on linux (never happen except accidentally because the code was simple enough not to include "broken" M$-only freakishness). You will find that most of the important stuff will not run. Developers will STILL not make linux-friendly stuff because the bulk of the market is in M$-doze-land and they can run the broken/perverted .NET M$_VM-only stuff.


    Stone cold fact. Sing the praises of mono for having the POTENTIAL of providing a nice development environment for linux coders (though unnecessary if they'd instead focus on the correct path of Java) but don't delude yourselves that this will mean windoze binaries working on linux.

    --
    In Bushworld, they struggle to keep church and state separate in Iraq as they increasingly merge the two in America.
    1. Re:Alan Cox 1 Miguel 0 by ink · · Score: 5, Insightful
      Java is NOT broken or lacking because it is inferior. If it is lacking anything, it is because no one has gone the one step further and fixed it. Do THAT instead of rebuilding from M$-poopie.

      Actually, Java is broken when it comes to multiple language bindings. Java (the language) was written with Java (the virutal machine) and they are designed to work hand-in-hand. It's easy for you to sit there and complain that someone should be re-coding Java so that it has Perl, Eiffel, Haskel, Visual Basic, and any other language's bindings; it's quite another for that to be done.

      All this is very different from the Java approach, "use my language or die". Only three years ago, Scott McNealy wrote "Think Java. Write new applications in Java. Rewrite legacy apps with Java. Don't upgrade or downgrade. Sidegrade instead to a Java desktop device... I don't understand why anybody would be programming in anything other than Java" (in Open Finance, a Sun publication, Spring 1997). I'm not sure anyone would still dare speak like that today. .NET recognizes that the world is multi-lingual, especially the world of component-based development, and that the duty of a component model is to help interoperability, not force a language corset onto everyone.
      Quoted from http://eiffel.com/doc/manuals/technology/bmarticle s/sd/dotnet.html

      Most of the criticisms of Mono stem from those who misunderstand dotNet and Mono (you included). Mono is not trying to integrate services with Microsoft's dotNet services, they are trying to write a good component model. If Microsoft decides to change the internals of their dotNet implementations such that it "breaks" compatibility with Mono, then we've still lost nothing. Do you understand now? This isn't the "Samba problem" re-hashed.

      --
      The wheel is turning, but the hamster is dead.
  19. A Rational Approach by ChaoticCoyote · · Score: 4, Insightful

    Miguel de Icaza has committed two sins against the "spirit" of "free" software:

    1. He doesn't hate Microsoft.
    2. He wants to make money.

    As I understand it, Miguel is looking at the CLR part of .NET as a productivity tool; he believes that Ximian developers will create applications faster and more reliably using a clone of Microsoft's technology. And he is very valid in pointing out that cloning .NET will follow a long tradition of "freeing" proprietary technologies. If GNU can clone C, C++, Java, Word, and what-not, why complain about cloning the .NET CLR and C#?

    Miguel is not forcing anything on anyone; Gnome and GNU will not be dependent on Mono, and Mono only imposes on those who wish to use it. So long as Miguel protects existing free code from proprietary contamination, I see nothing wrong with what he's doing.

    As to whether he can succeed -- well, I think he's bitten off more than Ximian can chew, in that implementing certain pieces of the .NET CLR and VM is unlikely to attract hordes of Windows-based developers, nor is it going to offer the functionality that will allow cross-platform development. Perhaps the only "evil" involved here is that Miguel's efforts may legitimize Microsoft's monopoly as a false example of the "openness" the monster of Redmond. We'll need to keep an eye on that.

    In the end, Mono will sink or swim based on its merits; if developers don't like Mono, they won't develop for it, and it will go the way of the dodo. On the other hand, if Mono works, it could be a Very Good Thing by making application development easier for Linux. Time will tell.

  20. How about parrot? by Dog+and+Pony · · Score: 3, Informative

    From the statement:

    The CIL has one feature not found in Java though: it is byte code representation that is powerful enough to be used as a target for many languages: from C++, C, Fortran and Eiffel to Lisp and Haskell including things like Java, C#, JavaScript and Visual Basic in the mix.

    Let's forget for a minute what the source of this new byte code language, or standard, is. If it truly delivers the above, that would be quite an accomplishment, and probably a good thing. Remember I said, forget about the source for a moment... :)

    What I wonder is, how does for example parrot measure up against that? Parrot seems to be moving quite slowly, but I might be mistaken since I am not involved. Since it apparently is the new engine for perl 6, I'd say it must have something going behind it. :)

    Anyhow, one of the things with parrot is at least said to be the possibility to compile a lot of other languages besides perl, such as python or java into parrot byte code - something that indeed would be a good thing for portability and the ease of running a little of whatever on any platform. I am not sure how deep these plans actually go, and how feasible it really is.

    But parrot is where I would like to set my hopes, so can anyone tell me - do I wait in vain? Is CIL really the way to go? Or are we, in reality, simply stuck with different compilers and/or interpreters for different languages?

  21. Why Miguel Is Right - And a Prediction by captbunzo · · Score: 3, Interesting
    Let me start out here with making a little bit of a prediction:

    In 5-10 years, we will see the computer industry go through some variety of a revolution, when it comes to desktop computing platforms. The end result of this revolution will be a computing industry in which the specific desktop computing platform in use is no longer important.

    Let's face it. As much as we may not like it, the majority of the computing world uses some flavor of Microsoft Windows as a desktop computing environment. Now, we can argue about this from many different perspectives.

    (My personal opinion is that Microsoft is not necessarily evil on account of this. To be honest, Windows is actually relatively useful -and useful is what companies require to survive. Rather, Microsoft is evil simply for what they are charging for their software. Sure, they can charge companies whatever they like (I don't care). However, the common man for his home computer should not be charged hundreds of dollars for an operating system and office software. That is truely the real evil of Microsoft and the Microsoft monopoly.)

    Anyways, back to my point. Miguel is right because, like it or not, Windows is a reality that we have to coexist with. We can view this as contending or perhaps cooperating. Whatever the case, it is here and that is that.

    Well, as Miguel said, Windows is here and that means that .NET is a reality as well.

    Now, if Microsoft had done a terrible job with .NET, then that would be one thing. However, they didn't. End of story. No argument - it is a good implementation.

    Therefore, it makes absolutely no sense for us to do our own thing. Especially considering the benefits that we will recieve due to actually getting along a little bit better.

    Back to my prediction. I think that the computer world is heading toward a point where specific desktop platform is a non-issue. People thinking about the short term will fret about XP this, or Gnome that. However, something like .NET has long term consequences and effects that must be considered.

    The journey to a non-platform-centric desktop world will have many parts. One of these will be the arrival of other competitors on the scene. That is hear, with wonderful options such as Linux/Gnome (foo on KDE) and Mac OS X. Ok, KDE can play too if they manage to provide things like .NET support in the future.

    Other pieces of the puzzle are things that allow applications to be used from these multiple platforms. Well, suprise but some of these are already here. They best example to this is the internet. Other examples include emerging technologies such as the .NET framework, MONO, etc.

    Anyways, once again, just my two cents. For what it's worth, I hope someone gets something from it.

    (Go Miguel, go. Go Miguel, go!)
  22. Marching down a dangerous path here. by Col_Panic · · Score: 4, Insightful
    There are many things that greatly disturb me about Miguel's casual assertion that "Mono is just a free implementation that happens to implement a technology that was built by a proprietary company." His assertion to me was that "I will be writing some more free software using .NET, because I can produce more code in less time." This statement itself is completely baffling to me. If the point of the GNOME project was to "write more software in less time" and to hell with where the stuff came from and under what license, it would have never started in the first place. The reasons stated by Mr. de Icaza that GNOME was started had to do with the problems with the QT licensing with KDE, which was and still remains a much more complete and usable system.

    People like me stuck with GNOME (I can remember a disasterous attempt to use way not ready for prime time 1.0 release on a college campus) because we believed in the GNU approach that GNOME was taking. Now that Mr. de Icaza is working at a high paid job, apparently none of this matters anymore, he has come to embrace the "whatever gets it done" mindset.

    But would some one explain to me how a complete reverse engineering of a MicroSoft compiler and all the other bits and pieces of .Net is possibly "getting more done in less time." Not to meantion what is going to happen when MicroSoft says "no you can't do that" and sets out to put and end to it, and I think from the thier track record you can count on it. The only reason they haven't done so yet is that none of this has become a "standard" yet and Miguel seems perfectly content with helping them make it a "standard".

    The notion that we should roll over and accept the fact of a .Net world flies in the face of everything the GNOME project asserted from the very beginning. They told us that we didn't have to accept proprietary standards, we could make our own. Now we are being told that it is OK to accept a "standard" that just happens to come from a proprietary company, in this case the worst of them, MicroSoft, because "I like it better" and "it will help me make stuff faster".

    Well this is all just absurd. No matter how calmly he tries to assure us that everything will be OK, I think that anyone that hasn't been living in a cave knows what getting into bed in any way with MicroSoft will end up doing to you. You pick up a snake, you are going to be bitten. The only possible reason I could see for wanting to do this is for Ximian to slip in some non-free parts of Mono they want you buy (but it's OK cause it is just to connect to all the .Net stuff you already have from MicroSoft) the same way they did with evolution.

  23. One piddly point...that becomes a rant by dasmegabyte · · Score: 5, Insightful

    Miguel, in an otherwise well thought out and well constructed rebuttal to TSH (Typical Stallman Hype), makes one comment I take great exception to...something to the effect of "CIL is Microsoft picking up where Java left off."

    Excuse me, when the hell did Sun Microsystems "leave off"? Version 1.4 is coming out the door at any time, with such nice features as buffers and extensive regular expression support, and all of a sudden they've "left off"? Java will run on nearly every system ever created and in all sorts of unusual situations and suddenly Sun dropped the ball?

    Look, Java is effing huge. People do write applications in it, and I'm not talking about ticker applets. Today's machines can run Sun's graphics engine as well as they can run GTK, and it's available underneath any OS. Any "work" that Microsoft is doing on the CIL has already been done by Sun, with the exception that MS' byte code executes faster and has better UI support.

    But is there any wonder? An implementation of the CIL requires a lot of work on the part of the window management driver authors, meaning there's plenty of room for tuning. An implementation of Swing requires very little -- implement a fiew basic AWT classes and Swing, which is "100% Pure Java," will work atop the older class. Meaning that there has to be a lot more abstract code in Java. Meaning you can be damn sure your application looks the same everywhere and there won't be any glitches due to "factionalied" implementations.

    Of course, most of the development world is still coping with the idea that different platforms require different code (hence the laundry lists inside Makefiles). The Java paradigm won't let you do that. It says, "write that shit once and deal with the slow down, it shouldn't be a dealbreaker for cross platform code." It shouldn't be. But it is. Many development houses can't get over this. Hell, I mentioned to our IT guy that I was doing our mailserver in java and he thought I meant an applet, scoffing "Write once, run nowhere."

    CIL is an attempt to get under the skin of this, but it's a flawed attempt. Jesus, all the development time and heartache going into the optimization of x-platform windowing "frameworks" and "toolkits" where there already is one seems headstrong. Actually, it seems idiotic, and it's why I seethe whenever I hear somebody drop .NET like it's a great new IDEA.

    "But C sharp has improved garabage collection, language integration and runs anywhere." Yeah, that's Java for you. "But .NET allows you to compile ASP code." JSP. "Tighter integration with IIS allows you to better utilize ISAPI." Servlets. "Serialization and persistance." EJB.

    Jesus, why isn't Sun mopping the floor with these idiots???

    --
    Hey freaks: now you're ju
    1. Re:One piddly point...that becomes a rant by cgleba · · Score: 5, Insightful

      For the same reason that DEC's Alpha is not mopping the procesor floor today.

      Hell, DEC had 300Mhz *64-bit* Alphas out when P90s were "the bomb" and by the time Intel broke the 100Mhz barrier DEC was spitting out 500Mhz *64 bit* Alphas. Alphas were so friggn fast that they could emulate an x86 and still beat the true x86s.

      Roughly 10 years later Intel decided to jump into the 64-bit world with the Itanium and the now defunct no-longer-developed Alpha line still beats the hell out of them. Yet DEC is gone and the Alpha has been officially scrapped.

      Roughly 10 years after Sun, MS decides to get into the VM-language game. Currently they have nothing other then vaporware, some specs, alpha code and lots of hype yet Sun's been in the game for a long time. But yet people are buying books and training to be .NET developers like it's the best thing since sliced bread. Java versus .NET is like DEC versus Intel. DEC was in the game a lot earlier, was more mature at it and had perhaps even perfected the 64-bit game. . .in the end, though, Intel's Itanium wins because DEC was kicked out of the game by market share, propoganda, marketing, hype and poor business decisions.

      Anyone who has been in the computer industry for any length of time KNOWS that the technologically superior or more mature product rarely wins. The person who screams the loudest about their product wins.

      Let's hope the same doesn't happen with Java.

  24. Microsoft has and will enforce .Net patents by Anonymous Coward · · Score: 4, Informative
    From Craig Mundie, VP of Microsoft at the O'Reilly Shared Source vs. Open Source Panel Discussion (http://linux.oreillynet.com/lpt/a/linux/2001/08/0 9/oscon_panel.html)

    Craig: "But look: we're a business, okay? We're in the business of licensing intellectual property. So if it turns out that in the future that business says, "Okay, we should license the patents to people who use that in order to be compensated for the development of intellectual property," maybe we'll do that. You're always welcome to come and ask us to license anything from sources to patents. But I mean, we are a business. We're not --

    ...

    Craig: Well, at the end of the day, if you have a patent, you enforce the patent if it's valuable to you. And so I think that Microsoft and other people who have patents will ultimately decide to enforce those patents.

    Brian: Are there any patents that apply or that will apply to implementers of .Net or Hailstorm?

    Craig: I expect there certainly will be. I mean, the patent process takes a long time.

  25. Great article! by ttfkam · · Score: 4, Interesting

    I liked the comparison of technologies, but it misses a main point. Or rather, I believe its primary audience misses a main point.

    .NET is not perfect. The JVM is not perfect. But I strongly believe that they are a step in the right direction. For example, the current choice(?) on UNIX systems is to have C-compatible exports for libraries.

    While .NET and the JVM may be limited, let's not loose track of the fact that extern "C" {} and its ilk are far more limited. Instead of limiting languages to objects without templates and continuations, the current scheme of exporting function symbols and structs is downright embarrasing.

    What would be really nice is using .NET as a library/component interface and leave each language relatively intact. For example, implement your library/component in the language of choice, but export the functionality (what is currently "handled" by library symbols) in a language-neutral but far more feature-rich manner.

    Doesn't "Managed C++" allow for advanced C++ features that simply are not exported for use outside the codeblock? C# has "unsafe" blocks for its own bit-twiddling.

    We're on the right track here. Let's not throw the baby out with the bathwater!

    --

    - I don't need to go outside, my CRT tan'll do me just fine.
  26. Productivity over politics by GCP · · Score: 5, Insightful

    Miguel's experience with .Net seems to mirror my own. It's a very productive environment that's a blast to work in.

    Have you ever gotten used to working in a Unix/Linux shell then had to jump over to Windows and do something on the command line in *DOS*? Know what that feels like, that helpless feeling of losing all your magical powers?

    That's what it feels like to work in .Net on Windows, then having to do some work in any current GUI app dev system on Linux.

    If RMS thinks he or his minions can design a better architecture than .Net, let him prove it, but don't suggest that we have to learn to live with less for political reasons.

    --
    "Those who have never entered upon scientific pursuits know not a tithe of the poetry by which they are surrounded."
  27. Not-so-rapid application development by nadador · · Score: 5, Interesting

    Miguel's argument can be boiled down to this: (1) writing big applications sucks because complexity grows geometrically with each line of code, and (2) integrating code written in different languages sucks because complexity grows geometrically with each line of code in either language. Basically, Miguel is fighting the same fight that every software engineer has faced since the beginning of time. Complexity grows much faster than anyone can handle, and as soon as you let heterogeneity into the equation, you're basically screwed.

    The only problem that a CLR supposedly solves is the maintanence of the bindings. Instead of binding Gtk to perl and python and ada and C and C++, etc., you bind it in a library in the CLR. Except that to access that new CLR binding, you need to have perl and python and ada and C and C++ compilers that target the CLR, which is certainly a more glamorous job than maintaining bindings for every language under the sun, but is *WAY MORE* complex.

    Basically, the CLR is middleware for the desktop. It does nothing to decrease the complexity of the system, it just shifts some of the complexity to another software engineer. Applications get easier to write, but new compilers need to be written and maintained.

    When Microsoft's writing the compilers and you're shelling out the cash, you're only responsible for your piece of it - the application. Obviously this is good for you. But the free software community is responsible for all of it, from compilers to run times, to new bindings, to applications. *We* have to do it all. I wonder if Ximian will really benefit from dispatching software engineers to work on Mono when they could be working on the applications. Companies that buy stuff from Microsoft don't have to send software engineers to work on Mono, but free software projects will "lose" engineers because they'll have to work on Mono, not their respective projects.

    The challege that software engineers face in the future is constructing systems that actually reduce the complexity of applications, rather than just shift the complexity elsewhere.

    --

    Outside of a dog, a book is a man's best friend. Inside a dog, its too dark to read.
  28. You're probably not dressing the part... by merz · · Score: 3, Funny

    You need a shirt like this to remind the ladies that they find hackers irrestable. Women constantly say to me, "You know I do dig Unix... wanna go out?"

  29. Re:Sure, and Sun's your best friend? Hardly. by Glock27 · · Score: 5, Informative
    Re-read your comment about the evils of Microsoft and apply the same argument to Sun and Java. What is stopping Sun from charging huge fees for J2EE libraries? Nothing. Just because they are not presently doing it does not mean they will not in the future as their hardware revenue dwindles in light of the x86 chip's performance/price ratio.

    Sun does charge fees for J2EE. What made you think otherwise? What makes you think Microsoft couldn't charge huge fees for Windows XP server? (Oh yeah they do...)

    Remember - it was Sun that renegged on ISO and EMCA standardization - not Microsoft.

    Right, except it wasn't "not Microsoft" it was "because of Microsoft".

    Sun has always stated it won't opposed clones (including open source clones) of Java, as long as they aren't called "Java". Microsoft's Java escapades were completely different - it licensed Java from Sun then proceeded to release "embrace and extend" enhancements.

    Sun's "Java Community Process" is a complete sham and everybody knows it. Sun's vote is the only one that matters.

    This ignorant statement simply shows that you have no clue about the JCP. Do a little research.

    Why are you posting anonymously anyhow...? ;-)

    299,792,458 m/s...not just a good idea, its the law!

    --
    Galileo: "The Earth revolves around the Sun!"
    Score: -1 100% Flamebait
  30. Heard all this before.... by GooberToo · · Score: 3, Interesting

    First, let me say that I use Gnome for my desktop and have used GTK+ for sizable projects. I've even developed smaller GNOME applications and found the various API's horrible. I can't stress enough that I'm not trying to cook someone here for the sake of cooking. I think the only point he makes here is that GNOME is without a solid technology direction and has suffered dearly for it for a very long time. In fact, he as much as points this out. So, call me a troll if you like but I fail to see how Mono isn't anything other than a new tech headline. Please read below if you care to follow his assumptions while he explains pretty much nothing.

    The CIL and the promise of language independence

    This is what CORBA promised more or less. Please correct me if I'm wrong, but didn't Gnome start out using CORBA and decided that it needed different technologies later in the cycle?

    Are there not already language bindings for C, C++, Python, Perl and I'm sure several others? So tell me again why we need an interpretted wanna-be CORBA in the mix?

    This technology allows programming languages to be considered on the basis of how they will perform for a given task, and not based on the runtime libraries that you will depend. Any software engineer should read this article:

    Generally speaking, good engineers already do this. The choice of yet another tool somehow doesn't make this happen, though, choice can be a good thing. Adding a slow runtime is not going to make the awesomely optimized FORTAN libs suddenly appear and become compatible with various CIL implementations. In fact, really all you can say is that when you use this technology [CIL implementations], the language of choice will no longer effect performance rather it will be forced back onto the developers to optimize for a given language; that is, language specific CIL tuning tricks. On the other hand, all of the languages which use this are going to have a negative performance impact so it sounds like programmers will have even more choice (seemingly pointless). Let's see, I can pick C or C++ for performance or I can pick C/C++/C# [CIL implementations] which performs an order of magnitude slower. Hmmm. Hard choice. Tell me again why I should care about CIL, Mono and C#??

    GNOME had always tried to have a good support for multiple programming languages.

    No it hasn't. Save only for the CORBA efforts, GNOME is very C biased. One of the common complaints coming from the C++ KDE camp. The more correct statement would be, "multiple programming languages have always tried to support GNOME." These efforts have inflicted various levels of pain on their bindings implementors.

    They have incorporated many ideas from Java, and they have extended it to address new needs that developers had. They took where Java left off.

    What does that mean? Sounds like they are re-implementing Java. Why? Why don't you just further improve Java. I'll make it known here, I've never beena Java fan but this just doesn't make sense to me. It only makes sense to Microsoft because they badly need to de-crown Java. Aside from Microsoft, I don't see how this helps anyone. By the way, what are these "new needs that developers had", that existing technologies can't address? Do we really have to move to a VM to address these needs?? Somehow this seems like we're taking several steps backward. Anyone?

    Libraries have been built by disconnected groups (PNG, JPEG, Gtk+, Xml, Bonobo, CORBA spec apis, etc) and the end result is that a developer eventually has to learn more than he wanted to in the course of developing a large application.

    Might this have more to do with the fact that GNOME has been wondering without direction for a very long time and no one in the GNOME camp has been willing to settle and agree on a single API nor the technology behind these APIs? Does it have to be the programmer's fault? Can't it be that the API's provided have just sucked? Can't it be that the API's have changed so fast and often that programmers wonder what they are doing trying to implement a large application via GNOME? Can't this mean that the implementations behind the API's have been less than wonderful and seemingly change daily? Does it have to be because programmers don't want to learn? Seems to me, if programmers didn't want to learn, they wouldn't be trying to develope large applications in a highly dynamic environment (from an API perspective). Wouldn't a static API help address this? Won't simply adding yet another API compound this issue even further?

    There is a point in your life when you realize that you have written enough destructors, and have spent enough time tracking down a memory leak, and you have spend enough time tracking down memory corruption, and you have spent enough time using low-level insecure functions, and you have implemented way too many linked lists [1]

    Doesn't this really reflect the choice of underpinning APIs and implementations behind the APIs as much as the language. It's funny, I've developed very large applications (C/C++) before and never had nearly as many issues as one does when trying to use the GNOME/GTK technologies. Might it be that you've been chasing the wrong end of the technology spectrum? Might it be that you should of been looking to replace GTK and the billion other obtuse libraries that are the foundation of GNOME with better, faster, stronger technologies? Might is be that the number of memory leaks and associated debugging issues have something to do with design skills and/or coding habits? In not in whole, in part? Some part? Maybe a little? If you have even a small problem which is compounded over and over in various suite of libs that is GNOME, might this actually result in a large problem manifesting it self as obtuse APIs which lend them self to these issues?

    Evolution took us two years to develop and at its peak had 17 engineers working on the project. I want to be able to deliver four times as many free software applications with the same resources, and I believe that this is achievable with these new technologies.

    Wow! This really is magic technology1 It's going to 4x the level of productivity over any other tool, toolkit, and language. Wow! Does it come with a bridge too? I can't wait.

    Even C++ was invented at ATT.

    Yes, you're right, however, it was written by people who wanted to look at solving real problems with a different approach while leveraging the large C programmer base. It was need driven. The same can not be said for C# and CIL. Both of these are being driven my Microsoft to side step Sun and Java. The motive is as important as anything else, especially when we are talking about Microsoft. If, according to you, it's pretty much Java with some icing, why not go the shortest and best path for everyone and help improve Java? Go ahead, make the icing for Java. Then, you'll have everything you're asking for with a whole lot less effort and TONS more people will be rewarded for your efforts.

    Windows developers know how to write code for it.

    Do they? Windows developers are going to be coding to GTK's and GNOME's interfaces? That's news to me. As far as I know, what this really means is that Windows C# programmers will be able to code C# on unix. Last I heard, Windows C and C++ programmers already know how to code C and C++ on unix. Please, tell me again where this magic bean grows from...

    Lets make it easy to bring developers from the Windows world into our platform.

    I must of fallen to sleep or something because I don't see how this has suddenly changed. Anyone?

    Training materials, tutorials, documentation, tips and tricks are already available in large quantities, lets leverage this.

    I seriously question this. Seems to me, that would be true as long as the programmer is really using C# and the underlying CIL implementation is the same. But, you're telling me that you're developing your own CIL and your own C# implementation so I doubt this will be true any more than it is today for any other given language and platform combination. More magic beans. Mmmm....I smell fresh brew magic coming my way...

    Sorry folks, I've gone on long enough...I'm simply tired of typing. Obviously I don't see anything that he's stating other than there's a whole bunch of magic in this technology that no one has ever seen before. Furthermore, I think he helps make a wonderful argument that GNOME needs someone else at the helm. And if he's saying that he's not at the helm (I think he tried to say that too), then GNOME very badly needs someone which is not him.

    Greg

  31. Facts by The+Bungi · · Score: 4, Insightful
    Last week I had an argument on the 'Linus does not scale' story with some dude whose entire contribution to suggestions on how to improve the management of the Linux kernel development process was to yell 'he can do whatever the fuck he wants, it's his kernel'.

    Now that same argument, applied to de Icaza applies perfectly. Mono is not going to be "bound" in any way to GNOME, that much is fact. So the core product itself remains free. But more importantly, Miguel has to answer to a board of directors, whereas Linus can do (or not do) whatever he wants. They provide funding. They call the shots. They agreed to Ximian funding of Mono. How is anyone (especially RMS) entitled to an opinion here?

    Regardless of RMS's embrace and extend FUD about everything being GNU (I bet very few people see it that way, but if it quacks like a duck...), he has absolutely no say about anything Miguel does, period. His argument of "Miguel better answer to the community" can be cleanly compiled to "explain this shit to me, boy".

    Oh, and BTW, I'm surprised nobody has mentioned this small detail: RMS was turned down from the GNOME board of directors in November of last year. From the precedent of previous flame wars between RMS and various other people, who can say this is not simply his way of giving GNOME a bad time?

    And finally, let's face it: Anything that has a relationship (remote as it may be) with Microsoft is immediately turned into an argument about "giving into the dark side" and "fight against the evil empire". That sure gives way to very constructive discussion. Most of the posts here have either tried to denounce Miguel as a traitor or simply nit-picked his reasons for doing what he's doing. Very nice.

    And to Miguel: Dile a RMS que encamine sus pasos a la progenitora de sus dias y la salude de tu parte =)

    Go ahead and mod me down now.

  32. Miguel's best point... by wmshub · · Score: 3, Interesting

    One point Miguel made really made me sit up and take notice. He pointed out that all of Gnu started out as Richard Stallman's attempt to make a free copy of a proprietary system, and Mono is just another attempt to do that same. I'd never thought of it that way, but he's right; it is very hard to remember in this day and age that 20 years ago, AT&T and company were really a lot like Microsoft as far as their treatment of end users, so why was it good for Stallman to propogate the then-evil-and-proprietary Unix interface and bad for De Icaza to propogate the .NET interface?

  33. I forgot something at the end by miguel · · Score: 5, Funny

    I forgot to add this to my posting:

    DEVELOPERS DEVELOPERS DEVELOPERS!

    (Slashdot forced me to put more text than the three words, lame)

  34. Re:Actually, this is the way it is by Sloppy · · Score: 5, Insightful

    Any compiled class written in Java can run in any environment with a JVM.

    Unless that class inherits or calls proprietary library stuff that you don't have.

    This is why I can't run most Java stuff on my Amiga. I have the Kaffe JVM, but no AWT. So I can run a program that says "hello world" and even Sun's Java compiler (written in Java) that comes with the JDK. But AWT or Swing apps are right out, because no one has implemented that stuff for my OS.

    You're going to have the same problem running Microsoft Office on Linux. Your VM will work perfectly, but the app will want to use stuff that you don't have.

    --
    As copyright owner of this comment, I authorize everyone to defeat any technological measure which limits access to it.
  35. Just in case anyone missed why RMS was so pissed by QuantumG · · Score: 3, Interesting

    Remember this?

    --
    How we know is more important than what we know.
  36. Will MS screw this? by IamTheRealMike · · Score: 4, Insightful
    Bet on it. It doesn't have to be through patents, or embrace-and-extend, or any of the techniques they've used in the past. It might be, but for all we know they could just come up with a new way of fiddling things.

    Look - what is Microsoft? It is a big company, one which is in a serious crisis right now - it's main revenue streams are drying up in the form of slow Office/Windows XP sales (well, slow compared to what they need to be). Hence Hailstorm, which is a big part of .NET

    So - consider that Linux is the first real competition MS has had on the desktop/server market for years (forget apple, they have survived by selling to a niche, mainly artists, not business/home). Now consider that they are desperate for cash, lots of it.

    So, considering all that, how likely is it that MS will invest millions into a new platform for Windows, and then allow it's primary competitor to make it about a zillion times easier to port code from Win32 to Linux? Not very is the answer. Remember this - Microsoft HATE Linux: their corporate leaders see open source as "wrong" etc, and of course Linux is already good as a server and making headway on the desktop, so how do they respond to this threat?

    Seems obvious - they need .NET, but what they don't need is to be giving their competitors a leg up by developing an expensive technology. They'll try and keep .NET Win32 only, and they won't have to try hard. Yes, yes, we all know about the ECMA submissions, but lets face it: There are standards, and there are standards. C#, CLI etc. will be de-facto standards soon, but that doesn't make them anymore acceptable, regardless of whether they've been rubber-stamped by ECMA or not.

    Having said all that, you've got to give Miguel respect: he knows good technology when he sees it and isn't afraid of politics. I love some of Microsofts software, I just don't love the company. Problem is, in cases like .NET they are inextricably linked.

    .NET is great - but I wouldn't touch it with a barge pole. That's like walking right into the lions den because the lion is guarding a great new toy that you want, and saying the lions reformed and won't eat you. Having said that, can't the open source movement do any better? I mean .NET is an excellent implementation of technologies we're familiar with and have used for years, but surely we can do better. I think we can, I think it's called Mozilla, and I think it's underrated as a development platform. But that's just IMHO, please don't let that distract you from my main argument here.

    yeah. anyway, rant over. it's much longer than i thought it would be anyway.

    thanks -mike

  37. Comment removed by account_deleted · · Score: 4, Insightful

    Comment removed based on user account deletion

  38. Comment removed by account_deleted · · Score: 4, Insightful

    Comment removed based on user account deletion

  39. One runtime to rule them all... by dido · · Score: 3, Interesting

    An ancient verse in Open SOurce Lore...

    Three VM's for the Open Sourcers under the sky
    Seven VM's for the chipmakers with their foundries of stone
    Nine for the mass market doomed to die
    One for the Dark Lord on his dark throne
    In the Land of Redmond where the Shadows Lie
    One Runtime to Rule them All, One Runtime to find them
    One Runtime to bring them and with .NET bind them
    In the Land of Redmond where the Shadows Lie

    Gee, so I guess that makes Miguel de Icaza Celebrimor, building his own runtime based on secrets given to him by the Dark Lord of Redmond, disguised as Annatar, Lord of Gifts. Maybe RMS is Elrond, watchful and distrustful of this mysterious being bearing secrets...

    --
    Qu'on me donne six lignes écrites de la main du plus honnête homme, j'y trouverai de quoi le faire pendre.
  40. Wrong, borland has no CIL by StrawberryFrog · · Score: 3, Informative
    The CIL idea is not new.

    Right. A proof of concept was when other languages were compiled to java bytecode. There may have been earlier ones too.

    If I remember correctly is used in Borlands C++ Builder & Delphi to some extent. C++ Builder compilers down to the same thing as Delphi and if I remember correctly they use the same linker. ... I beleive this is where they got this ideas behind CIL and combined it with the Java virtual Machine model.

    Um. Nope. CIL stands for Common Intermediate Language.

    Neither Delphi nor BCB are interpreted, JIT'd or run on virtual machine. Nor do they use an intermediate language of any kind.

    The language that they have in common is in fact x86 assembly. The reason that the Delphi VCL can be used in BCB is that they share an object file format.

    Maybe the idea of sharing a class library came over from Borland with Anders Heijsberg, but the method of achieving it is different.

    --

    My Karma: ran over your Dogma
    StrawberryFrog

  41. One hour of your enemy's time is worth... by aphor · · Score: 3, Insightful

    Sun Tzu:

    One pound of your enemy's provisions is worth twenty of your own.
    I would apply the corollary: "One hour of your enemy's time is worth twenty of your own." The principle is that you are not only getting your enemy's preparations and resources to work for your goals, but you also prevent him from using them against you. Your own resources are many times more costly to build up. Microsoft sees Miguel as a tool, and they are waging Ximian against Gnome (the GNU GUI) with the goal of making GNU oriented developers waste their time even learning C#.

    If we need a new language, why don't more people get together and decide on all the goals of that language? If we need to link compiled code from disparate languages together, why not write a CORBA spec or something? The key concept here is DO NOT LET MICROSOFT SLIP INTO YOUR PROJECT'S DEPENDANCIES.


    --
    --- Nothing clever here: move along now...