Slashdot Mirror


Fedora Core 5 includes Mono

cyberjessy writes "Surprise! The Fedora Core 5 Release will include Mono in the distribution, in spite of Red Hat's opposition. In addition to the Mono runtime, it will also include Mono applications like Beagle and F-Spot. Is the Linux community finally ready to accept Mono? Mono is becoming increasing important due to Windows Vista, which has WinFX (the next .Net Framework) as its core API. This will mean that in future, all native Windows applications will easily run on Linux, with Mono. Will Mono achieve what WINE could not?"

83 of 463 comments (clear)

  1. Summary by Locarius · · Score: 3, Insightful

    Yes, off topic, but it's nice to see a well written and concise topic summary around here once in a while.

    1. Re:Summary by timeOday · · Score: 5, Insightful
      Yes, off topic, but it's nice to see a well written and concise topic summary around here once in a while.
      But how accurate is it?
      This will mean that in future, all native Windows applications will easily run on Linux, with Mono.
      I think that's far premature. Without even knowing yet what the catch is, I know there will be some. I just don't think Microsoft will let Windows apps seamlessly run under Linux, one way or another.
    2. Re:Summary by Glock27 · · Score: 3, Interesting
      I think that's far premature. Without even knowing yet what the catch is, I know there will be some. I just don't think Microsoft will let Windows apps seamlessly run under Linux, one way or another.

      Yes, as far as I know, there are no plans to clone "WinFX" at this point for Vista compatibility. Mono doesn't even have working WinForms as far as I know (after how many years?), which would provide compatibility with current Win apps.

      Java provides a better level of portability than C#/CLR...I'd look there instead for a VM based runtime.

      On that note, there is a Java port that runs on top of the Mono runtime and is supposedly fast. That might be worth investigating. (IronPython too if it ends up significantly faster than the regular Python interpreter.)

      --
      Galileo: "The Earth revolves around the Sun!"
      Score: -1 100% Flamebait
    3. Re:Summary by mrtrumbe · · Score: 2, Interesting
      Anecdotal evidence proves nothing.

      As an example, I'm a .Net developer and I think the IDE sucks (well, 'sucks' may be a bit strong--how's deficient?). Add ReSharper to it and it becomes far more useful, but who really picks a language on the basis of the GUI's available for it, anyway? If we were doing that, I'd pick Java with IDEA any day.

      No, what attracts me to .Net is the large, well documented framework API's available out of the box, the rich set of free third party libraries available (many (most?) of which have been ported from Java), the relatively clean and feature-rich primary language, and the subsequent rise in productivity it gives me and my programmers.

      The IDE itself is a bit buggy and constricting for my tastes. Try, for instance, checking out changes to two project files at the same time. Visual Studio will inform you that a project has changed outside the IDE and asks if you want to reload it. How nice! Until you realize that it only reloads one of the two projects, that is. Recycle time. Or how about the shitty way it handles references to other assemblies. Rather than treating the assigned path to a referenced assembly as the gospel, it treats it as a "hint." This can cause wierd and hard to debug problems when compiling on another programmer's machine (granted the incidents of this happening are relatively rare, but I've seen it bite people 4-5 times in the last few years alone--zero would be far more acceptable).

      Another annoying point is that all folder management (moves, renames, etc.) have to be done from within the IDE. This requires a lot of point and click gymnastics in certain scenarios. No fun at all. And don't even get me started about C++ support. They really punted there (in 2003, anyway--supposedly they tried making it far better in 2005, but reports from my C++ collegues indicates that they ended up breaking things like intellisense entirely).

      Taft

    4. Re:Summary by mrtrumbe · · Score: 2, Insightful
      Why you gotta be a hater?

      Seriously, what do you have a against the people developing mono, anyway? Is this one of those "you aren't a real programmer unless you code in C++" attitudes? What's your beef, man?

      Taft

    5. Re:Summary by Jugalator · · Score: 5, Interesting
      Yes, as far as I know, there are no plans to clone "WinFX" at this point for Vista compatibility.

      WinFX is far from required for "Vista compatibility". Basically no applications will use WinFX when Vista is released, and I have to wonder how many Windows developers are actually ready to jump ship from unmanaged C++ to .NET and WinFX. The new WinFX development models with e.g. Windows Presentation Foundation and XAML for UI development, etc. are totally incompatible with current C++ applications. It feels like several years ahead at the very least.

      As for the Windows.Forms namespace, it's well underway actually. In the November 2005 status report, word is:
      Windows.Forms is the only piece that is holding us from officially renaming Mono to Mono 1.2, it is still missing a few features. Our plan is to complete the missing features by the end of this month and then move to bug fixing and testing open source our publicly accessible Windows.Forms applications. We are planning on spending three months on bug fixing at this point.

      This hardly sounds too unattainable to me.

      And before anyone asks, no, Windows Forms 2.0 support isn't required for "Vista compatibility" either.
      --
      Beware: In C++, your friends can see your privates!
  2. The patent problems have not been addressed by H4x0r+Jim+Duggan · · Score: 3, Interesting

    The strategy for dealing with patents is discussed on the Wikipedia article about Mono. It is not a well thought out strategy.

    It's probably good that Mono exists, it may have uses in some situations. It may help people get out of .Net related lock-in, but in general it should not be built upon.

    1. Re:The patent problems have not been addressed by ajs318 · · Score: 2

      In Europe and in Britain, the law is quite clear: software patents are null and void. As long as development work is carried out in a software-patent-free environment, there should be no patent problems.

      I seem to recall it being fair use to make a version of something covered by a patent as long as it is for your own use. So it might well be OK just to host the download servers outside the USA.

      Of course the best strategy in the long term will be to elect representatives who oppose software patents, and get your stupid law changed.

      --
      Je fume. Tu fumes. Nous fûmes!
    2. Re:The patent problems have not been addressed by ranton · · Score: 3, Interesting

      It may help people get out of .Net related lock-in, but in general it should not be built upon.

      What is this .Net related lock-in that you are speaking of? In my opinion .Net is one of the best things that Microsoft has ever done. Developing has never been as easy and feature rich as it is under the .Net platform. My development time since switching to .Net is on another level than it was before; I almost cannot imagine going back. .Net is one thing that Linux should definetly embrace, I havent found a problem or flaw with using the .Net framework yet (not including bugs, all software has bugs).

      --

      --
      -- All that is necessary for the triumph of evil is that good men do nothing. -- Edmund Burke
    3. Re:The patent problems have not been addressed by hey! · · Score: 2, Insightful

      Well, According to the article ASP.NET, ADO.NET and Windows Forms are the issue. There are free alternatives to all of these technologies (e.g. gnome-db, gtk#), and programmers concerned with portability should use them. Some would argue the alternatives are better.

      Programmers who aren't concerned with portability should use whatever they like best, understanding that if they go MS then they might not be able to run.

      The only suckers in this are people who use (or implement) MS proprietary APIs and assume they're going to be free. If you want a free API, use a free API.

      I can also see a stragegy where design patterns wrap alternative proprietary and free components, like SWT and Hibernate in the Java world. While something like SWT wouldn't make much sense for app developers, it might be useful for developers of visual components. Hibernate is already available for Mono.

      --
      Post may contain irony: discontinue use if experiencing mood swings, nausea or elevated blood pressure.
    4. Re:The patent problems have not been addressed by afabbro · · Score: 4, Insightful
      What is this .Net related lock-in that you are speaking of?

      Hey, I'd like to develop a .Net program and run it on Solaris/AIX/Linux/etc. Oh, I can't? Gee, seems like I'm locked in to the Windows platform with .Net.

      Compare and contrast with Java. Or open source code. Or a lot of closed-source code, for that matter. Just like Visual Basic, if you write in .Net, you're only writing for Windows.

      --
      Advice: on VPS providers
  3. Aha! by Anonymous Coward · · Score: 2, Funny

    So Fedora Core 5 will be shipping with a virus!

    1. Re:Aha! by QuantaStarFire · · Score: 3, Funny

      It's the kissing disease, you know. Our little OS is growing up! :)

  4. Great news! by Anonymous Coward · · Score: 3, Interesting

    I don't really care about windows programs running on linux, though this is of course an interesting subject.

    What's more important is that the stupid infighting about what role mono could play in Gnome can now finally end.
    Mono seems to offer something that many people like and can now finally simply be used to build great programs for Gnome (just like pythong, jave, etc.), without being preoccupied with Fedora and thus a large Gnome distribution not shipping mono.

  5. Heh. by SatanicPuppy · · Score: 4, Funny

    First time the "Kissing Disease" has ever been accessable to geeks.

    One the one hand, I'm all in favor of open source alternatives, and it adds a lot to linux to be able to run .Net apps, but I can't help but think we'd be better off with another language. .Net is so freaking encumbered.

    Still, it'd be nice to be able to host .Net apps on Linux servers...

    --
    ad logicam Claiming a proposition is false because it was presented as the conclusion of a fallacious argument.
    1. Re:Heh. by Hosiah · · Score: 3, Insightful
      linux to be able to run .Net apps,

      Hey...wait a minute. Do you mean Net apps like in "Visual Basic Script-Kiddies EZ Virus Kit"? Maybe this isn't something to dance in the streets about after all...

  6. Will all applications be rewritten? by mwvdlee · · Score: 4, Insightful

    This will mean that in future, all native Windows applications will easily run on Linux, with Mono.
    Will all major Windows applications be rewritten to .NET?
    I just can't imagine Adobe, Autodesk, Corel, etc. translating their code to .NET in the near future.

    --
    Slashdot social media options: AIM, ICQ, Yahoo, Jabber and Mobile Text. Why no MySpace?
    1. Re:Will all applications be rewritten? by anarxia · · Score: 4, Insightful
      All applications.. no chance. Some of them might.

      The problem is that MS (intentionally or not) left a lot of functionality out of the .NET standard libraries _AND_ made it almost trivial to call native code from within .NET.
      The end result is that most applications end up using Win32 DLLs directly so wine is still necessary.

    2. Re:Will all applications be rewritten? by ergo98 · · Score: 2, Insightful

      The problem is that MS (intentionally or not) left a lot of functionality out of the .NET standard libraries _AND_ made it almost trivial to call native code from within .NET.

      The .NET Framework is enormously comprehensive, and with additional free libraries you can do just about everything without ever knowingly touching "native" code (though of course most of the Framework is just a think veneer over native code, which was the optimal way of implementing it).

      Nonetheless, it was created as a development platform for Windows, and that includes the ability to call native code where it's the best option (just yesterday I hooked HTML Tidy into a .NET project, easily using the Tidy DLL library to process some HTML streams).

      The submission is flipping ridiculous - Not only is it completely ignorant of WinFX, but it's ridiculously optimistic about cross-platform capabilities, when the existing Mono framework is woefully incomplete for porting even basic WinForms apps.

  7. Easily run by DrXym · · Score: 5, Insightful
    Someone has obviously never tried running a .NET application under Mono. More often than not, it calls Win32 via PInvoke, uses an ActiveX control / COM interop, or does something else which renders it unusable on other platforms. Some apps might work, particularly command line tools, but it is by no means guaranteed or even probable.

    And this is probably what MS had in mind all along. And I don't see it changing either. Microsoft make it easy to slap together apps with their stack and tools. Mono makes it hard to do the same with theirs. That means Mono will constantly be playing catch-up with Microsoft, reaching for but never getting close to 100% compatibility.

    1. Re:Easily run by Giometrix · · Score: 2, Interesting

      I've never done more with mono that the simple "Hello World" app. Does Mono have an equivilent (or near equivilent) of Windows Forms?

      --
      Download free e-books, lectures, and tutorials at bookgoldmine.com
    2. Re:Easily run by adolfojp · · Score: 4, Informative

      There is a WinForms compatibility layer in the making. Its first release will handle the WinForms of the 1.1 .net specification. Mono will be forced to play catching up with this GUI framework and it uses the compatibility stack instead of the ECMA compliant one.

      If you want to make Linux applications using Mono I strongly recommend using GTK#. Beagle and F-Spot use GTK#.

      Cheers,
      Adolfo

    3. Re:Easily run by jonwil · · Score: 3, Insightful

      And that is where WINE comes in.
      The people behind Mono and the WINE people should work together so that Mono will use WINE for any PInvoke (either standard win32 APIs or something custom that comes with the .NET app) and hence the WINE implementation of COM & OLE for any ActiveX controls or COM interop.
      If the item being used (e.g. the API call being PInvoked) is a standard windows item, then the .NET app will run on any system that has a usable port of WINE and Mono on it. If it is a non standard item for which source code is available, again, it could be ported and run via WINE or WineLib somehow. (or if its closed source but documented, it could be cloned somehow)
      Even if the item being used is a closed source propriatory item for which there is no possible clone or use on non x86 platforms, Mono with WINE could still be used to run the whole thing on x86 linux

      The question is whether the WINE people are prepared to do what is necessary to allow Mono to use WINE for the bits it needs (including PInvoke, COM and the talked-about implementation of System.Windows.Forms which has to go on top of something looking like user32 so that all the support is there)

    4. Re:Easily run by adolfojp · · Score: 2, Informative

      Windows Forms are not bad, but they could be a lot better. Microsoft realized this and is introducing XAML as a replacement, and I am eagerly awaiting its arrival.

      WinForms don't provide an elegant method for separating the View from the Controller. WebForms achieve this by having an aspx markup page that links to a cs or vb controller page. GTK does this by linking a glade XML file to a code file. In this sense, GTK is superior to WinForms.

      XAML solves the issue of code and design separation using the same approach that WebForm and GTK use.

      Cheers,
      Adolfo

    5. Re:Easily run by pthisis · · Score: 2, Informative

      Has anyone considered the notion that Mono should be implemented because a Common Language Runtime is actually a good idea?

      That's probably true, but approaches like PyPy and Parrot are probably going to be vastly superior in terms of both flexibility and performance (I'd bet on PyPy if I had to pick one right now--of course it only runs Python, Javascript, and a couple other languages at the moment, but it's got smart developers, serious European Union funding, and a design that lends itself easily to implementing other language front ends, and performance is improving at an incredible rate).

      --
      rage, rage against the dying of the light
  8. Mono and python by amightywind · · Score: 2, Insightful

    As a Gentoo user I wouldn't expect any package to be summarily left out. What I worry about is for packages such like Mono to become deeply embedded in distributions and create lots of dependencies, like Python. Python is increasingly a boil on the butt of GNU/Linux systems. Mono could go the same way.

    --
    an ill wind that blows no good
    1. Re:Mono and python by m50d · · Score: 5, Insightful

      How is it a boil? It's a great language, very useful, makes the base system smaller overall (because so many things can be made much smaller in python) and is nice to be able to depend on it being available. Slating distributions for depending on python is like criticising them for depending on libc.

      --
      I am trolling
    2. Re:Mono and python by m50d · · Score: 3, Insightful
      Distributions depend on libc because they have to.

      No they don't. They could write everything in assembler and just use the kernel calls. They depend on libc because it's easier to write programs in C and use the library - the exact same reason they depend on python.

      --
      I am trolling
    3. Re:Mono and python by m50d · · Score: 2, Insightful
      You mean to say that you believe distributions like Fedora write all the applications they include? In most cases, they don't (except for things like the redhat-config-* family of apps). Linux distributors don't have a choice about including libc unless they want to rewrite ls and every other application written in C.

      And they don't have a choice about including python unless they want to rewrite every application written in python. It's exactly the same situation.

      --
      I am trolling
  9. talking about exaggeration by Anonymous Coward · · Score: 5, Insightful

    This will mean that in future, all native Windows applications will easily run on Linux, with Mono.

    How about

    This may mean that in the future, some native Windows applications will run on Linux, with Mono.

  10. Will Mono achieve what WINE could not? by overshoot · · Score: 4, Interesting

    Not a chance. All of the MS application base (including the new ".NET" stuff) still depends on the underlying Win32 system functions, DLLs, etc. The newer interpreted APIs are just wrappers around the older stuff.

    --
    Lacking <sarcasm> tags, /. substitutes moderation as "Troll."
    1. Re:Will Mono achieve what WINE could not? by MobyDisk · · Score: 5, Insightful

      Actually it is quite easy because of one crucial difference. It's not the implementation that matters, it is the interface. And .NET provides a good interface.

      Even if Microsoft implemented the .NET APIs as wrappers around Windows APIs, the fact is that the APIs are clean and they are well documented. They follow the rules of encapsulation well. That makes it possible to re-implement them in a straightforward fashion. The problem with WINE is that the Windows API does not follow good design and rules of encapsulation, so the implementation is often exposed. WINE is not an implementation of an API as much as it is a reverse-engineering of one. But that problem goes away with .NET.

      Mono today works stunningly well today. The only issue is Windows Forms, because it isn't as well encapsulated as the rest of the API.

  11. One more thing by lheal · · Score: 2, Insightful
    to turn off in Kickstart.

    Patents are (supposed) to protect a novel way of doing something. If you can watch that something occur and come up with the same thing, how novel was it?

    I know that doesn't mean much once someone already has a patent and a lawyer, but still.

    --
    Raise your children as if you were teaching them to raise your grandchildren, because you are.
  12. er, no by Doktor+Memory · · Score: 2, Funny

    This will mean that in future, all native Windows applications will easily run on Linux, with Mono.

    If by "the future" you mean "never", then this is correct. Otherwise, this is balderdash.

    --

    News for Nerds. Stuff that Matters? Like hell.

  13. Some interesting stuff coming in .NET by Sanity · · Score: 5, Interesting
    Microsoft has some interesting technologies in the pipeline for .NET 3.0. One of the most exciting is LINQ which will change the way we interact with SQL databases, and data in general from within our code. Other language enhancements will mean that Java has a lot of catching up to do (and no, I'm not a M$ fanboy, Java is my tool of choice and I use a Mac).

    The question is: Will Mono support these new features, and if so, when?

    1. Re:Some interesting stuff coming in .NET by EachLennyAPenny · · Score: 2, Insightful

      Java has lot to catch up? Even Cocoa has this feature which _now_. It is called "Predicates" (http://developer.apple.com/documentation/Cocoa/Co nceptual/Predicates/index.html#//apple_ref/doc/uid /TP40001789). And i think Apple has much fewer developers than Sun.

    2. Re:Some interesting stuff coming in .NET by multi+io · · Score: 2, Informative
      LINQ introduces anonymous and higher-order functions like filter, map etc. (a circa-1970 innovation) to C#, plus a syntax hack that allows you to write something like

      var seniorNames = from p in people
      where p.age>40
      order by p.age
      select p.name;
      instead of
      var seniorNames = people.Where(p => p.age > 40).OrderBy(p => p.age).Select(p => p.name)
      to make people think that this is something completely new (me, I would prefer the 2nd version), plus an introspection hack that can *sometimes* translate this to SQL/XSLT if "people" is a database table/XML node (as you can imagine, this can't work with more complicated code in the Select/Order etc. code pieces because the implementation actually has to go out and take apart and try to "understand" that code in order to be able to translate it to SQL/XSLT). (no, integrating .NET into the database server directly won't do away with this problem)

      Now, it seems the implementation is also pretty decent for cases where "people" is a normal .NET collection object ("deferred execution"), but still, decent OSS languages have had HOFs for years, and this isn't something that's particularly new or hard to do despite some PHBs who now start foaming on the mouth fantasizing how Microsoft is going to revolutionize the way we deal with data in programming languages...

  14. Unless you use python by codepunk · · Score: 2, Insightful

    I use python for just about everything including machine automation at work. A distro without python would be absolutely worthless to me. Hell ain't the gentoo ports system built on python?(don't know for sure I don't use gentoo).

    --


    Got Code?
    1. Re:Unless you use python by amightywind · · Score: 3, Insightful

      Sadly the portage system is written in Python, which is my point. Gentoo depends on Python. A simple clean design would have Gentoo consist of a kernel, binutils, compiler stack, init scripts, and portage written in C and depending on the C library only. Instead the portage system pulls in Python for no particular reason. By all means use Python as an application language. Foundational system services should not be written in it.

      --
      an ill wind that blows no good
    2. Re:Unless you use python by dancallaghan · · Score: 2, Insightful

      I agree totally. Since the beginning of time, Unices have included Perl, because that's what everyone used for automation. Python has (thankfully) changed things, to the point where most distros consider Python as obligatory as Perl.

      Grand-parent is quite mistaken about how much of a "pain in the butt" (or was it "boil on the ass"? whatever) Python is though -- on my systems at least, it compiles faster and in less RAM (swap, rather) than Perl. And I can then rest assured that most Python scripts I find, or write myself, have access to a broad standard library included with Python -- unlike Perl, where it seems anything worthwhile written in it has a million stupid CPAN dependencies (thank heavens for g-cpan though!)

    3. Re:Unless you use python by gowen · · Score: 4, Insightful
      Instead the portage system pulls in Python for no particular reason.
      Portage is a complicated set of programs. Complicated programs are easier to write in python, because of the languages features, and complicated secure programs even more so. They're written in python because the developers consider it (one of) the best solutions to the problem.

      If you know better, and think it should have been written in C, I', sure the present developers would be very interested in seeing your port.
      --
      Athletic Scholarships to universities make as much sense as academic scholarships to sports teams.
    4. Re:Unless you use python by Tsunam · · Score: 2, Informative

      Let, me guess...you happen to think that portage is amazingly slow in doing anything right?

      Have you tried the 2.1_pre releases yet, a lot of effort has gone into improving the scalability of it. You will notice a vast improvement on most systems with it. Especially when you hit the KDE modular ebuild updates.

      You can also feel free to visit any of the developers in the irc channels ranging from #gentoo to #gentoo-portage for portage itself on irc.freenode.net. Generally, we're all willing to have a nice talk about our various area's with the end user, after all we are end users as well.

      ps. just don't start in with the rewrite it in C so it's cool and awesome and python sucks...that'll quickly get you disliked :)

  15. Re:From the article you linked to: by H4x0r+Jim+Duggan · · Score: 4, Insightful

    "The problematic parts are not the core technologies submitted to the ECMA or the Unix/Gnome-specific parts."

    The problem (software patents) can affect any part. If MS have claimed they don't have patents on "core parts", you cannot trust them. If the Mono devs have claimed that MS don't have patents on "core parts", they are saying something they can't possibly know.

    As well as including "according to the public statements of MS and the Mono devs", you should also read that sentence with the qualification: "for now anyway".

    if you say something is not well thought out, also saying why

    The reasons why their plan is not well though out are given in that article, in the last paragraph of that section, just after the list of the 3 strategies.

  16. Mono is like Java by TCFOO · · Score: 3, Interesting

    This will mean that in future, all native Windows applications will easily run on Linux, with Mono Maby, but Mono is sorta like java. the .Net Programs will be portable as long as the developers don't use Microsoft APIs like java is portable to gcj as long as you don't use the com.sun.* packages etc.

    1. Re:Mono is like Java by jsight · · Score: 2, Interesting

      Maby, but Mono is sorta like java. the .Net Programs will be portable as long as the developers don't use Microsoft APIs like java is portable to gcj as long as you don't use the com.sun.* packages etc.


      Sort of... actually .Net is worse. In the Java world, using "com.sun.*" packages is considered to be a VERY BAD practice, even by Sun. The standard API documentation, for example, does not even include them.

      People do still use them from time to time, but they can cause problems even without getting GCJ/GNUClasspath into the picture as often licensed VMs don't support or maintain those APIs either.

      In the .Net world, the use of those APIs is not heavily discouraged at all in general.
  17. Vista will muddle the developer landscape by boxlight · · Score: 5, Interesting

    Mono is becoming increasing important due to Windows Vista

    As a developer, I have great concern over how Vista will muddle the Windows landscape. Microsoft is creating a situation where developers have to build and test for way too many Windows platforms.

    That is, many developers and network administrators use Windows 2000 exclusively and most other pros and home users use XP -- and my father in law still uses Windows 98. NONE of these people have any intention of upgrading to Vista. So Vista will likely only be installed on new PCs

    It's getting to the point where there's just too many versions of Windows out there to support:

    Win 98 SE
    Win 2k Workstation and Server(s)
    Win XP Home and Pro
    Win Vista??

    And the pointy-haired-bosses will continue to shout that *all* versions of Windows must be supported. That means more development, more testing, more installers, more deep sighs.

    The "write once run anywhere" of Java is becoming more attractive all the time.

    boxlight

    1. Re:Vista will muddle the developer landscape by adolfojp · · Score: 3, Informative
      As long as you make your applications for the .NET framework your applications will run on the .NET framework.
      You can get it here and according to their website it will run on the following:
      Supported Operating Systems: Windows 2000 Service Pack 3; Windows 98; Windows 98 Second Edition; Windows ME; Windows Server 2003; Windows XP Service Pack 2
      It is like Java, except that it is designed to feel and perform like a native windows app.

      As for Vista. Considering the monumental effort that they made in making their .NET 2.0 compatible with the 1.1 I can't see any good reason for them to break it in the future.

      Cheers,
      Adolfo
    2. Re:Vista will muddle the developer landscape by smallpaul · · Score: 2, Insightful

      And the pointy-haired-bosses will continue to shout that *all* versions of Windows must be supported. That means more development, more testing, more installers, more deep sighs.

      You act like this is a new problem and not just the situation that the industry has been in since the beginning. What about supporting old versions of Linux? Old versions of DOS? Old versions of Java? Old versions of Python?

      The "write once run anywhere" of Java is becoming more attractive all the time.

      Right: Java doesn't have a version skew problem at all. Not at all. It's never the case that a minor patch to the JVM will break a bunch of programs. Never. If you believe that you're living in a fantasy world.

  18. Eh... no by adolfojp · · Score: 3, Insightful
    Mono is becoming increasing important due to Windows Vista, which has WinFX
    Mono is becoming such an important platform because it is such a great platform to develop for. If you like statically typed languages C# has no equal. If you like virtual machines, mono is the only one that performs well and is open source. If you like python, you will be able to compile python to bytecode for added performance.

    Winforms on mono is not complete yet and it will be a long time before a compatibility WinFX layer is ready. Mono is great for what it is, not for what it could be.

    Cheers,
    Adolfo
    1. Re:Eh... no by jsight · · Score: 2, Informative

      If you like virtual machines, mono is the only one that performs well and is open source.


      Is this really true? I was under the impression that Cacao was actually fairly fast.

      And the Mono runtime is far from wonderful at this point, IMO (not all that stable, and not particularly fast).
    2. Re:Eh... no by adolfojp · · Score: 3, Informative
      Sir, you are absolutely correct and Cacao is great. And now, to undo my mistake, allow me to rewrite my previous statement.
      If you like virtual machines, mono is the only one that performs well and is open source and is designed to be almost programming language independent.
  19. What I want to know is ..... by ajs318 · · Score: 5, Funny

    ..... why wasn't the Open Source clone of the "C#" programming language called "Db" ?

    --
    Je fume. Tu fumes. Nous fûmes!
  20. Re:WinFX != .Net Framework by iGN97 · · Score: 2, Informative

    Parent got it more right than you. WinFX is the next iteration of the .NET BCL which is a collection of managed APIs, including (that is, now adding) WCF (Windows Communication Foundation, formerly known as Indigo) and WPF (Windows Presentation Fondation, formerly known as Avalon) and WWF (Windows Workflow Foundation). XAML is the declarative (XML-markup) which is similar to XUL. All that can be done in XAML can also be done in code; elements used in mark-up will be immediately available as first class objects in C# and friends.

  21. Misleading by JanneM · · Score: 4, Insightful

    The whole "run Win-apps under Linux" really is a little misleading. That's not really the point of Mono for most users.

    The point, rather, is that it is a very, very nice development environment and a very pleasant language, well-suited for application development, as f-spot and others are a testament to. As a bonus, the apps written under mono will be easy to deploy under Windows as well, should it be needed.

    And when you use Mono to write desktop apps under Linux you aren't using anything Windows-related that isn't covered by the ECMA standard. You have no larger exposure to patent issues than you have under any other environment (possibly barring plain C and POSIX libs. Possibly).

    --
    Trust the Computer. The Computer is your friend.
  22. Re:Maybe. by bozho · · Score: 2, Informative

    Something like this: http://www.cygwin.com/ ?
    And there's a ports site, too: http://cygwinports.dotsrc.org/ KDE, Gnome, Xfce4 and many apps. Very nice :-)

  23. Big Deal by smartin · · Score: 2, Informative

    If anyone thinks that Mono will allow applications that were written on windows to the windows implementation of .net will somehow run seemlessly under linux, think again. .net is largely a scripting front end for native windows C++ dlls. Yes there are some implemenations of some of the .net libraries for mono but there is no way that 90% of the code written for .net will ever work under linux. Even applicatons written specifically for mono, like paperboy or beagle are shakey at best.

    I suppose mono is interesting if you think the .net framework is useful, but if you want to get/write/use cross platform applications, say away from propietary M$ technology.

    --
    The difference between Canada and the USA is that in Canada healthcare is a right and gun ownership is a privilege.
  24. Re:Why .MONO by Christopher+B.+Brown · · Score: 4, Interesting
    There is a merit of MONO over Java, for free-ish software, namely that it is likely to be a more uniform platform than Java.

    The trouble with Java, at present, is that full implementations (complete with all the latest J2EE, Java 1.whatever-is-latest) are proprietary to Sun and other commercial vendors. You can't include a full-scale Java with a Linux distribution; the licenses won't permit it, as the implementations aren't "free" the way Linux and attendant software in a Linux distribution need to be.

    The lowest common denominator takes you back to partial implementations of Java 1.2 or the like; Kaffe, Classpath, and the like, with no Swing GUI and I'm not sure if Eclipse will run well with these "partial" Java environments.

    MONO avoids all that; the free implementation is reasonably full featured, seemingly moreso than the "libre software" implementations of parts of Java.

    I doubt it'll actually provide all that much interoperability with Windows. But the point of it was that the Ximian folk were getting tired of fighting with writing C memory management code for dynamic applications like Evolution. If they can write "Evolution Next Generation" using MONO, and have it be smaller, more componentized, more powerful, and more robust than struggling with the C version, that could be the "killer app" that makes MONO worthwhile in its own right, ignoring Microsoft's software.

    It seems to me that Beagle is one of the relevant components for MONO-based "killer apps."

    --
    If you're not part of the solution, you're part of the precipitate.
  25. Re:Simple question -- simple answer. by pe1rxq · · Score: 2, Informative

    Not quite, Mono also includes a VM that interprets the .net bytecode, much like java.

    --
    Secure messaging: http://quickmsg.vreeken.net/
  26. Re:Simple question -- simple answer. by Eivind · · Score: 4, Interesting
    Yeah, sure, it's something completely different from Wine. But my "no" was sorta based on something different, namely the idea that, as stated in the blurb:

    This will mean that in future, all native Windows applications will easily run on Linux, with Mono. Will Mono achieve what WINE could not?"

    Mono will certainly not ever come anywhere *close* to being able to run "all native Windows applications", there's like half a dozen independent reasons for that, ranging from your "it'd require a recompile in any case" trough unpleasant little facts like the fact that Mono is trying to chase a moving target that is willing to spend a lot of money and man-hours precicely to *avoid* that too much works with Mono.

    In sum, they'll have all the problems of Wine, and then some. (the need for sourcecode f.ex)

    Worse yet: the mono-developers are suggesting one migth want to develop OSS applications with a primary target being Free OSes under Mono. Doing so would be double hurtful: It'd ensure that any such application developed for Linux works perfectly under Windows (because mono is a *subset* of the MS-environment, AND because all OSS-applications come with source), but *not* the oposite.

    It's a braindead waste of time. I don't see how I can put it more politely. It actively hurts the Free Software ecosystem.

  27. solidarity by H4x0r+Jim+Duggan · · Score: 3, Informative

    People in Europe and Britain are kinda safe right now. Software patents are being granted, and are being used as the basis of litigation threats that the recipients can't afford to contest, but at least the courts are on our side, so far.

    This situation is not stable. If China, India, and Latin America bring in software patents, then Europe will probably give in at a subsequent world trade agreement.

    To keep people in Britain and Europe safe, people in Britain and Europe must take action - and one easy way to do this is to donate to competent, active groups such as FSFE. One way to do this is to join The Fellowship of FSFE, and also encourage others to join.

    Here's a webpage about how and why to support FSFE's Fellowship campaign.

  28. Re:From the article you linked to: by JanneM · · Score: 3, Insightful

    This more general patent problem is not limited to Microsoft and not limited to Mono. Java is no more protected, and neither is any other reasonably modern implementation of anything non-trivial.

    The only way to be _sure_ you aren't violating a patent is to turn off the computer and leave it altogether.

    --
    Trust the Computer. The Computer is your friend.
  29. really by petermgreen · · Score: 2, Insightful

    This will mean that in future, all native Windows applications will easily run on Linux, with Mono. Will Mono achieve what WINE could not?"

    BULLSHIT

    mono will run into the same problem wine and free java have. if developers develop for one implementation you will be hard pressed to make an alternate implementation that works flawlessly with the apps those developers develop.

    --
    note: i'm known as plugwash most places but i screwd up registering that here somehow in the past and now can't register
  30. Re:Maybe. by bozho · · Score: 2, Informative

    IMHO, dual boot is a pain. I prefer coLinux http://www.colinux.org/
    And I think it runs on Linux, too :-)

  31. From a practical point of view.. by rann · · Score: 2, Interesting

    I think this is good news. I use FC4 and include Novell's mono repos. It's the only outside repo I use, all other stuff I build/hack/package myself. This means I won't have to use any repos besides Core and Extras, which rocks. Maybe this will mean they'll also include Muine? My fave musicplayer, which happens to be a Mono app. Who cares about them windows compat features anyway? There's enough coolness in Mono on itself to warrant its inclusion into FC5. More languages, more choices. Sounds great!

  32. Re:Since FC is going against RH... by christooley · · Score: 2, Insightful

    At the time when the company sponsoring the project and taking legal responsibility for the actions of the project feel comfortable that they are either safe from patent infringement or are willing to take on the patent's legal standing. NTFS is a clearly patented technology, as is mp3 and case history shows that judges have been willing to rule in favor of the patent holder.

    RedHat holds the strings on the Fedora project because it's RedHat's project. They pay for the equipment, bandwidth and a large portion of the developement community. It's their prerogative to do as they see fit, much like the Debian leaders control that project and Linus and team control the standard kernel tree. If you don't like, there are other distros out there, use something else.

  33. Accuracy by blowdart · · Score: 2, Informative
    Mono is becoming increasing important due to Windows Vista, which has WinFX (the next .Net Framework) as its core API.

    WinFx is not the next .net framework, it is the next generation API set.

    It's an encompassing term, covering Presentation Foundation (how you display things on screen), Communications Foundation (secure program to program stuff), WinFS (the meta data "file system"), Workflow and Infocard (authenication and authorisation), all of which exposed as a managed code API.

    It is also not limited to Vista, most of it will be back ported to XP and 2003. Look upon it as a Win32 replacement for .net. Now imagine implementing that from clean room code. Stop crying at the back.

    So whilst the summary may be concise, it is not, I am afraid, accurate.

  34. Re:Idea - don't write windows native apps by tacocat · · Score: 2, Insightful

    You are half right.

    I personally believe that most projects spent on emulating something Microsoft has done is a waste of time. Historically Microsoft has had very little contribution to the computer industry that has any significant longevity or impact outside of their own interests.

    With the exception of MONO, I am not aware of any projects to emulate Microsoft versions of languages (eg: Visual Basic). In contrast, Perl, Python, Ruby, Lisp, Java, C/C++ where all languages that were developed someplace other than Windows and have managed to remain rather viable to date. And they have some degree of cross platform compatability depending on the platforms and the constructs of the language used.

    If you look at their other products: Office was nice but it's getting a bit out of hand. But OpenOffice covers >90% of the functionality. And it's something that is available on and compatible with more OS platforms than Office. Long term, it's ultimately a better buy.

    About the only arena that Windows might have advantages is with IDE's. But I'm not a big fan of most of the IDE's out there. They tend to assume your code style and ultimately you end up debugging your code on the contributions of the IDE rather than your own contributions or the contributions of others. When you spend time trying to fix your code because of your Environment, it's time to move to a new environment. But that's just my opinion. A lot of people absolutely love their IDEs.

    But I have to disagree with the conclusion that you can just write everything in Java to make it cross platform compatable. Yes, you probably can. But Java just isn't that special anymore. It's not the only language that's cross platform capable. It has never really lived up to it's proclaimed write once run anywhere mantra. It's done well, but it's never been a guarantee. More like, write once, test everywhere, hope you get lucky.

    When you compare the speed of Java (start up and runtime) and the fact that it's compiled to the newer (alternative) languages like Python, Ruby (perl as an alternative) there really isn't much left for Java to do that's worth the overhead in development time and resources. My past experience with Java is that I have to keep watching out for Out of Memory errors on applications. This is the only programming language that I have experienced an Out of Memory error in the past 5 years.

    I'm starting to think that languages that are not developed by companies are better than languages that are developed by companies, regardless of their intentions.

  35. Re:can mono work with wine by lamber45 · · Score: 2, Informative

    The most recent time this was discussed by the wine developers is in this thread. At one time some Mono developers were linking wine to mono, but then they got upset about the changes in the Wine API for Linux programs (this was before the 0.9 release), and they decided to just do all WinForms-related stuff with native .NET code. AFAIK no one has tried to do anything in that direction since the 0.9 release.

  36. Quality of unencumbered Java implementations by lamber45 · · Score: 3, Informative
    The lowest common denominator takes you back to partial implementations of Java 1.2 or the like; Kaffe, Classpath, and the like, with no Swing GUI and I'm not sure if Eclipse will run well with these "partial" Java environments.

    Eclipse is a package in FC4, compiled with gcj. It's fairly stable, and the user-interface is the same as in a version of Eclipse running with Sun Java on another platform.

  37. Completely missing the point by GauteL · · Score: 4, Insightful

    The inclusion of Mono in Fedora is the first step towards healing a rather serious potential rift in the GNOME world. Up until now, you could not develop a Mono-app with GTK# and expect it to work on all major updated distributions without added software.

    Don't worry about Windows compatibility, Mono is cool enough on it's own, especially because Novell/Ximian has done such a good job with the Mono-wrappers for GNOME-technologies. Hopefully this will see more GNOME-development.

  38. Re:sluggish by namekuseijin · · Score: 2, Insightful

    "Mono is not quite here for prime time - it is slow and sluggish"

    that never hampered java and .net themselves...

    --
    I don't feel like it...
  39. Re:Can you build and run this with MONO? by compass46 · · Score: 2, Informative

    MainForm.cs(35,26): error CS0234: The type or namespace name `Windows' does not exist in the namespace `System'. Are you missing an assembly reference?

    Also, C# 2.0 isn't complete, are you sure you shouldn't be using mcs over gmcs?

    http://www.mono-project.com/CSharp_Compiler

  40. Re:A brave prediction by Anonymous Coward · · Score: 2, Insightful
    LINQ is more than just a database abstraction framework, although that is part of it's functionality. LINQ is the implementation of lambdas and extension methods together to produce an SQL-like syntax with which you can query any form of enumerable object, from an array to a collection of classes to XML to a database.
    int[] numbers = new int[] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
    var query = from i in numbers where i % 2 == 0 select i;
    foreach(int i in query) { Console.WriteLine(i); }
    var query2 = numbers.Where(i => i % 2 == 0);
    foreach(int i in query2) { Console.WriteLine(i); }
    Both would list all even numbers in the array. The SQL syntax is sort of backwards, a decision made because intellisense features would function better if the source is known first. The VB9 team has decided to follow SQL more closely in it's implementation.

    Any way you dice it LINQ provides an interesting new approach (for procedural or OOP languages) to tackling querying data, regardless of it's source.
  41. Trust Microsoft. by Burz · · Score: 3, Interesting
    Miguel de Icaza: Mono BOF Proposal Turned Down By Microsoft For Second Year Running?
    "At the last PDC," Miguel de Icaza (pictured) notes, "the Mono BOF had the largest number of votes when half the spots were still available and it got dropped out of the list." Now it seems that history is about to repeat itself.

    Writing, in his blog, of last year's disappointment, he explains:

            "When I asked the various people in charge what happened they kept pointing fingers at someone else until it reached full circle. Nobody could tell me why the most voted BOF proposal did not get selected. I would be happy with an honest answer even if it is "We do not want to promote open source/Mono/Novell" instead I heard a number of variations on "The problem is that `New frontiers for 6502 assembly language in the copy-editing industry had more votes'" (it didnt)."

    This year's PDC, de Icaza fears, "is looking just like the last one. So it is time to get ready for a Mono meeting like we had the last time: in the middle of the hallway."

    Very telling entry from Miguel's own blog.

    What's on display here isn't even remotely close to a cooperative spirit to further a community standard. It is more of a Cold War.

    ECMA? Who cares... ECMA trying to set the direction of C# and CLR is like steering a truck with a flea.
  42. Funny by SuperKendall · · Score: 2, Interesting

    If you like virtual machines, mono is the only one that performs well and is open source and is designed to be almost programming language independent.

    It's awfully funny how C# developers all the sudden get all teary-eyed over the ability to use any other language than C# when the topic of faster JVM's comes up...

    But then someone has to go and mention that the JVM runs about 200 languages. How many does .Net run again? And how many are not bastard neutered languages like managed C++?

    So I guess you need to re-phrase your statement to say "if you want to have access to many langauges, and have the fastest VM you should really just drop Mono/.Net like a hot potato and stick with Java - until you decide to try a real language on for size and move to Ruby."

    --
    "There is more worth loving than we have strength to love." - Brian Jay Stanley
  43. Re:Simple question -- simple answer. by aztracker1 · · Score: 2, Informative

    Okay, there are several areas that .Net/Mono etc encompass. First, there is the core Common Language Runtime; this is what runs a given application. The CLR is well defined within the ECMA/ISO standards, as is most of (second) the core framework. Microsoft extends the core framework with ADO.Net (command data layer) Microsoft.* (VB Compatability objects and a few others), ASP.Net (web apps, and services) allong with SWF (Windows forms).

    Mono already has the core framework, as well as compatability for most of the rest... Some areas are indeed incomplete, but not in a way that inhibits current apps. Mono also includes several DB adapters that aren't inside the MS distribution, in addition to GTK# (for gnome/gtk based app development, which can be relatively portable to windows and mac), there are also a few other goodies on the mono side (Posix library, etc).

    You *can* develop a portable application under mono without touching any of MS's extensions, and it can still be portable. Which is imho a good thing. There are other libraries for QT (kde), audio, opengl etc, some of the projects around them are stagnant, but usable. Mono isn't just a subset of .Net, there are other areas it has that MS's framework doesn't include... By the same note, you could say similar things to C++ development, if doing GUI development. You don't get the MS libraries for windows development in GCC, but you can still create GUI apps that are portable.

    Mono is an implimentation of a standard, with some compatability to proprietary extensions, and including some extensions (F/OSS) of their own. In addition to many 3rd party libraries. For rapid app dev (RAD), it's really a second to none thing. You get a complete framework, bytecode portability both of these other frameworks offer. In addition to a key element, *MUCH* easier interaction with system libraries not part of the core framework. This is the kicker here, you can target system APIs *VERY* readily, making core functionality easier to do, than other managed environments.

    I am no big fan of MS by any means, but to be honest, regarding patent litigation, they haven't shut WINE down, which is *FAR* more infringing than anything mono is doing, not to mention that under litigation they could strip the infringing parts and still have core functionality in place. There's a lot of prior art for anything ASP.Net does, how ADO.Net interacts, and the current winforms are dying (as far as ms marketting is concerned in favor of WinFX). Mono has been around for several years now, with no litigation in sight.

    --
    Michael J. Ryan - tracker1.info
  44. Re:Simple question -- simple answer. by carlislematthew · · Score: 2, Funny
    Linux enthusiasts don't care much for standards

    Wrong. Linux enthusiasts LOVE standards - lots and lots of them! And if (when) they don't find a standard that fits their own requirements, they'll happily make a new one to compete, thereby adding to the glorious beauty of standards: that there are so many to choose from.

  45. Such as? by Numen · · Score: 2, Insightful

    Sorry I'm going to have to call you on this. After years of developing commercially with .NET I've never once had to make a native call. I'd be interested to know what activities you think routinely require this.

  46. proof by analogy by abe+ferlman · · Score: 2, Interesting

    That's proof by *false* analogy buddy. Your wiki link is only helpful if you demonstrate that the analogy is false. Also, an argument by way of analogy is a fine way to make a normative argument, even if it's not a good way to construct a formal proof. This is because norms are in fact quite imprecise and depend greatly on context; a good analogy between things that are alike in meaningful ways can provide a great deal of insight into how to approach an issue.

    --
    microsoftword.mp3 - it doesn't care that they're not words...
  47. LINQ is not MSSQL-only by ravenlock · · Score: 2, Insightful

    Wrong. If you watch the video of Anders Hejlsberg demonstrating LINQ, you'll notice that it's a language feature, not a MSSQL-only layer, and he actually demonstrates using LINQ not only with MSSQL but XML documents and arrays (IIRC) too.
    Miguel De Icaza's comment on the video was "Anders Hejlsberg is a man of excellent taste"

    The video is a bit on the long side, but it's well worth it if you're interested in the topic :)

  48. You must be 1st worlder by aled · · Score: 2, Insightful

    Governments in countries with a high level of poverty are not going to do anything that benefits the rich at the expense of the poor -- they will be deposed quicker than you can spell AK-47.

    Clearly you don't live in the third world. Things are a lot more complex than that.
    In general governments are very big beasts. One sector can be pro Linux and another is just buying MS because is what they use. And we are having lots of pressure from USA and other countries to introduce patents on everything, from software to GM seeds.

    --

    "I think this line is mostly filler"
  49. Dangerous by kaffiene · · Score: 2, Insightful

    Mono is a trojan horse. Letting it into Linux distros is BAD. We're inviting patent issues into Linux which is stupid.

    Well, time to switch to Debian - I *will not* run that crap.

  50. Re:IronPython by miguel · · Score: 2, Interesting

    The recent beta of IronPython exposed some bugs in our 2.x VM implemnetation, luckly they have been fixed.

    Download 1.1.13 (available now).