Slashdot Mirror


Mono and dotGnu: What's the Point?

joeykiller writes "The Register features an opinion by Neil Davidson, asking 'Mono and dotGnu: What's the point?' Some of the points he raises may seem irrelevant for open source supporters (like why make a C# compiler while Microsoft's is free anyway), but others are thought provoking and maybe a little bit controversial. You may not agree with his opinions, but it's an interesting read anyway."

31 of 493 comments (clear)

  1. Free for who? by abrotman · · Score: 5, Interesting

    Last I knew, the .NET framework was only available for Win32 and FreeBSD. Has this changed recently? I dont really see a problem with Mono. If they can make it so that System.Forms works with GTK/Qt, that would be rather nice. I would imagine this would lead to tons of portable apps. Of course .. Maybe i dont understand .NET

  2. Sounds defeatist to me. by richardoz · · Score: 3, Interesting

    Neil wants to give up implementing .NET for MONO and dotGNU because neither project will have all the features. I think that it is likely that Novell or ?? may pick up the pace..

    --
    All the worlds indeed a .sig, and we are mearly players..
  3. you do know.. by minus_273 · · Score: 4, Interesting

    that C# and IL are an international standard (at least in ECMA's eyes) and MS has absolutely no control over the language right? Not just that there are several other compiler for C#, made by german firms i think.
    FYI, basically it boils down to this:
    .net = european standards camp
    Java = american standards camp, though not fully done yet.

    --
    The war with islam is a war on the beast
    The war on terror is a war for peace
  4. You and the Point seem to have passed in the night by Valar · · Score: 4, Interesting

    Could it be that we want to run .NET programs under Linux? Or, better than that, that we (linux using programmers) would like to be able to write .NET programs without booting into windows? His points about mono and dotGNU just replicating features already availible in .NET is irrelevant... because they aren't availible on our platforms. Sure, there would be nothing great about windows.forms in X, if we already had a way to do windows.forms stuff in unix. We don't. And his points about microsoft adding all kinds of features to the languages and the .NET library is pretty irrelevant: a) mono is probably going to add those features to the compiler and libraries as soon as possible anyway b) in the state mono is in right now, it is possible to do just about anything you would need to write any possible .NET application c) as long as ms's .NET compiler still generates the same CLI, it would be possible to run the programs in mono (assuming it is something that doesn't have huge chunks of embedded C or anything).

    In the end, I feel like I've been ASTed.

  5. Obvious and Sophmoric. Where's Something Original? by jake_the_blue_spruce · · Score: 2, Interesting

    A bit late to be controversial on this. I assume that he also thinks that WINE (which allows windows binaries to be installed and executed as if it was Windows) is also a bad idea, and that the idea of doing everything windows does and more besides is either not feasable or not a good way to attract users. If he believes it is feasible, then I further assume he believes the same thing is true of Microsoft's Embrace and Extend strategy.

    The threat of patents makes his a valid view, that has been well elucidated some months ago. I would have preferred if the article had broken new ground, and used all the prior conversations as a jumping off point.

    An interesting analysis would be what is thought about Mono's preparation for the threat of patents. They are developing a completely seperate and patent free stack of libraries using GTK#, etc. rather than Windows.Forms, etc., etc. for everything not submitted as royalty free to the standards body. The upcoming MonoDevelop project is a port of SharpDevelop from Microsoft's .NET to the Mono environment in such a way as to be unencumbered from any patents, as a proof of concept, and as a much needed Linux IDE for C#.

    As a comparison, he might wish to bring up the GCJ project, which native compiles Java code, and the Gnome Java bindings. (or Eclipse + SWT)

    Either effort could stand to attract greater resources. For instance, if Sun + IBM seriously got behind GCJ + Gnome Java bindings, or if Apple got behind Mono.

    Anyway, the Register is usually wonderfully edgy, bitingly sarcastic, and controversial. I was very disappointed with this article.

    --
    "There's so much left to know/ and I'm on the road to find out." -Cat Stevens
  6. Author missed benefits of dotGNU by plover · · Score: 2, Interesting
    Their enemies are now working, for free, to extend Microsoft's monopoly onto new platforms.

    "Enemies"? "Extending monopoly?"

    I think the author has missed one of the points about .NET: it does have some very attractive features that certainly could be useful in any environment, not just Windows. Automatic garbage collection and rock-solid typing are valuable assets. Just-in-time compiling in the runtime environment can provide extremely fast running code. (Not that it always does, but it has the potential in some situations.) These are benefits that there is no reason the GNU community can't share.

    There's also another benefit: it's a two-way street. Having dotGNU might provide a roadway for Windows developers to leave the Windows platform.

    He has interesting points, and they're worth discussing, but it's way to early to pronounce dotGNU or Mono dead.

    --
    John
  7. Alternatives are good by Yag · · Score: 3, Interesting

    Kaffe is a free java vm, why they did it? Because now, if you want free java on ipaq, kaffe is a good solution. Also because kaffe is open source so its chanches of porting are better. And sometimes is quite faster then sun vm.

    Mozilla when was started it wasn't as good as explorer, or opera, both were free, so, why start another project? Now, a lot of people thinks mozilla is the best browser.

  8. Stop-gap measure by JBMcB · · Score: 3, Interesting

    Mono and DotGNU, if nothing else, are good contingency measures if .Net happens to crush Java in the realm of web apps (not likely.) I'm half suprised at the rush to implement forms, as web apps seems to be what .Net was intended for, though the Gnome guys are the ones driving development...

    --
    My Other Computer Is A Data General Nova III.
  9. Free from MS, but for how long? and can we extend? by elwinc · · Score: 5, Interesting
    Sure, right now there's a version that's free from MS, and probably fairly unencumbered. But for how long? Well, as long as Java is still competitive.

    If Sun and Java die, MS will be free to add proprietary bits, and we'll still want a free version.

    Also, although there are some nice things in C# (such as being able to work with arbitrary C pointers and data structures returned by C functions), we may want to tweak the design a little, or extend it to work with python or lisp or other languages. The idea of a "glue" language that can call routines written in many languages is very appealing. Sometimes you might want to have one program that can deal with low level data structs like C, handle resolution theorem proving like haskell, and maybe strings like snobol. With a good glue language, yuo could write each routine in its appropriate language, then glue them all together.

    --
    --- Often in error; never in doubt!
  10. Re:One reply by miguel · · Score: 4, Interesting

    The Mono team has grown as a result of the Novell
    acquisition, from five developers to a team of
    fifteen developers.

    We are only working on Gtk# support.

  11. I have to agree by Lysol · · Score: 4, Interesting

    As someone who contributed a little code to gotGnu, I kinda started thinking, what's the point? What is the point of running .Net on a non-M$ OS?

    I can see one value, which is it allows those 'stuck' (I don't really believe in that concept, but whatever) on Windows to migrate off it. But in the same line of thought there's also this huge issue which is M$ and they way it trys with all the power of the universe to prevent that. Whether it be licensing tricks or slashed pricing, or plain 'ol FUD - in the end, they'll do whatever's possible to keep people locked in.

    And honestly, I have to raise an eyebrow to anything M$. I mean, C# is a specific jab at Java. Java wasn't built to wrestle control away from M$ C++ and their dev tools. So something that is made to ward off something else that, in my book, is a pretty good thing for Internet developers, is pretty sketchy. Not saying Java is the king or anything, but the underlying reason for C# is: we (M$) can't control Java, so screw you, we'll copy and extend, build the concept of a VM (CLR) into our OS, and then woo all those productive ;) Java developers over to a real platform.

    Lastly, any Open Source/Free versions of .Net are playing with fire. If Mono or dotGnu were wildly successful, then M$, owning all the patents, copyrights, and trademarks, would pull the legal card and shut them down or just plain not interoperate with them - yes, I know portions of .Net are part of ECMA. However, this isn't the days of the 80's or 90's where you could reasonably get away with this stuff and everything under the electronic sun wasn't patented. Nowadays the control and nastiness in the business software world is unparalleled - just look at that guy that patented the concept of 'web stores' for example. So, while my hat is off to all the people who have really busted their ass on Mono and dotGnu, I ultimately feel that it will be a lesson in frustration and disappointment.

    And also, for me, there's just something filthy about the M$ development universe. I find their tools are kludgy, bloated, and too foofy. And I don't like having to install five thousand libraries and integrated-this or integrated-that, plus an update here and an update there - I'm not a fan of everything integrated into the OS. Granted, Net Beans can have a huge footprint and I didn't say that it is a great app (don't care for IDEs either), but there's just a something about M$ tools that I just don't and never have liked - this naturally extends all the way through their whole stack. So seeing a HelloWorld VB app running on Linux kinda makes me shutter and just kinda think why? I'm sure the natural answer for some will be - because. Meh..

  12. Tastes like... burning by Cthefuture · · Score: 4, Interesting

    Ok, so the article is a bit harsh. I agree with a lot of what he said but he missed one major point and is just plain wrong on a number of things. I don't think Mono is about destroying Microsoft or providing choice. It's about using a nice(*) language like C# on Linux. That statement alone kills his whole argument.

    He missed a very important problem though. Performance. I admit that I haven't played with Mono in 6 months or so but last time I tried it the Microsoft runtime/compiler/JIT/whatever was hella faster than Mono. Several times faster.

    I'm not sure if the Mono developers will be able to achieve the sophistication required in the compiler and runtime while still doing all the other stuff that needs to be done. Time will tell.

    (*) I like C# better than Java. Especially the interface to native DLL's (not perfect but way easier/simple than Java). Plus C# was designed from the beginning to have things that Java only recently got (generics anyone?).

    With that said, I still think C/C++ are just as portable, much faster, and don't require stupid memory sucking VM environments. If only we had C++ equivalents to the huge Java and .Net libraries.

    --
    The ratio of people to cake is too big
  13. Helping MS own the platform by rdeadman · · Score: 2, Interesting
    The whole .NET / Java battle is not about what platform applications run on nearly as much as who is driving the car. Microsoft spent years dissing CORBA in order to advance it own win32-locked-in DCOM. When they finally realized that the back office was never going to go completely to win32, and that Java was gaining momentum there because it was a higher-level language and wasn't tied to an OS, they had to change gears.

    .NET is simply MS's next attempt to cut out CORBA and Java. SOAP may be limited and inefficient but its simple and cross-platform. If they can get some OSS folk to write some versions of .NET, that only helps their cause, because it supports their open-platforms story. And since, for the forseeable future, any .NET clone is going to be lack some serious functionality, it won't really bite into their sales. In the meantime, they can start to take the enterprise platform ownership back from Java. Annd, even if the OSS projects start to catch up -- guess what, MS can add new features.

    So, while I love and use Linux, and even lead an OSS project on sourceforge, I have to admit that Neil is right: the .NET clones are only helping to establish Microsoft in a leadership position in enterprise infrastruture (which will drive sales of their software). And that's precisely the place they want to be.

  14. Re:Why not support Java then? by Ugot2BkidNme · · Score: 2, Interesting

    having writtign the same application in both java and C#. albeit its nothign fancy but I did notice a few things. Basically the java version is slower took longer to develop. While the C# version runs faster and took less time to develope. yes I know one coudl say that portign code is easier except when you take into account I did the C# version first.

    Anyway I think C# is a lot better then Java. And I applaud the efforts of Mono and donGNU. Beign able to write in C# over Java is a preference of mine.

  15. it's pretty simple, really by ajagci · · Score: 2, Interesting

    C# is a nice language, it's free, open, and standardized, and it's good that there are many implementations of it. All those other points don't matter.

    What MS does or doesn't do with C# is their business. And if .NET remains proprietary, all the better as far as I'm concerned: I like the language, not MS libraries.

  16. Re:Mono is evil by selderrr · · Score: 4, Interesting

    it will be next to impossible to write Windows software in the future without embracing .NET
    this is such horsecrap !
    you mean that any old app written in C or C++ will break ? that gcc won't compile anymore ? FUDFUDFUD ! amazing this shit gets moderated insightfull !!!
    this is so much alike 8 years ago when everyoner was yelling that soon MFC would be the only way out. guess what ? I still write non-mfc c++ code. you might want to look at this site. are you suggesting that none of these will run/compile anymore under longhorn ? dude : it's JUST AN OS on JUST A CPU. it runs machinecode. that's all

  17. Quote from Miguel by Chris_Jefferson · · Score: 4, Interesting
    When people begin talking about how mono is just reimplementing "evil microsoft products", I always like to draw out this quote from Miguel (sorry for stealing it!)

    * GNU was based on a proprietary technology. GNU is a free re-implementations of Unix. Linux is a re-implementation of the Unix kernel. Before the advent of Linux and the Berkeley Unix, Unix was a proprietary technology, built by ATT (which back in the day, was a monopoly). Still, developers took what was good from Unix, and reimplemented a free version of it. Down to the Unix programming language: C (which was also invented at ATT). Even C++ was invented at ATT. Think of Mono as following the same process: we are bringing the best technology out there to our beloved free software platform. And at the same time it serves to be a magnificent upgrade on the development platform.

    --
    Combination - fun iPhone puzzling
  18. This is entirely up to Microsoft by puppetluva · · Score: 2, Interesting

    There is an easy way to get relief over the controversies with Mono. Since Microsoft owns it, (only the C# spec is ECMA) someone should ask Microsoft if we can use it. . .

    Novell should ask Microsoft to issue a statement or enter into a contract that they won't pull the rug out from under Mono by enforcing patent/trademark/etc. protections and adversely affect the Mono community. If they refuse, then you know Mono is doomed. If they comply and their answer is legally binding, then have at it.

    Mono is excellent technology but it is in a very dark shadow. I wouldn't base my software on an architecture that is under patent threat by one of the most powerful companies in the world -- What's the point of speculating since all we have to do to verify its safty is ask Microsoft ?

    This is only proper. . . most of the runtime and forms libraries are proprietary property of Microsoft -- we need to ask them if we can use it if we are worried about backlash.

    Please do not reply with anyting about GTK# not being property of Microsoft. . . the "#" trademarks and the runtime technology (CLR) certainly are their undisputed property. Playing games with their IP without asking their permission is unwise.

  19. Wine + Mono = Instability by Vagary · · Score: 5, Interesting

    The grandparent is correct to complain that it is an unstable mix due to the fact that both Wine and Mono are under rapid, and asynchronous development.

    About 6 months ago, when I gave up on using Mono for development, the Windows.Forms implementation required applying custom patches to a specific nightly build of Wine which was so old that Mono was the only place to get it from. So maybe if you were successful in getting your patch into the main Wine tree, and maybe after Wine matures a lot, Mono will be worth another look.

    Also, I understand that the Mono team is aiming for complete compatibility, but I'd be tempted to declare that platform-specific hooks are unacceptable in a VM. After all, SWT seems to have achived fine graphics control with a much more abstract solution.

  20. Re:Technical Director? by e2d2 · · Score: 5, Interesting

    As for me, I think it's a cute project, but it's only use I see is cross-platform GUI applications. (a good thing for Linux adoption by the masses) And Mono is way off for doing that.

    And that "cute" use is enough to get Microsoft developers like myself actually interested in Linux development.

    1. So Win32 developers can create applications in a high level environment similiar to Java on linux. Java is great. But so is .Net.

    2. So we can port .Net applications to Linux faster.

    I want to use c# and .net on Linux. I'm not gonna sit here and ponder the what ifs the article author ponders. He is just a troll seeking eyeballs and a clue.

  21. Re:Why not support Java then? by barjam · · Score: 3, Interesting

    Support for your argument?

    I run a java j2ee web server that runs just fine anywhere we put it [commercial web site].

    I develop jsp/java on a windows box and then upload it to SUN/Linux boxes and it works perfectly every time.

    So can you cite specific examples where it isn't cross platform?

  22. Re:m$ shit coders are gay by cr@ckwhore · · Score: 2, Interesting

    It's not like computer resources are expensive these days. Who cares if you think it's "heavy" ... it really isn't. Applications written in .NET and compiled are typically small and easily distributed.

    Who cares if you can write a "CGI application" in C. Can you write an enterprise level software application? Authoring enterprise software is an expensive proposition -- and why not use .NET (yes, I like it and I'm a hard-core linux guy!) to develop the app in half the time, with the result being twice as good.

    Until you have some first hand experience with .NET, you should keep your yapper shut.

    --
    Skiers and Riders -- http://www.snowjournal.com
  23. Re:Technical Director? by GooberToo · · Score: 2, Interesting

    I'm sure Linus would have gotten the same sort of flack when making Linux. But he started the project, and look what it is becoming.

    Bad example. Does not apply. In no way, shape, or form can this be used as an example. One, UNIX is fairly stagnant. Catching it was only a question of time. Two, Linux did and does not require the use of someone else's patents to be implemented. Three, AT&T does not have a long history of purposely breaking compatibility with other UNIX vendors. Just imagine AT&T constantly breaking TCP/IP specifications and implementations to cause fragmentation.

    Your comparision seems to highlight that you don't have enough facts and surrounding history to completely understand the situation.

  24. Re:He obviously doesn't get it by callipygian-showsyst · · Score: 2, Interesting
    .NET performs *MUCH* better than Java. A while ago I re-wrote a program that was almost UNUSABLE in Java in .NET. This program does bit-twiddling on images and is plenty fast, even though it's in C#/.NET.

    I can't argue with the performance I'm seeing from C#/.NET apps. I used to be a C++ DIEHARD but I completely switched to C#/.NET when and where possible.

    A portable version of the library would be great! And it's so entrenched now that even if Microsoft adds to the API, the current API will still have to be supported for many years to come.

    Sadly, the cross-platform promise of Java, especially for GUI desktop applications, was never realized. And I've rarely seem Java apps that didn't look like 30 year old SunOs applications. Slow and ugly.

  25. Re:Technical Director? by TrekCycling · · Score: 3, Interesting

    This is exactly the point. I'm a Java developer and I wanted to learn some C# and ASP.NET. Didn't really want to go buy Windows to do it, though. So I installed Mono and next thing you know I can do 99% of what I want and need to do to learn ASP.NET and move the files directly over to a Windows server running ASP.NET and they work fine. So THAT is the major benefit of this project to me. I can do ASP.NET programming and do it on Linux.

  26. best quote by sysopd · · Score: 4, Interesting
    From the article text:

    "The major achievement of this project appears to be using somebody else's compiler to build a compiler that will compile the compiler."

    I am not the biggest fan of C# or .NET and would rather see this community work together to design and specify a next-generation free and open standard for Cross-OS/Platform/Architecture "virtual machine" and language allowing for a single portable executable binary. I'd like to see RFC's and IRC conferences, papers being passed back and forth, live conferences and formal specifications.

    For too long has the opensource community nipped at the heels of the closed-source technology leaders. It is time to innovate, time to design, time for change. I do think having an opensource C# compiler/framework/CLR is a good thing, but I believe this is only secondary in importance to having a truly free and open solution where all voices are heard and designs are not made to accommodate a particular OS's limitations or benefits.

  27. Re:He obviously doesn't get it by w42w42 · · Score: 2, Interesting

    I've read the peformance thing Re: Java vs. .NET a few places as well. I have a question (or two) though, as I know next to nothing about .NET. Could this be in part because .NET uses more native components than Java? Meaning, are a share of the .NET libraries compiled to run w/o a VM, giving .NET a natural advantage for .x86 Windows?

  28. I somewhat agree by Anonymous Coward · · Score: 1, Interesting

    I actually test a major product that uses .Net and am developing a smaller product with .Net. Frankly, I somewhat agree with the author. How long is it going to take until dotGnu or Mono can run these products? Months? Years? Never? If it takes too long, then I don't see how it's worth the effort. If dotGnu and Mono can finally run today's programs five years from now, they will be useless. If they can't catch up and keep up with what Microsoft is putting out, cross-platform compatibility will remain a dram.

    I would love to see the stuff I'm testing running on Linux instead of Windows. I'm sure more than a few of our customers would love to see the same thing, although you'd probably never hear marketing admit that. But if these projects don't pick up the pace, it's never going to happen.

  29. Re:Motivations by ao3000 · · Score: 2, Interesting

    Here are two sites that have SWT tutorials and sample code. In general, I have not found the documentation of SWT to be as good as SWING. http://www.cs.umanitoba.ca/~eclipse/ http://dev.eclipse.org/viewcvs/index.cgi/platform- swt-home/dev.html?rev=1.149

  30. Re:grrr. by vegetasaiyajin · · Score: 2, Interesting

    So you consider Win32 is a standard? it is ECMA standard 234 .

    Then I wonder why is it so hard for WINE to fully support the Windows API, it is a standard, just like C#.

    Posix, CORBA, C and C++ are not ECMA standards, but there are many implementations of them.

    --

    My heart is pure, but make no mistake, it's pure evil
  31. It's the IDE not the OS by tmscoder · · Score: 2, Interesting

    For those of you who do not use an IDE to write code I can see why you'd embrace mono. But:

    Without Visual Studio.NET I would never have learned C#.

    Without Visual Studio 6.0 and prior I would never have learned Visual Basic.

    Without Eclipse I would never have learned Java.

    Without an integrated IDE for each of the above languages my productivity would be so low as to render my consulting practice null and void.

    For main stream adoption of mono - how will the mono developers address this lack of a quality useful IDE for writing C# on linux/mac?

    And as an aside, when the perceived ROI on mono begins to dwindle what will stop Novell from pulling the plug on funding? All those mono engineers have to feed their kids too and how will they make money quiting Novell and dedicating all their time writing code for a free non-paying mono product?