Slashdot Mirror


Mono 2.0 and .NET On Linux

Several readers noted the release of Mono 2.0, which is compatible with Microsoft's .NET Framework 2.0. According to Miguel de Icaza, "... users can move over server applications built for .NET and client applications built with Windows Forms." InternetNews points out that only about half of the .NET apps out there will work on Mono 2.0, for a variety of reasons including (but not limited to) legacy Windows-only libraries and Microsoft's progress on .NET 3.0 and 3.5 APIs.

405 comments

  1. So what... by Anonymous Coward · · Score: 2, Insightful

    I don't think it should surprise anybody that Mono 2.0 cannot handle applications written for .Net 3.0 or 3.5...

    1. Re:So what... by Herms · · Score: 1
      Not quite true. From the Ars writeup:

      "This milestone release delivers compatibility with .NET 2.0 and C# 3.0 on a broad range of platforms and architectures. "

      Later

      "The C# compiler is greatly improved and now delivers support for Language Integrated Query (LINQ) functionality and expression trees."

      From what I remember, 3.0 didn't add anything new to the runtime. All the new language features were just syntax sugar that the compiler handled. This probably won't work with .Net 3.5 stuff, but it sounds like 3.0 should work fine.

      --
      ~Herms
    2. Re:So what... by Elektroschock · · Score: 2, Interesting

      I just quote the Ubuntu Launchpad:
      "Sorry, but the answer to this one is "no". Intrepid will ship with 1.9.1 Mono has a little bit of a reputation when it comes to slightly... unready... releases. We apply a HUGE number of patches to our Mono packages to make them usable. Our main focus with Ubuntu is to have the best user experience possible, and since Mono is used mainly as a framework for desktop apps (F-Spot and Tomboy are installed by default), we think it's more important to ship a stable, reliable platform for those apps than to update to a new Mono release without having time to test it."

    3. Re:So what... by shutdown+-p+now · · Score: 1

      Actually, it can - just not all of them. They have a full-featured C# 3.0 compiler, and they have a few bits of .NET 3.5 implemented - all the LINQ stuff, for example. But they don't have WPF/WCF/WWF.

    4. Re:So what... by aksansai · · Score: 1

      Actually, the features that developers care about the most are included in the Mono 2.0 release, including Linq support. Although Windows Presentation Foundation gets a lot of hype for its goo-gah graphics subsystem, many enterprise developers are sticking with the two things that are supported beautifully in Mono 2.0: Windows Forms and ASP.NET.

      --
      Ayup
  2. I like Mono, but... by telchine · · Score: 5, Insightful

    I like Mono, I really do, however it's always playing catch-up, it's by it's very nature it's always going to be one step behind Microsoft. Without the support of features in .Net 3.5, very few people are going to choose it for new developments.

    1. Re:I like Mono, but... by Toreo+asesino · · Score: 3, Insightful

      For the record, the new stuff takes time to trickle into mainstream development anyway, so Mono gets to at least focus on implementing the stuff the industry considers important too rather than just Microsoft.

      --
      throw new NoSignatureException();
    2. Re:I like Mono, but... by IBBoard · · Score: 2, Interesting

      I don't know, I've been using .Net 2's generics on Fedora for a while now, which was the main reason I moved my code to 2.0 when I started re-writing things (at first .Net 2.0 wasn't common enough to assume people had it installed). Looking at the .Net 3.0 and 3.5 changes I can't see a huge amount of "must have" features. In fact, 3.0 seems like a bit of a damp squib in terms of features added since 2.0 compared to 3.5 against 3.0.

      Just because a newer version is available doesn't mean everyone will automatically use it. Given the license fees, I can see a lot of Windows people sticking with VS.Net 2005 and not upgrading to 2008.

    3. Re:I like Mono, but... by amRadioHed · · Score: 4, Funny

      I like Mono, I really do, however it's always playing catch-up

      Ahhh! So that's why people with mono always look so tired. All this time I thought they were sick.

      --
      We hope your rules and wisdom choke you / Now we are one in everlasting peace
    4. Re:I like Mono, but... by SandmanWAIX · · Score: 2, Interesting

      Yeah this is true, but for some of us this is acceptable.

      Linux users are an additional market for the product I help develop and we have never really worried about it. I have been waiting for this mono milestone before bothering with mono, however now that they are there I dont mind putting the resources in and testing the waters.

      If everything goes smoothly I can see us offering a linux flavour very soon. Our current product operates on .NET Framework 2.0 SP1.

    5. Re:I like Mono, but... by zermous · · Score: 3, Interesting

      I've been using visualstudio since the very beginning, and c# since the very beginning, and 2008 is the first upgrade so far that I have declined. I'm sure its time will come, but not for a while longer.

    6. Re:I like Mono, but... by dbIII · · Score: 4, Interesting
      Seriously though, what applications are using Net 3.5 instead of all the stuff that can only run with Net 1.0 or Net 2.0? Today I installed the September release of some ridulously expensive software and it required Net 1.0. This software also runs on mono with a bit of dodgy linking (pretending that libexif is a different version - weird becuase it has no business being a dependancy in the first place unless you need it).

      I really do not understand why Net is not backwards compatible but I suppose at least I should be happy that the libraries can co-exist instead of the old DLL hell. Microsofts attempt to replace Java could have been implemented in a better way.

      How much decent Net software is there out there anyway? Is it all in-house so we never see it? I've only seen VB shareware quality stuff no matter what I've had to pay for it.

    7. Re:I like Mono, but... by Kjella · · Score: 3, Interesting

      From a little experience with WINE which is in the same situation, every application uses the same 95% core but the 5% obscure stuff is different from every app. And unlike people that have the ability to say "Well, if OpenOffice is 95% of what MS Office is it's good enough", applications have a nasty way of crashing unless their obscure requirements are met. It can be a useful crutch at times but it's nothing like a good platform to build cross-platform applications on. Or rather, the OSS community's applications will be compatible with Windows but the Windows applications won't be compatible with Linux, which is pretty much where we are today already.

      --
      Live today, because you never know what tomorrow brings
    8. Re:I like Mono, but... by jaxtherat · · Score: 1

      How much decent Net software is there out there anyway? Is it all in-house so we never see it? I've only seen VB shareware quality stuff no matter what I've had to pay for it.

      Not really a killer app, but pretty nifty nonetheless: http://www.getpaint.net/ (paint.NET)

      --
      http://www.zombieapocalypse.tv/
    9. Re:I like Mono, but... by StrawberryFrog · · Score: 1

      Seriously though, what applications are using Net 3.5 instead of all the stuff that can only run with Net 1.0 or Net 2.0?

      The ones being written now.

      --

      My Karma: ran over your Dogma
      StrawberryFrog

    10. Re:I like Mono, but... by jesterzog · · Score: 2, Interesting

      How much decent Net software is there out there anyway? Is it all in-house so we never see it? I've only seen VB shareware quality stuff no matter what I've had to pay for it.

      Well any website with pages that end in .aspx is written in .Net, for one thing. We certainly develop a lot of in-house apps using .Net, and we also have a lot of intranet (and some internet) stuff that's built on it.

      If you just want apps that'll run in a controlled Windows environment within an organisation then it's not bad. It's definitely much cleaner to work with than the Windows API, as long as what you actually want to do is supported by the .Net framework and libraries. As soon as you hit something that isn't supported, and start having to interop direct with Windows, things get much more ugly. Unfortunately this happens as quite a lot, whenever you decide you want to do something Microsoft didn't really plan for, like writing toolbars.

      I don't think I'd want to write production software to be distributed to large numbers of people using .Net. There are certain issues like having to rely on people having the framework installed (and still not everyone does, and it's a very large download), and slow startup times on systems where you don't have much control. WPF (the new XML-based forms system introduced in .Net 3) is absolutely hideous for startup time.

    11. Re:I like Mono, but... by Weedlekin · · Score: 1

      "How much decent Net software is there out there anyway?"

      There's very little if anything for desktops. As is the case with java, most .NET programming jobs are for server-side stuff, with much of that being ASP.NET (i.e. web apps).

      "Is it all in-house so we never see it?"

      There is indeed a lot of in-house stuff, but it's generally even worse than what you see from ISVs.

      "I've only seen VB shareware quality stuff no matter what I've had to pay for it."

      That's because a lot of it is written by VB programmers who (a) aren't vastly experienced with VB.NET, and (b) dislike what they have learned because it requires more effort to produce slower, uglier, and bulkier software.

      NB: I'm not a VB programmer, but I know several, so I'm not speaking from experience, but repeating what I've been told.

      --
      I'm not going to change your sheets again, Mr. Hastings.
    12. Re:I like Mono, but... by Anonymous Coward · · Score: 0

      Is this a fashion thing? How many of you have 3.0 or 3.5 .net installed? I have - just to install the C++ compiler. In numerical benchmarks, Java is not far behind from C++, and C# is closing in to Java. However, applications written in C# could use a lot more disk space AND memory, yet they can be dog slow.

      C++ and C is still important: more choices in optimizations, less memory foot-print, disk space requirement, etc. Sure, you can create an application of 30K bytes, then it will not run until you download 25M of .net 1.x, or 120M of .net 2.0. Now you are asking to download 350M .net 3.x? This requirement is not going down anytime soon.

      If you develop with C or C++, you have more control over the applications and its associated libraries. With .net, you cannot be sure if your customers environment is updated or fully patched.

      Whenever I see some applications that requires an extra 350M download just to run it, I just hit the back button.

    13. Re:I like Mono, but... by telchine · · Score: 4, Insightful

      Seriously though, what applications are using Net 3.5 instead of all the stuff that can only run with Net 1.0 or Net 2.0?

      A lot of my applications use LINQ (.Net 3.5). I wouldn't really like to go back to SQL.

      Sure you can manipulate databases with SQL. You can also cross the atlantic in a steam boat. However, I'd prefer to go by plane.

    14. Re:I like Mono, but... by telchine · · Score: 1

      How much decent Net software is there out there anyway? Is it all in-house so we never see it? I've only seen VB shareware quality stuff no matter what I've had to pay for it.

      It's not really very practical to use for writing the kind of applications that you want to distribute. Having to have the .Net Framework installed is a serious barrier to the user. Java is in the same boat as the user needs to also install the VM.

      Like Java, .Net seems to have found its home in in-house development and with web apps.

    15. Re:I like Mono, but... by YttriumOxide · · Score: 2, Interesting

      The ones being written now.

      Not true... I code .NET for a living (and we always ensure Mono compatibility at every build for the majority of our projects) and we're sticking with .NET 2.0 simply because there's nothing in the 3.0 or 3.5 releases that we're interested in. They just don't do anything we need. This is likely true for a great number of developers judging from other projects I see out there and also the posts from several people here.

      --
      My book about LSD and Self-Discovery
      Also on facebook as: DroppingAcidDaleBewan
    16. Re:I like Mono, but... by ilitirit · · Score: 0, Troll

      I like Mono, I really do, however it's always playing catch-up, it's by it's very nature it's always going to be one step behind Microsoft.

      Reminds me of OO.org and MS Office. Or even the Linux desktop GUI and Windows.

    17. Re:I like Mono, but... by cyberjessy · · Score: 3, Interesting

      Well, it should be the first upgrade you should NOT have declined; at least for the new language enhancements in C# and VB (Like LINQ and lambda expressions). I did a large project recently, which used a fair amount of LINQ. I felt C# 3.0 is when it finally left Java lagging in expressiveness.

      Btw, I have also been using Mono for some time now, and the present compiler implements all of C# 3.0 language enhancements.

      --
      Life is just a conviction.
    18. Re:I like Mono, but... by StrawberryFrog · · Score: 4, Interesting

      I see a lot of people interested in LINQ, extension methods, a more functional style of coding, and ASP.Net MVC. So maybe your mileage will vary.

      --

      My Karma: ran over your Dogma
      StrawberryFrog

    19. Re:I like Mono, but... by cyberjessy · · Score: 1

      I really do not understand why Net is not backwards compatible but I suppose at least I should be happy that the libraries can co-exist instead of the old DLL hell.

      Most of the Asp.Net web applications run on .Net 2.0 (released in 2005). v1 is quickly fading away for reasons like performance and security. v2.0 (and later) apps and libraries are mostly not backwards compatible with 1.0 and 1.1, because of IL changes and new runtime features like generics. .Net 3.0 is a set of libraries which run on the same CLR which shipped with .Net 2.0. .Net 3.5 has new compilers for C# and VB.Net (with significant language enhancements) and new libraries like LINQ - which again run on the 2.0 runtime.

      So barring the dependency on libraries 2.0, 3.0 and 3.5 code should be byte-code compatible.

      --
      Life is just a conviction.
    20. Re:I like Mono, but... by cyberjessy · · Score: 2, Interesting

      You are right. Here are some.

      1. myspace.com (think 100m plus users)
      2. orkut.com (35m users)
      3. google docs (surprise!)

      And as you said, Desktop applications are a rarity, because the current .Net runtimes (3.0 and later) are more that 100MB in size. So even if you are making a calculator, you end up with 100.1 megabytes of download. Not attractive.

      --
      Life is just a conviction.
    21. Re:I like Mono, but... by blowdart · · Score: 2, Insightful

      I guess it depends what they're targetting. Like it or not Linux is not making large leaps into desktop space. Now if we look at Mono for servers then 3.0 added Windows Communication Foundation and Windows Workflow. WCF replaces the old ASP.NET way of doing web pages and added a bunch of important support for WS* standards. In 3.5 it introduced REST support and better federation bits and pieces. From the SOA work I've done I've been using WCF for 18 months now; and so without support for WCF those services cannot be moved.

    22. Re:I like Mono, but... by rwiggers · · Score: 1, Interesting

      If Orkut and Google Docs are .Net 3.5, how can I run them from my linux box?

    23. Re:I like Mono, but... by Koyaanisqatsi · · Score: 4, Informative

      Mythbuster alert!

      http://www.smallestdotnet.com/

      (thou I love mono,

    24. Re:I like Mono, but... by Anonymous Coward · · Score: 0, Informative

      How did this get scored a 4?

      That's entirely unsubstantiated claim (yes I realize this is /.). Care to provide a reference?

    25. Re:I like Mono, but... by Anonymous Coward · · Score: 0

      The .Net 3.5 SP1 has a 'client only framework subset' switch which reduces the required .Net runtime to somewhere around 28mb, with a worst case scenario of around 58mb depending on what .Net framework versions are already installed on the client.

    26. Re:I like Mono, but... by Curtman · · Score: 2, Informative

      If Orkut and Google Docs are .Net 3.5, how can I run them from my linux box?

      You aren't running them. They run on servers somewhere down the series of tubes, and your browser displays their output.

    27. Re:I like Mono, but... by Anonymous Coward · · Score: 0

      .Net 3.0 and up allows you to use WPF (Windows Presentation Foundation), Linq, and Lambda expressions. You can also make use of WCF (Windows Communication Foundation), WF (Windows Workflow), and CardSpace.

      WPF and Linq by themselves are reason enough to leave .net 2.0.

    28. Re:I like Mono, but... by Anonymous Coward · · Score: 0

      How much decent Net software is there out there anyway? Is it all in-house so we never see it? I've only seen VB shareware quality stuff no matter what I've had to pay for it.

      Well, here's one. Take a look at: http://wiser.nlm.nih.gov/ It uses .Net 2.0. It was written using that because they needed something to run on Windows, Pocket PC, and provide Web Services. The apps are able to share a common middle layer and (mostly) database layer. The UI is largely shared between Windows and PPC, the web version uses a linux server that passes requests to a windows box running the web services. Works like a charm, lots of shared code, and they couldn't have done it on the PPC with Java.

    29. Re:I like Mono, but... by Threni · · Score: 1

      That's the only thing I miss on my recent exploration of Ubuntu. (Yes, I know about Gimp, but I'd prefer to use a graphics app which doesn't suck quite so hard).

    30. Re:I like Mono, but... by Anonymous Coward · · Score: 0

      .Net 3.5 is actually just a few extensions to .Net 2.0 to support Windows Workflow et. al. .Net 2.0 added some nifty new language features. I can't believe anyone complains about the download these days...

    31. Re:I like Mono, but... by Parker+Lewis · · Score: 3, Informative

      Google has announced porting Orkut to Java, due the lack of robustness from .NET.

    32. Re:I like Mono, but... by Anonymous Coward · · Score: 0

      According to this, the Google Docs back-end was written in Java:
      http://communication.howstuffworks.com/google-docs5.htm

    33. Re:I like Mono, but... by ozphx · · Score: 1

      Net 3.x is a set of libraries for the 2.0 runtime.

      It extends the API avaliable with things like WPF/WCF, theres a load of support for LINQ, etc. The runtime is the same.

      So yeah, if you develop an app using VS2008, then it will run on Mono 2.0... UNLESS you are using Windows Presentation Foundation or something like that.

      I'm fairly certain that LINQ would work, in fact - just not LINQ to Entities. The vanilla LINQ is just a bunch support like IQueryable IExpression, etc. So (ab)using LINQ to query collections and things would probably work fine. Not that I can be fucked testing ;)

      --
      3laws: No freebies, no backsies, GTFO.
    34. Re:I like Mono, but... by ozphx · · Score: 1

      Runtime 2.0 introduced support for generics (among some other things). This was the "big upgrade".

      Framework 3.x added a bunch of extra libraries, like WCF/WPF etc, the new features to the C# compiler (which mono also has), and importantly it still ran on Runtime 2.0 (so is backwards compatible). Its just that the new APIs, such as WCF haven't been implemented by the Mono team.

      --
      3laws: No freebies, no backsies, GTFO.
    35. Re:I like Mono, but... by ozphx · · Score: 1

      I still haven't seen a compelling reason to change from diamond binding to LINQ. Having nice wel-defined business objects is a lot better IMO, and being based on NHibernate makes it a more mature product.

      --
      3laws: No freebies, no backsies, GTFO.
    36. Re:I like Mono, but... by Anonymous Coward · · Score: 0

      MySpace runs on Coldfusion (damn, nearly wrote it as Codfusion then!) Just look at the filename extensions on most of their pages.

    37. Re:I like Mono, but... by afsina · · Score: 1

      Trust me. i firmly believe Google does not use .Net technology. They exclusively use only Java, Python or C++.

    38. Re:I like Mono, but... by Anonymous Coward · · Score: 0

      Wait. Wait! I thought Mono was just a convenient excuse to hide a teenage pregnancy?

    39. Re:I like Mono, but... by Anonymous Coward · · Score: 0

      That's why you target the latest version which has been ported across all platforms. Do NOT code for the bleeding edge version of .NET on Windows!

    40. Re:I like Mono, but... by Anonymous Coward · · Score: 0

      LINQ is cool and all but it's less efficient than stored procedures and makes things more difficult to maintain or fix.

      Look at it this way: I have a large CRM application but there is a bug where not all of the data is displayed on a specific screen. If I'm using stored procedures I can quickly check to see if the result set is correct or not. If it's correct then I know it's on the application side and vice versa. With LINQ it's a little bit more difficult because you have to either run a profiler or run your application in debug mode.

      That's kind of a silly example but I think the separation between application code and SQL is a good separation to keep.

    41. Re:I like Mono, but... by StrawberryFrog · · Score: 2, Interesting

      Well any website with pages that end in .aspx is written in .Net, for one thing.

      Check out Stackoverflow. It's written in .Net, but not as we know it. No ".aspx", no anything on the end of the pages. It uses the brand new MVC kit and other .net 3.5 features like LINQ. And it's excellent.

      --

      My Karma: ran over your Dogma
      StrawberryFrog

    42. Re:I like Mono, but... by Anonymous Coward · · Score: 0

      I agree about LINQ - *very* nice.

      Reminds me of Perl's sort/map/grep. Maybe because that's sort of how I ended up using LINQ.

      I also really like C#'s generics. If Mono gets LINQ all set up (and I think it already does generics) then I'll start using Mono for more than quick throw-away doohickeys in the future.

    43. Re:I like Mono, but... by Richard_at_work · · Score: 1

      Then you would probably prefer ADO.Net Entities. Something new in .Net 3.5 SP1.

    44. Re:I like Mono, but... by ncc74656 · · Score: 1

      Seriously though, what applications are using Net 3.5 instead of all the stuff that can only run with Net 1.0 or Net 2.0?

      Even if you're only using it to work with stored procedures, LINQ allows for much cleaner database-access code. That's just the first thing that came to mind, based on stuff I've written at work so far. There might not be much code out there already using it, but VS 2008 has only been out a few months.

      I really do not understand why Net is not backwards compatible but I suppose at least I should be happy that the libraries can co-exist instead of the old DLL hell.

      My understanding of the matter is that the internals changed substantially with .NET 2.0, but 3.0 and 3.5 have extended 2.0. An app built for 2.0 should work on 3.0 or 3.5; it just won't use any of the new features. (Basically, it sounds like the design of 1.x was sufficiently broken that they needed to start over again with 2.0.)

      --
      20 January 2017: the End of an Error.
    45. Re:I like Mono, but... by b0bby · · Score: 1

      Today I installed the September release of some ridulously expensive software and it required Net 1.0.

      In my experience, the more ridiculously expensive software is, the crappier it will be...

    46. Re:I like Mono, but... by jalefkowit · · Score: 1

      Ooooh can Mono 2.0 run Paint.NET???

      (please please please)

    47. Re:I like Mono, but... by someonehasmyname · · Score: 1

      No, they configured IIS to pass .cfm ages to the .asp parser. Just security through obscurity. I've seen myspace pages crash with IIS/ASP errors too many times.

      --
      Common sense is not so common.
    48. Re:I like Mono, but... by CodeBuster · · Score: 1

      LINQ is a great addition to the language to be sure, but the Microsoft's present implementation of it with regard to ORM functionality still leaves some things to be desired when compared against a more robust data access framework like Hibernate (in Java or NHibernate for .NET). Many of the LINQ to SQL examples also continue to perpetuate mixing of the UI and data access layers along with many other OO design and style faux pas which encourage and perpetuate bad programming practices. LINQ is useful in some cases, but the Query objects with Repositories that generally follow from a proper separation of concerns between data access and business objects tend to encapsulate the LINQ anyway so really it becomes a matter of what syntax would you prefer to use in your data access layer and not how clients be calling into that layer. Of course, Microsoft implies with their examples that there is nothing wrong with using LINQ to SQL directly in your code behinds or UI control event handlers...sigh. I really like .NET and I think that Scott Guthrie and the .NET division are really doing a great job with the platform, but I also wish that Microsoft would stop promoting the "everyone can be a developer" concept with McDonalds style programming examples that ignore quality and good design while simply asking, "would you like fries with that?" as the code wizard steps you through the creation of a poorly designed unscalable pre-packaged app. At the very least the could include the caveat with their examples that the sample code is for instructional purposes only and not meant for use, at least not as-is, in non-trivial or serious application development.

    49. Re:I like Mono, but... by Jugalator · · Score: 1

      Without the support of features in .Net 3.5, very few people are going to choose it for new developments.

      Do you really think so?

      Mono 2.0 has a C# 3.0 compiler (i.e. the same feature set as the one shipping with .NET 3.5).

      As for the .NET framework itself, compiler aside, .NET 3.5 is basically about WPF/WCF/WF -- can you really count to, say, three high profile emerging apps making use of these libraries?

      --
      Beware: In C++, your friends can see your privates!
    50. Re:I like Mono, but... by Jugalator · · Score: 1

      Having said that, by the way, I'm developing software partially for .NET and partially for Win32/C++, and we use to target the .NET 2.0 Framework because .NET 3.0+ uses a 100+ MB large redistributable for things like the WPF vector graphics interface with no good standardized widget set. Looking at the .NET software market elsewhere, we don't seem to be alone. Actually, we seem to be the norm.

      --
      Beware: In C++, your friends can see your privates!
    51. Re:I like Mono, but... by Jugalator · · Score: 1

      Seriously though, what applications are using Net 3.5 instead of all the stuff that can only run with Net 1.0 or Net 2.0?

      Agreed about this, as I said above. .NET 2.0 was a major step forward with the generics libraries and much more, but .NET 3.0 is about Windows Presentation Foundation (vector graphics-based and hardware accelerated UI support) and Windows Communications Foundation (an abstraction of various .NET comms libraries so the developer don't need to develop for specific protocols). These are actually some quite good ideas by MS IMHO, but still, it's quite some beasts with their notable footprints for the redistributable packages (the .NET 3.5 Redist is... 200 Fucking Megabytes in its offline installer), and also with little existing "killer apps" written for those libraries that attracts developer attention in the industry.

      Basically, people think "Why learn WPF to develop cool vector graphics-based user interfaces when it's an entirely new API to learn and it will as a result not follow Microsoft's own UI guidelines?"

      And IMHO, they're completely right in questioning that. Especially with said runtime. :-S

      I'm aware Microsoft offers "online installers", but there's always a risk in relying on network connectivity and Microsoft's servers being up and running (and being fast at the moment for a hassle-free installation experience). Microsoft is also working on a special feature in the latest service pack IIRC to "bootstrap" the .NET 3.5 Framework, but this is bleeding edge stuff that I'm uncertain of how much application performance will suffer from it (on-demand downloading of .NET components as they're needed).

      --
      Beware: In C++, your friends can see your privates!
    52. Re:I like Mono, but... by Jugalator · · Score: 1

      True, but a company installing their apps on a multitude of machines for a customer's mixed environment, will probably don't want to mess around with customized packages from that site that are tailored for x86, x64, etc.

      From the site:

      Why would you EVER want to download the whole archive? Only if you're a developer and you want to distribute the .NET Framework the widest possible audience in a format like a CD or DVD.

      Well, that's probably exactly what a developer wants to do. Have their app run on the full supported range of hardware, as supported by .NET. Heck, .NET isn't even cross-platform (this site isn't redistributing Mono), so there are already constraints here.

      So of course there are good reasons to use the full 200 MB package -- it's to not have to care for what the customer uses. You'd feel pretty stupid if you went to install some software and noticed your customized .NET package didn't contain support for the ia64 architecture. ;-)

      --
      Beware: In C++, your friends can see your privates!
    53. Re:I like Mono, but... by Jugalator · · Score: 1

      A lot of my applications use LINQ (.Net 3.5). I wouldn't really like to go back to SQL.

      http://www.albahari.com/nutshell/linqbridge.aspx

      --
      Beware: In C++, your friends can see your privates!
    54. Re:I like Mono, but... by Anonymous Coward · · Score: 0

      Let me know when I can install .NET3.5 and Zune software in linux and I'll completely ditch MS.

    55. Re:I like Mono, but... by jaxtherat · · Score: 1

      Not quite, but there is a port (read: bit of a hackjob) being done by none other than Miguel de Icaza:

      http://code.google.com/p/paint-mono/

      --
      http://www.zombieapocalypse.tv/
    56. Re:I like Mono, but... by Ilgaz · · Score: 1

      Several end user software also jumped to .NET 3 almost immediately.

      MS will make sure .NET is masked as multiplatform thanks to Icaza but will never allow full .NET experience on anything else than Windows. It doesn't need to be creator of Gnome to figure it out.

      It is same scheme for Windows Media on OS X. You can view almost everything using MS globally licensed flip4mac qt components but when it is time to watch a pay movie or use anything involving DRM, you better boot to Windows.

    57. Re:I like Mono, but... by Ilgaz · · Score: 1

      Well the real myth was how 'huge' Java is. On Virtual PC 7 running XP _and_ several low end laptops I managed, installing .NET and updates is taking more than a hour but the "bulky' "huge" Java installs in 2-4 minutes.

    58. Re:I like Mono, but... by Ilgaz · · Score: 1

      They are also working on Gorilla.NET compatibility enhancements and sarcasm detector for Icaza fans. ;)

    59. Re:I like Mono, but... by SoopahMan · · Score: 1

      Strongly disagree. Finding execution environments where .Net 3.5 is ready to go is a tough task. Most clients we come across are on .Net 1.1 or 2.0, or on a host that will do 2.0.

      There's not a lot in 3.5 that makes it a must-have either. When 2.0 came out, it was a bit like C# was incomplete until its release. Generics support makes a lot of exciting things possible that prior required (mildly expensive) runtime reflection calls to accomplish, and on the ASP side partial classes and databinding made big leaps. 3.5's biggest strength is an AJAX library that's just Javascript you can write yourself - and much more efficiently by the way.

      Add to that that Mono 2.0 can, for lower-load apps, greatly decrease the cost of hosting that execution environment and Mono 2.0 is a great offering.

      Bravo to the Mono team!! You're making my life a lot easier. Writing portable desktop AND web apps in .Net is an absolute dream. It means I can keep C#'s elegant closures and delegates and still run on all 3 platforms.

    60. Re:I like Mono, but... by shutdown+-p+now · · Score: 1

      The category of people interested in LINQ is mostly those who also read about Lisp and Haskell for fun (because it was designed by the same kind of people, and has obvious parallels). MVC is attractive to ex-Java developers who moved on (or were forced into) .NET not long ago, and have proper understanding of MVC, and why it is good. Meanwhile, more "traditionalist" .NET devs, the ones who don't know world outside WinForms and ASP.NET, tend to be rather confused will all the recent developments in the .NET land ("I dunna wanna learn what a 'lambda' or 'closure' is, and WTF is 'inversion of control'?"). I would expect that seeing Visual F# in VS2010 (which, as I understand, is the plan now) is going to give some heart attack. It's the price paid for moving the platform at a fast place (comparative to the extremely conservative Java).

    61. Re:I like Mono, but... by StrawberryFrog · · Score: 1

      The category of people interested in LINQ is mostly those who also read about Lisp and Haskell

      Mostly I see people getting interested in LINQ becuase it looks like, and replaces embedded SQL queries and stored procs. They they start to use it in other situations.

      MVC is attractive to ex-Java developers who moved on (or were forced into) .NET not long ago

      I know several people interested in ASP.NET MVC, and I wouldn't call any of them recent converts from Java. Mostly it appeals to people keen on TDD and design because of the testablity and separation of concerns; and to people who like simple URLs and simple HTML.

      ("I dunna wanna learn what a 'lambda' or 'closure' is, and WTF is 'inversion of control'?").

      I wouldn't hire people who said that. Would you? However, even "traditionist" developers (you mean .. slow?) who are not interested in whiz-bang new ideas see some of the new C# 3.5 features giving them little wins - doing the same thing in 2 readable lines instead of 6 lines of code.

      --

      My Karma: ran over your Dogma
      StrawberryFrog

    62. Re:I like Mono, but... by shutdown+-p+now · · Score: 1

      Mostly I see people getting interested in LINQ becuase it looks like, and replaces embedded SQL queries and stored procs. They they start to use it in other situations.

      I guess we see two different ends of it, then.

      I know several people interested in ASP.NET MVC, and I wouldn't call any of them recent converts from Java. Mostly it appeals to people keen on TDD and design because of the testablity and separation of concerns; and to people who like simple URLs and simple HTML.

      But what do those people keen on TDD and design do on .NET now? Particularly when it comes to Web development, ASP.NET/WebForms is notoriously hard to couple with proper TDD practices (it is, after all, the whole reason behind ASP.NET MVC project!). So an existing ASP.NET developer, if he doesn't have any additional background, tends to be ignorant of TDD and associated patterns and practices. If he isn't, then it's usually also because he either used (or at least played with) Java, Ruby (or heck, even PHP with one of the better frameworks), or because he's using one of the existing .NET MVC web frameworks, which usually means ignoring WebForms as well - and that is certainly a tiny minority of all ASP.NET developers.

      I wouldn't hire people who said that. Would you? However, even "traditionist" developers (you mean .. slow?) who are not interested in whiz-bang new ideas see some of the new C# 3.5 features giving them little wins - doing the same thing in 2 readable lines instead of 6 lines of code.

      Oh, certainly. But equally many (if not more) find the new stuff overly confusing, and refuse to get above and beyond what was in 2.0 as a matter of principle. It's the same category of people that complained about generics in Java, concepts in C++0x, etc.

    63. Re:I like Mono, but... by E5Rebel · · Score: 1

      The question is why are Mono and Samba patently different? The answer is, according to Glyn Moody, Samba plays a crucial role in liberating the protocols it uses to ensure that there is no knock-on effect for users in terms of intellectual monopolies, the Mono project propagates Microsoft's software patent claims even wider. http://www.computerworlduk.com/community/blogs/index.cfm?entryid=1380

    64. Re:I like Mono, but... by StrawberryFrog · · Score: 1

      But what do those people keen on TDD and design do on .NET now? Particularly when it comes to Web development,

      Generally, they use layered architectures. They to test cases for their back ends (the more innovative ones have mock data layers for testing the bits between) and for the asp.net pages Ui layer ... well, they struggle. Selenium or Watin or the like haven't really solved the testing problem. At least, that's what I see.

      --

      My Karma: ran over your Dogma
      StrawberryFrog

  3. Re:Oh just go away by vux984 · · Score: 3, Insightful

    If we wanted to run crappy Microsoft technologies, we'd just go buy Windows, wouldn't we?

    That must be why the WINE project is such a silly idea... oh wait...

  4. It's a trap, get an axe! by Anonymous Coward · · Score: 0

    Microsoft: you shall never possess the necronomicon!

    1. Re:It's a trap, get an axe! by geminidomino · · Score: 2, Funny

      Warning: Incorrect merging of two geek quotes!

      Correct quotes:

      Admiral Ackbar(RotJ): "It's a trap!"
      Ash (Army of Darkness): "It's a trick. Get an axe."

  5. Mono 2.0 Supports .Net 3.0 by Toreo+asesino · · Score: 5, Interesting

    Most of it anyway; but crucially, LINQ.

    The bits missing (Windows Workflow Foundation, Windows Communication Foundation and Windows Presentation Foundation) aren't as crucial in my personal opinion; they are just nice toys you aren't going to miss if you've never had them before.

    LINQ however is a killer feature IMO; I'm glad to see that's now available on mono.

    --
    throw new NoSignatureException();
    1. Re:Mono 2.0 Supports .Net 3.0 by Fred_A · · Score: 1

      So now what ? Does that mean apps like Paint.Net can be ported or is there still some crucial stuff missing ?

      Most stuff seems to rely on some core Windows only component so I'm still not sure what the point of Mono is.

      --

      May contain traces of nut.
      Made from the freshest electrons.
    2. Re:Mono 2.0 Supports .Net 3.0 by should_be_linear · · Score: 5, Insightful

      The bits missing (Windows Workflow Foundation, Windows Communication Foundation and Windows Presentation Foundation) aren't as crucial in my personal opinion; they are just nice toys you aren't going to miss if you've never had them before.

      It is crucial in the moment when any programmer use them and application stop working on any non-Windows platform. It is also very difficult, if not improssible, to track VM incompatibilities when main developer (MS) is not interested in 100% compatibility at all. For me, as enterprise application developer, these are show stoppers. Luckily, there is Java and Sun Hotspot, which solves all this.

      --
      839*929
    3. Re:Mono 2.0 Supports .Net 3.0 by uberjack · · Score: 4, Interesting

      Most of it anyway; but crucially, LINQ.

      The bits missing (Windows Workflow Foundation, Windows Communication Foundation and Windows Presentation Foundation) aren't as crucial in my personal opinion; they are just nice toys you aren't going to miss if you've never had them before.

      LINQ however is a killer feature IMO; I'm glad to see that's now available on mono.

      Personally, I find LINQ's complete throwing away of proper syntax annoying. Most .net developers I know have no idea that LINQ is simply syntactic sugar, and that the whole thing can be implemented by a bunch of method calls that make a lot more sense, from a structural standpoint. This is the problem I have with Microsoft's technologies in general (think ASP.net's asinine oversimplification of the http protocol) - instead of improving new programmers' understanding of existing technology, they re-warp the programmers' heads around their idea of how the technology should be implemented.

    4. Re:Mono 2.0 Supports .Net 3.0 by FishWithAHammer · · Score: 1

      Paint.NET is a special case; a hideous whack of code is native and being used via interop.

      --
      "You can either have software quality or you can have pointer arithmetic, but you cannot have both at the same time."
    5. Re:Mono 2.0 Supports .Net 3.0 by Xabraxas · · Score: 2, Insightful

      Isn't the phrase "lazy programmer" a little redundant.

      --
      Time makes more converts than reason
    6. Re:Mono 2.0 Supports .Net 3.0 by dbIII · · Score: 2, Interesting
      I'm running a geophysics package that uses Net via mono on an 8 CPU machine that I doubt MS Windows could install on let alone run well. Unfortunately the package costs more per seat than a few of those 8 CPU machines and has enough rough edges to look like 1990s VB shareware - but it does save time to run it.

      The only catch was putting in a single link where mono (or perhaps the app in some weird cross platform way) was explicitly looking for a paticular library version I didn't have even though it isn't going to use it. The real catch I suppose is that software that checks if you have a valid licence is designed to make things horribly difficult for the honest and I wish developers would abandon such regularly crashing stupidity.

      Personally I'm not really sure what the point of Net is but at least we can run it across platforms now.

    7. Re:Mono 2.0 Supports .Net 3.0 by Anonymous Coward · · Score: 0

      It seems that you are the one who have no idea. Linq is not just the query syntax, but the whole technology. Notice how lists suddenly have a lot of new functions after you include the linq namespace?

      You can use linq from any .net language without ever using the linq query language. Linq is a library, combined with a lot of language enhancements (type inference, mixins are the primary ones).

    8. Re:Mono 2.0 Supports .Net 3.0 by Kentaree · · Score: 3, Interesting

      I wonder if it'd be possible to get Mono and Wine to work together and get Paint.NET to work, does Mono support interop to run non-managed code?

    9. Re:Mono 2.0 Supports .Net 3.0 by Westley · · Score: 2, Interesting

      Can I ask how much experience you actually have of LINQ, and which aspects of it (which providers etc)? Which area of performance are you talking about?

      I have a certain amount of LINQ experience, and all I see is it making me more productive, with little to no performance hit. (Yes, separating out projection from filtering etc is a little more expensive than hardcoding it all in one foreach statement, but not significantly - and the resulting code is *much* cleaner.)

    10. Re:Mono 2.0 Supports .Net 3.0 by uberjack · · Score: 1

      You might want to double-check what you know. I can do exactly what LINQ does without ever referencing the "Linq" library, by simply using System.Collections and Collections.Generic. The Linq library is what adds the "syntactic sugar". Try it and see.

    11. Re:Mono 2.0 Supports .Net 3.0 by Anonymous Coward · · Score: 0

      Paint.NET can be compiled. As long as P/Invoke things are disabled.

    12. Re:Mono 2.0 Supports .Net 3.0 by Anonymous Coward · · Score: 0

      Paint.NET is a special case; a hideous whack of code is native

      so they should call it Paint.Not? :)

      (disclaimer: I like Paint.net, its rather good)(normal broadcast now continues)

    13. Re:Mono 2.0 Supports .Net 3.0 by cyberjessy · · Score: 1

      I hope you know that you are trolling.

      LINQ is not exactly syntactic sugar. Because, the compiler can translate a LINQ query into an expression (somewhat like an s-expression) which can be parsed by the program (code as data).

      Now that was not exactly something that was achievable earlier with C#. And it certainly is not achievable with method calls (again, because the code is just data - and not immediately executed.)

      These concepts have existed for a long time in functional programming languages, but it is the first time they are appearing in a widely used language (other than scripting languages) with proper tooling support.

      --
      Life is just a conviction.
    14. Re:Mono 2.0 Supports .Net 3.0 by Anonymous Coward · · Score: 0

      Does LINQ stand for Lazy Indonesian Nigger Queen?

    15. Re:Mono 2.0 Supports .Net 3.0 by Ed+Avis · · Score: 1

      It is also very difficult, if not improssible, to track VM incompatibilities when main developer (MS) is not interested in 100% compatibility at all.

      If this is concern, just write your code for Mono, and the Mono project becomes your main vendor. You realize that Mono also runs on Windows? So just develop and deploy entirely with Mono and if that alternative implementation of .NET from a certain other vendor is slightly incompatible, that need not concern you at all.

      --
      -- Ed Avis ed@membled.com
    16. Re:Mono 2.0 Supports .Net 3.0 by Ed+Avis · · Score: 1

      I can do exactly what LINQ does without ever referencing the "Linq" library, by simply using System.Collections and Collections.Generic.

      How does that handle LINQ-to-SQL and other query backends? Do you get the same performance?

      --
      -- Ed Avis ed@membled.com
    17. Re:Mono 2.0 Supports .Net 3.0 by Anonymous Coward · · Score: 0

      Yes, mono supports P/Invoke. I **think** mono can run under WINE, so perhaps it would work that way.

    18. Re:Mono 2.0 Supports .Net 3.0 by bWareiWare.co.uk · · Score: 1

      It needs porting to be pure dot-net first, but this is under-way; it is mostly working:

      http://code.google.com/p/paint-mono/

    19. Re:Mono 2.0 Supports .Net 3.0 by limaxray · · Score: 2, Insightful

      I disagree. I actually find the applications I've made using 2.0, spending hours and hours on hand coding SQL statements, are actually SLOWER than the 3.5 applications that I spent minutes and minutes writing LINQ statements. Granted, it probably has nothing to do with the use of LINQ, but I do find the SQL statements it generates are typically sound.

      Oh, and I'm the guy who codes in assembly to avoid the performance hit of C because C is for lazy programmers. There, it actually makes a difference - with Windows apps, there's already so much abstraction, added laziness isn't going to effect anything.

    20. Re:Mono 2.0 Supports .Net 3.0 by jfbilodeau · · Score: 1

      .NET 3.0 is WCF, WPF, WF & CardSpace. .NET 3.5 is LINQ, amongst many other things.

      One way or another, Java & C++ will remain my bitch as long as MS remains the sole party that controls .NET (ie: proprietary technology).

      --
      Goodbye Slashdot. You've changed.
    21. Re:Mono 2.0 Supports .Net 3.0 by ozphx · · Score: 1

      Sorry, he knows exactly what hes talking about. I suggest you check the MSIL with Reflector or suchlike.

      LINQ is syntatic sugar for specifying expressions which are defined in System.Core.

      with thing as a List(of Bar)* where Bar has property i, the simple:

      var foo = from x in thing where x.i == 0 select x;

      is just syntatic sugar for:

      IEnumerable(of Bar) foo = thing.Where(of Bar)(delegate (Bar x) {
                      return x.i == 0;
      });

      * Stupid VB syntax for generics as im too lazy to figure out escaping.

      Where is IIRC an extension method on IEnumerable(T) from System.Core. Most of the newer features are just syntactic sugar. Its pretty obvious this is the case, because there hasnt been any runtime changes to support anything functional...

      --
      3laws: No freebies, no backsies, GTFO.
    22. Re:Mono 2.0 Supports .Net 3.0 by Nurgled · · Score: 1

      While that's true for IEnumerable<T>, I think your parent was referring to the method used to translate LINQ calls into SQL, etc. In this case, the result is more like: (beware: I'm making these classes up; can't remember what they are and too lazy to look them up.)

      IEnumerable(of Bar) foo = thing.Where(of Bar)(
      new Expression(new EqualityTestExpression(new PropertyAccessExpression(x, "i"), new ValueExpression(0)))
      );

      The "Linq to SQL" backend then takes that Expression object and creates an SQL expression from it which it throws over to ADO. This language feature is called "Expression Trees" and is triggered in preference to simply creating a delegate when an argument is of a particular type.

      This is still syntactic sugar, of course, but it's much more readable with the syntactic sugar than it is spelled out as a tree of object instantiations.

    23. Re:Mono 2.0 Supports .Net 3.0 by cyberjessy · · Score: 1

      What I was saying is that the compiler converts code in an Expression-Tree. Here is a good article which explains this - C# 3.0 and LINQ - Expression Trees

      And funny, IanG also mentions this in the post:
      "there has been a tendency to dismiss all the new features of C# 3.0 as 'syntactic sugar'. If you think this is another example, then I guess you probably feel the same way about assembly language, and feel that there haven't really been any significant coding innovations since the front panel with toggle switches".

      Its pretty obvious this is the case, because there hasnt been any runtime changes to support anything functional...
      Well, the same instruction set and architecture that runs C code runs a LISP application as well. You don't need runtime changes to support functional languages - for example, F# works well on .Net and Mono and is a functional programming language.

      --
      Life is just a conviction.
    24. Re:Mono 2.0 Supports .Net 3.0 by ozphx · · Score: 1

      C is not syntactic sugar for assembler. Going back to assembler would lose you some type safety, etc.

      LINQ is a syntactic nicety for something which can be done equivalently in code. You don't lose anything by doing it manually (well, except its a pain in the ass).

      Its rather like how the new automatic properties work - it just implies a variable and a standard get/set pair.

      As OP pointed out, you can create an expression in code. LINQ is just a nicer way of doing this, its shorthand, nothing more. Expression trees are nothing new. Diamond Binding (an ORM tool I use) exposes an expression tree as part of its database query API. Looks similar too: Product.Find(Expression.Or(Expression.Eq(Product.Column.Foo, bar), ...) etc.

      Things that aren't syntactic sugar are the more fundamental changes, like generics.

      --
      3laws: No freebies, no backsies, GTFO.
    25. Re:Mono 2.0 Supports .Net 3.0 by punkrocher · · Score: 1

      That's not necessarily true. While you can mimic what linq does, saying its syntactic sugar is not true. linq is implemented in a monadic way. providing completely type safe operation.

      --
      I can stand brute force, but brute reason is quite unbearable. There is something unfair about its use. It is hitting be
    26. Re:Mono 2.0 Supports .Net 3.0 by CodeBuster · · Score: 1

      instead of improving new programmers' understanding of existing technology, they re-warp the programmers' heads around their idea of how the technology should be implemented.

      While I agree with this sentiment in general, I think that LINQ really does stand well on its own as an important and useful language feature. In fact, many other well respected platforms, Hibernate and its derivatives for example, implement the idea of a common query language (although not generally integrated as well into the hosting programming language as LINQ is). However, LINQ and selected other ideas notwithstanding, Microsoft is guilty as you charged with over-wrapping things or selling well known ideas with new labels and marketing.

    27. Re:Mono 2.0 Supports .Net 3.0 by FishWithAHammer · · Score: 1

      Mono supports native interop, but only with platform-native code. It might be possible to compile it with winelib, but that's a very half-assed guess as I've never really looked at the Paint.NET source code.

      --
      "You can either have software quality or you can have pointer arithmetic, but you cannot have both at the same time."
    28. Re:Mono 2.0 Supports .Net 3.0 by powerlord · · Score: 1

      As an "Enterprise Application Developer", unless you are being handed requirements that preclude cross-platform compatibility, campaign for it instead.

      Instead of using the .NET framework, code to Mono, that way you can have a higher potential customer base, with less work.

      Its similar to when Perl on Windows started becoming popular. Code developed on Win32 tended to hook in calls to platform specific libraries instead of using the generic ways of doing things (or ... even worse ... system calls). Code developed for *NIX (Linux, Unix, BSD), tended to have much less of that and be more cross-platform with a greater chance of running on Windows with fewer "gotchas".

      The largest part of the problem though, is "Programmer Education".

      If a programmer doesn't even think about running a program on another platform, then why should they leave their ecosystem?

      --
      This space for rent. All reasonable inquiries will be entertained at proprietors discretion.
    29. Re:Mono 2.0 Supports .Net 3.0 by shutdown+-p+now · · Score: 1

      Syntactic sugar for LINQ methods in C# is not any different from syntactic sugar for monads in Haskell. It makes sense, it is convenient, therefore, it is there. Not to mention that some of LINQ syntactic sugar is in fact about monads.

  6. IDE by cpt_koloth · · Score: 1

    A question: Is there a functional IDE for Mono, for us who don't want gnome or even gnome libs on our System?

    1. Re:IDE by JanneM · · Score: 5, Funny

      "A question: Is there a functional IDE for Mono, for us who don't want gnome or even gnome libs on our System?"

      Um, what? You'll get gnome cooties?

      Monodevelop is a good IDE, and I don't think having GTK and related libs installed is going to steal your masculinity or anything.

      --
      Trust the Computer. The Computer is your friend.
    2. Re:IDE by cpt_koloth · · Score: 1

      Well I use Slackware and i prefer to stick to standard packages so 3rd party gnome is out of the question (I had a nightmare experience with Dropline a few months ago)...

    3. Re:IDE by mrpacmanjel · · Score: 1

      What about something like jedit (I know it's a java app!) or kdevelop?

      I use jedit at work and it extremely configurable, you can add add the mono compiler as a menu item. (e.g. write your source code in the ide and easily compile it by selecting your custom menu item).

      Kdevelop is built upon the QT and KDE libraries, I've used it before and is just as "customisable" as jedit.

      However, if you don't have the gnome libraries (do you also mean gtk too?) then developing mono desktop apps may be problematic for you (the "gui" libraries in mono depend on gtk being installed)

      On the other hand, if your developing console-type applications then the desktop aspect of mono is irrelevant and using any ide would be o.k.

    4. Re:IDE by aauu · · Score: 1

      VIM, Make and SSH/terminal windows. All the GUI IDEs do is run the command line stuff in the background. Of course it might be desirable to run X if your writing gui end user applications. Mono will connect to Oracle and SQL Server out of the box (perl and java do not) and the MySql.Data.dll binary from windows works fine. I have run third party libraries by using the same .dll file in windows and *nix. I write back end server applications so there is no motivation for me to run X on *nix. Subversion for version control gives you an identcal command line interface on *nix and windows. What is the value of a GUI? Do you code with different size fonts? All drag and drop symbols?

      --
      When I was young, I had to rub sticks together to compute.
    5. Re:IDE by QuantumG · · Score: 5, Funny

      Yeah, it's a bitch trying to develop .net apps on my Amiga. I wish developers would stop assuming I'm using a Linux distro with features. Assholes.

      --
      How we know is more important than what we know.
    6. Re:IDE by VoidCrow · · Score: 1

      All the operating system does is hide all accesses to the hardware behind device drivers interfaces, and steal valuable cpu time by wrapping it in concepts like 'tasks' and a GUI. Quiche eaters.

    7. Re:IDE by DrXym · · Score: 2, Interesting
      Monodevelop is a good IDE, and I don't think having GTK and related libs installed is going to steal your masculinity or anything.

      It's too bad that its primarily for Linux and other platforms have varying levels of support. Considering Mono is supposed to be a cross-platform runtime, it doesn't instil much confidence that an IDE written in .NET expressly for Mono development can't even run everywhere. SharpDevelop (which MonoDevelop was ported from) isn't much better either. Why is it so hard to make an IDE that runs everywhere?

      I'm surprised that more effort isn't going into MonoDevelop. At the moment the defacto .NET development platform is DevStudio. This automatically means that developers develop against Microsoft's runtime, not Monos and also encourages all sorts of bad practice such as DllImports, embedding ActiveX controls, dependencies on other MS tech like SQL Server etc. Perhaps if MonoDevelop were to .NET development what Eclipse is for Java development it would gain a lot more traction. Eclipse manages to be cross-platform. It even runs on different JVMs including (surprisingly gcj). This is where MonoDevelop needs to be.

    8. Re:IDE by Anonymous Coward · · Score: 0

      You're a troll, right?

      I'm used to be an emacs developer, and now I love my Eclipse. It does a lot more than "run the command line stuff in the background", though it does that too. Renaming, refactoring, navigation, syntax error highlighting, building, running and debugging, integrated documentation, name completion, and more is much, much easier in an IDE. Yes, you can do that in emacs or vim, but the IDE makes it much easier.

      The fact that Mono doesn't have a comparable (to Eclipse or VisualStudio) IDE makes it more difficult to develop for it.

    9. Re:IDE by bWareiWare.co.uk · · Score: 1

      Eclipse (Emonic) is my preference, but Emacs (csharp-mode) also works surprisingly well.

    10. Re:IDE by daliman · · Score: 1

      Well I use Slackware

      Ah, well, there's your problem right there ;)

      More seriously, I've recently come into a workplace with a bunch of Slackware 10.2 servers and no remaining sysadmins. I'm used to Debian, so the lack of package management capabilities seems to leave me with a hideously manual process to update any available security updates for the installed packages. What's the correct procedure for this on Slack?

    11. Re:IDE by nurb432 · · Score: 1

      Too bad VSS wont work.

      --
      ---- Booth was a patriot ----
    12. Re:IDE by Forbman · · Score: 1

      SharpDevelop, on Windows, will let you develop against Mono as well.

    13. Re:IDE by Elektroschock · · Score: 1

      Ximian had a toolkit nazi culture. And that is what happened when they put their fingers on Suse Linux. So as a matter of principle I understand people who refuse to use unethical software.

    14. Re:IDE by DrXym · · Score: 1
      Yes I know it will, but there should be a single development platform that works across all operating systems and pushed as part of the Mono platform. MonoDevelop was spawned from SharpDevelop, presumably because someone thought Gtk# was more desirable than Windows.Forms. Back in the day where Mono pulled in winelib maybe it was too, but now its just caused one IDE to fork into two for no justifiable reason.

      So now Mono has two IDEs, neither compatible and neither that work across all target platforms. They really need to sort themselves out. Eclipse dominates Java to the extent that virtually all development uses it or a variant (e.g. WebSphere). Mono really needs something similar, something so compelling that devs really have no reason to fork out for DevStudio. When that happens, it's game over. If they let MS continue to run the show they will forever play catchup and will be running behind picking up the scraps. Most .NET developers probably don't know or even care about Mono. That has to change and the easiest way is to put a tool under their noses which makes them care.

  7. Re:Oh just go away by Merusdraconis · · Score: 5, Interesting

    Except that C# is a decent little language? It's good to see it open-source, that way it can have a life after Microsoft tires of it.

  8. Re:Oh just go away by Chuck+Chunder · · Score: 5, Interesting

    I don't want to run my stuff on Microsoft technologies but I have potential (and actual) customers who already do use them.

    In order to integrate their application and ours we needed to code a little plugin to run on their ASP.NET (or whatever the correct name is) servers.

    Mono allowed me to develop the required plugin on a Ubuntu box. (They then wanted the resulting assembly signed, we gave them the source code so they could do it themselves).

    Microsoft was relevant to us because we had a potential customer who used it and isn't about to abandon their entire existing system just for us.

    Without Mono there would have been two options:
    a) Pony up to MS to develop in .NET
    b) Don't do the business.
    neither of which are particularly appealing.

    Mono allows competition and competition is good.

    --
    Boffoonery - downloadable Comedy Benefit for Bletchley Park
  9. Portability depends on more than the platform by jonaskoelker · · Score: 4, Insightful

    Good luck porting over LoadDLL("C:\\windows\\system32\\mylib.dll");.

    The existence of a working mono is a necessary condition, not a sufficient one, for porting an application. Whether that condition is fulfilled and to what degree, I'll leave up to you to discuss.

    Portability comes from being largely independent of the differences between the platform you want to port from and the one you want to port to. Good portability engineering consists of gathering all the platform-specific bits into one unit with a uniform interface, such that it's easy to write platform-specific modules for all the platforms you want to support; then, make sure to test on all your target platforms.

    For a good piece of engineering, see Simon Tatham's puzzle collection (http://www.chiark.greenend.org.uk/~sgtatham/puzzles/). To see the importance of testing on all your target platforms, see the state of synergy on the Mac (http://synergy2.sourceforge.net/ -- "The Mac OS X port is incomplete [...]"). To see the importance of isolating your platform dependence, see any code that makes liberal use of fork and ioctl everywhere [sorry, I can't name an example].

    Also, good portability engineering done up front is much less work (i.e. cheaper for your employer) than when the project is already deployed on windows only.

    -- Jonas K

    1. Re:Portability depends on more than the platform by RAMMS+EIN · · Score: 1

      muhttpd uses fork, yet it works on Windows, thanks to the excellent work of the Cygwin project (at least earlier versions of muhttpd worked under Cygwin; I haven't tested recently).

      --
      Please correct me if I got my facts wrong.
    2. Re:Portability depends on more than the platform by QuantumG · · Score: 1

      For a start, the syntax is:

              [DllImport("msvcrt.dll")]
              public static extern int puts(string c);

      And secondly, no-one who wants their code to work on x64 uses this junk.. cause the 64 bit CLR can't load 32 bit dlls.

      --
      How we know is more important than what we know.
    3. Re:Portability depends on more than the platform by Chaos+Incarnate · · Score: 1

      Yes, but how many developers actually pay any attention to 64-bit Windows? Last I checked, most companies' attitude was "if it's not 32-bit, and it's not working, sod off".

      --
      Benford's Corollary to Clarke's Law: "Any technology distinguishable from magic is insufficiently advanced."
    4. Re:Portability depends on more than the platform by ClosedSource · · Score: 1

      Of course there really aren't any platform-independent applications, but you can (as you suggest) isolate the platform-dependent parts to make it easier to port. On the other hand, the uniform interface you mention will always include assumptions about the platforms used, so it's really defined to satisfy the set of platforms you're targeting rather than to satisfy all platforms.

      "Also, good portability engineering done up front is much less work (i.e. cheaper for your employer) than when the project is already deployed on windows only."

      Well, work, time, and money can be dynamic in the business world. If you have a start-up, releasing a Windows-specific version faster could mean the difference between having the income to continue or going out of business. Sometimes paying more for future development in the future makes more sense then doing the whole job cheaper in the present.

  10. Might not be a nightmare, but it probably is by Gazzonyx · · Score: 1

    You should be able to just get the GTK headers and libs and compile it. Patt dropped Gnome from Slackware for this very reason - it's a horribly complicated package to get right.

    I could try to roll you a tgz later today. Are you running 12.0 proper? You'll have to drop some gtk libs in /usr/local/lib, but I can throw them in the package so you can do a removepkg to remove the app and libs in one fell swoop.

    --

    If I mod you up, it doesn't necessarily mean I agree with what you've said, sorry.

  11. Re:Oh just go away by Tatsh · · Score: 3, Insightful

    I agree. Why don't these people who want to use .NET (managed code) just use Java? At least that is platform agnostic (limited to whatever platforms Java is ported on).

    By the way, what about dotGNU? http://www.gnu.org/software/dotgnu/ At least that will be released under GPL and not some dual licence with GPL.

  12. Re:Oh just go away by Jezza · · Score: 3, Insightful

    Or we can create something on Linux that has to run on Windows (for whatever reason). This is a two way street - Mono can create software that runs on Linux, Solaris, Mac OS X AND Windows.

    This isn't just getting Windows stuff to run on Linux.

    Viewed from this perspective it is less important that Mono is behind .NET - if you're creating something new you target Mono and it should run on .NET

    For many users Windows is where they are (stuck quite often) and they can't migrate 100% of their desktops to *nix, they have something that stops them on a number of systems. Mono means they can create applications that can run on a mix.

  13. "Redmont, we got a strategy problem !" by Anonymous Coward · · Score: 0, Redundant

    If mono would be full .net compatible (say "if"), this would mean, people be allowed to move their Windows .net enterprise application from Windows to Linux.

    Be sure, that MS will never let that to happen ! This is not anything like MS beein BAD or things like technologically it is not feasibile ... just marketshares and money. An enterprise do care about their money and investment : so do their shareholders.

    Alright, think of this. MS had runaway from Java when they though "we can no control this and make it platform dependent", thus "it's too much of a risk, let's trash VisualJ++, jview and the wfc's".

    What did they do instead ? They build their own "Java platform" version. But one they can control and make sure it will never be used to endanger their assets.

    Crossplatform sounds always good to people ears, so they also had to make sure the platform is portable to some reasonable level (money, could helps there to delegate to third party), but also that "it will always works best on Windows".

    Money get back to its dady ;-)

    Whatever Corel, Icaza & al claim, the only platform that MS cares is Windows. If MS realy cares about non Windows running .net framework, then would have at least build a compatibility test kit or GPLed the framework already, isn't it ?

    Seriously, appart from the marketing hype, what is the chance a real life corporate enterprise applications build using .net migrate without problem from Windows to Linux ? IMHO, it is the same chance people migrated cobol application to Java with a single click: very little. Better to have full managed code, better to have mono supported API, better to use code used often, etc.

    By the way, what is the long term for .net ? think of MS DNA ... at one point of time it will no more fit in MS grand-strategy and be deprecated by their master. Just because, beeing successfull would it has the potential to kill MS milking cow ! You can even anticipate, it will be some kind of "embrace and extend" thing that they really loves. Something that will let non Windows .net user in the middle of the road.

    At first, MS has realized by pushing .net, a Java engeneer can move to a C# project ... But they do not have realized that by doing this a whole new generation has already become "Java-minded".
    They now master Object, GC, persistence, etc and do not want to get back. If you are a .net developper, thing of this : do you like accessign to non-managed "pre .net" APIs ? does it sound modern to you ? easy to use ? simple ?

    Look around, years back, it was .net "everywhere" ... now, seriously, the suffix has been deprecated. This means that even MS top strategists shows little interest for .net: less bankable than others MS assets + threat to other assets = let's not put lots of things on this (but some little to try to slow down opponents).

    Anyhow, things are evolving, Linux is becoming ubiquiteous, Java is becoming ubiquiteous ... and those two are the best MS nightmare. How to kill them ? I dont think any strategist has an idea at redmont (or at least one that does not imply suicide of one of their assets).

    Time will show ...

    Rgs,
    TM

  14. Re:Oh just go away by goose-incarnated · · Score: 5, Insightful

    There's a big difference between the two - because devs don't target WINE, WINE is the "embrace" part of moving from Windows. Because devs target .NET, .NET is the "embrace" part of moving from Linux.

    So, these two technologies are actually on opposing sides of this particular ideological fence - one is an attempt at removing lock-in, the other is an attempt at locking-in.

    --
    I'm a minority race. Save your vitriol for white people.
  15. The inevitable Java vs Mono by mrpacmanjel · · Score: 3, Interesting

    As a Programmer I am really torn between Java and Mono!

    Both platforms solve the same problem but which one shall I commit to?

    Do I install and run both platforms on my PC?
    Surely running both platforms at the same time *must* be detrimental to my PC's performance (e.g. memory usage and cpu time executing both VMs)!

    I also cannot afford the time to learn both platforms properly!

    It is unfortunately a question of politics.
    Java is now open-sourced and offically sanctioned.
    Mono is the "unauthorised"(by Microsoft) port of .net technology and patents are a concern.

    Both platforms have great software written for them (e.g. banshee, jedit, monodevelop, eclipse and netbeans) and patents are not really a concern to me because I live in the UK (software patents do not apply...YET!).

    It is unfortunate that the mono is so closely associated with Windows, if the mono team had created/implemented a completely new set of cross-platform libraries (that bore no relation to Microsoft's framework) it would be more accepted.

    I really like mono - the work that has been done is nothing short of amazing but the constant catch-up with Microsoft is a concern.

    Java is widespread in mobile phones and most modern desktops unfortunatly for me it is not available on my PDA (ipaq 2210).

    I am really stuck with this! :(

    1. Re:The inevitable Java vs Mono by HRbnjR · · Score: 0, Troll

      I am a fan of Free Software and the *freedom* I get from using it.

      If you look at Java vs .NET in a Linux world, against a Free Software background, I think it quickly becomes obvious which one comes closer to sharing the Free Software ideals/benefits/mindset and which one doesn't. Mono may be a free implementation, but the platform they are emulating is as proprietary as ever.

    2. Re:The inevitable Java vs Mono by mrpacmanjel · · Score: 1

      You make an excellent point!

      If I think in technical/geeky terms I lean towards mono because it's an "evolution" of the technology (it is also shiny and newer than Java!) also the .net compact framework is on my PDA.

      When I think of the Linux "world" and freedom of software then Java is the *overwhelming* choice, Java is also installed in most mobile phones, not to mention the development tools are far maturer than something like monodevelop and fully functional (unlike Visual Studio Express).

      As much as I like mono based on your comments Java is the way forward!

    3. Re:The inevitable Java vs Mono by Anonymous Coward · · Score: 0

      > Both platforms solve the same problem but which one shall I commit to?

      Which problem do you think they solve? Portability? At least for Gui stuff Mono sure does not solve anything, I have yet to find even a single WinForms app that works right with it, and Gtk# exists only for .Net 1.0 so you'd have to run Mono instead of .Net on Windows.
      In my view, C, Gtk, Qt, wxWidgets, any of those solve the "cross-platform" problem better than Mono/.Net, and even Java is not much better unless you rely on largely clueless developers or insist on using VisualStudio.
      I haven't tried much myself but if you want "cross platform no matter how clueless and malicious the developers are" Python probably comes closest.

    4. Re:The inevitable Java vs Mono by Anonymous Coward · · Score: 0

      not to mention the new scripting capabilities built in in java 6 and which should shine in java 7 allow for seamless integration with python, javascript and whatever language you could come up, allowing a whole new degree of flexibility in the development cycle.

    5. Re:The inevitable Java vs Mono by RAMMS+EIN · · Score: 1

      ``It is unfortunate that the mono is so closely associated with Windows, if the mono team had created/implemented a
      completely new set of cross-platform libraries (that bore no relation to Microsoft's framework) it would be more accepted.''

      But then they would just have done what various others have already done, wouldn't they?

      --
      Please correct me if I got my facts wrong.
    6. Re:The inevitable Java vs Mono by gbjbaanb · · Score: 1

      The answer is easy. Learn C++.

      I'll get my coat....

    7. Re:The inevitable Java vs Mono by YttriumOxide · · Score: 1

      As far as GUIs go: for all my projects, I write the back-end as a DLL (.NET assembly), then write 3 separate front-ends - WinForms (for Windows), GTK# (for Linux) and Cocoa# (for MacOSX). For most apps that I do, the GUI is a trivial extra that takes VERY little time to do - as long as my back-end is written to work with Mono (which I always ensure), then doing this is NO problem and gives a very nice native feel on all 3 systems that I target.

      --
      My book about LSD and Self-Discovery
      Also on facebook as: DroppingAcidDaleBewan
    8. Re:The inevitable Java vs Mono by Anonymous Coward · · Score: 0

      > For most apps that I do, the GUI is a trivial extra that takes VERY little time to do

      It is still writing the Gui 3 times, with associated code duplication and if for some reason one of them is not touched for a year (e.g. whoever develops for it has not Mac or Windows or Linux) you can be sure it won't work anymore.
      So on the portability side it looks to me like Mono/.Net loses clearly even against such lowlevel approaches as Qt.
      It really matches my general experience: (Open Source) Java or .Net applications seem not a bit more likely to run on different platforms than C or C++ applications (admittedly the Qt/KDE porting efforts have made a big difference here).

    9. Re:The inevitable Java vs Mono by Anonymous Coward · · Score: 0

      Note: that mono has always been open source, long before Java ever was.

      For me it comes down to language, and I think C# is superior to Java.

    10. Re:The inevitable Java vs Mono by Anonymous Coward · · Score: 0

      Don't use Java, don't use .NET. Use Qt and you will not regret it. Promise.

    11. Re:The inevitable Java vs Mono by Anonymous Coward · · Score: 0

      You sir, are NOT a programmer! And what makes you think you can control if your users have both wm's at use at the same time ? Who even cares ? You care too much about politics and garbage like "oh my pc's performance will be hurt by bla bla bla" rather than actually starting to programm. There's also no need to "commit" to a plattform, but then again you probably also just speak one language..

    12. Re:The inevitable Java vs Mono by Anonymous Coward · · Score: 0

      .NET isn't designed with Windows in mind, and Mono doubly so. Mono lagging behind isn't really a problem as pretty much everything you would want to do is in 2.0 (and LINQ, which is now supported). .NET 3.5 is mainly for WPF, a GUI toolkit no one is forcing you to use. You can code for .NET in whatever language you want, and it'll work with all your other .NET projects. Almost all of .NET is controlled by ECMA, not Microsoft, and suing people for the rest would be shooting themselves in the foot.

      If you're wondering about C#, read this:
      http://en.wikipedia.org/wiki/Comparison_of_C_Sharp_and_Java

    13. Re:The inevitable Java vs Mono by mrpacmanjel · · Score: 1

      Dear Troll,

      I may only *speak* one language (english) but at least I can spell!

      "...starting to programm." :P

      P.S. Your post makes NO sense!

    14. Re:The inevitable Java vs Mono by Kent+Recal · · Score: 0

      Python!

    15. Re:The inevitable Java vs Mono by jfbilodeau · · Score: 1

      Java has JEE.

      What's the equivalent in .NE^H^H^HMono?

      Yes, the learning curve may be steeper with JEE, but onces you got the basics down, there is nothing that compares to it, IMHO.

      --
      Goodbye Slashdot. You've changed.
    16. Re:The inevitable Java vs Mono by Anonymous Coward · · Score: 0

      I don't know enough about either, but I can say this from the programs I have run.

      If you like to make program with ugly, awkward interfaces that are so slow that you wonder if dragging out an abacus would be a better idea, pick Java.

      If you like to make programs that are just a little slow, and a lot less portable, pick .NET.

      There are exceptions, obviously, but the overwhelming majority of Java programs I have encountered are the slowest, kludgiest, ugliest, awkwardest pieces of crap I have used in more than 20 years of computing.

      And I used to run a BBS written in Basic on my Commodore 64.

      I guess Java works great on the server or whatever, but it is pathetic for desktop apps.

    17. Re:The inevitable Java vs Mono by Anonymous Coward · · Score: 0

      Mono was somewhat relevant before Java became open source. But now we have open source Java which has been being developed for much longer than Mono and has the support of a much larger organization (Sun) and community.

      The comparison of C# vs Java the language is only a small part of it. Compare the Java platform vs Mono the platform. You don't necessarily have to use Java the language as there is Clojure, Scala, Groovy, JRuby, JPython, etc. Mono/.Net also has a huge number of languages other than C#.

      It does depend somewhat on what kind of apps you are writing. If you are doing server-side applications and/or web applications, Java is a no brainer. If you are doing desktop applications, Java is a little less attractive, but Mono isn't that attractive either. I used GTK# a bit and liked it.

      If you are using Java the language, you have better IDE's. Eclipse is amazing (and so is IntelliJ from what I hear). I've used Visual Studio (2003/2005) quite a bit and its mediocre in comparison. I used MonoDevelop a while ago and was not very impressed, but maybe its improved since then.

      Also learning Java the language allows you to use things like Google Web Toolkit and Android, which aren't really Java the platform, but use a subset of the language.

      Having used Java, Microsoft .Net and Mono. I'd pick the Java platform over Microsoft .Net and Mono.

    18. Re:The inevitable Java vs Mono by Kasracer · · Score: 1

      Java is slow and bloated. Mono, while a great effort, is awkward and not 100%. Go with wxWidgets.

    19. Re:The inevitable Java vs Mono by Anonymous Coward · · Score: 0

      Ironic, .NET is an official standard and Java is not even it's well known open stuff

    20. Re:The inevitable Java vs Mono by Jugalator · · Score: 1

      I really like mono - the work that has been done is nothing short of amazing but the constant catch-up with Microsoft is a concern.

      If it's about Java vs Mono, remember that catching up is only a concern if the condition of Java offering features the latest version of .NET also do, but not Mono.

      Just saying that it's easy to fall into the trap of feeling the situation being "inadequate" if having to catch up with Microsoft's latest features, even if you don't need them.

      Personally, I think Mono 2.0 is a quite amazing feat, and .NET 2.0 support is great. We're developing for .NET 2.0 ourselves, and the .NET 3.0 API classes aren't overly interesting, as they're such behemoths to learn and adapt to thoroughly (a WPF UI has no relationship whatsoever to a WinForms UI, for example -- good luck in porting, etc, etc), and also the added .NET redistributable size.

      But still, yeah, Java is also very good to develop for in comparison. I'd say that if your focus is Windows (and/or Windows Mobile), go for .NET -- you'll now as a bonus have Mono 2.0 to greatly ease the pains of porting if you stay away from those evil native code Windows libraries, and Visual Studio / .NET will most likely offer a better experience on Windows than Java.

      But on the other hand, if you see yourself just as likely developing for Linux or OS X as Windows, Java could still be a better idea.

      --
      Beware: In C++, your friends can see your privates!
    21. Re:The inevitable Java vs Mono by sveinungkv · · Score: 1

      How does the process that creates the .NET spec compare to the Java Community Process that create the Java spec? (The spec that Sun's Java is an implementation of) Is .NET only MS deciding what .NET is or is ECMA involved? Just wondering since you said that the .NET platform is as propitiatory as ever.

      --
      Spelling/grammar nazis welcome (English is not my first language and I am trying to improve my spelling/grammar)
    22. Re:The inevitable Java vs Mono by VGPowerlord · · Score: 1

      I really like mono - the work that has been done is nothing short of amazing but the constant catch-up with Microsoft is a concern.

      If it's about Java vs Mono, remember that catching up is only a concern if the condition of Java offering features the latest version of .NET also do, but not Mono.

      Ah, no, it's also a concern if you want to use any of the new features in .NET 3.0 or 3.5. If you want to target Mono, you have to skip those.

      --
      GLaDOS for President 2016! "Well here we are again. It's always such a pleasure." -- GLaDOS, 2011
    23. Re:The inevitable Java vs Mono by Blakey+Rat · · Score: 1

      If you need a GUI, use .net. Java GUIs suck.

      (Yes, yes, I know, "it's possible to make a native and fast GUI in Java! It's easy to do! Trivial!" And yet, no Java program I've ever used has actually *had* one.)

    24. Re:The inevitable Java vs Mono by Anonymous Coward · · Score: 0

      For that concern why is it important that Mono is only catching up? If MS did not lead here you wouldn't have the new features in .NET 3.0 or 3.5 to begin with. So you compare the two situations: In the first one you don't have the features because you target Mono, in the second one you don't have the features because noone has.

      Why is the second one better?

    25. Re:The inevitable Java vs Mono by WorldMaker · · Score: 1

      mrpacmanjel: It is unfortunate that the mono is so closely associated with Windows, if the mono team had created/implemented a completely new set of cross-platform libraries (that bore no relation to Microsoft's framework) it would be more accepted.

      In addition to the (ECMA-standardized) Base Class Library (BCL) and several .NET-compatibility libraries (including System.Windows.Forms), Mono has a full stack of its own APIs/libraries based upon Gnome's cross-platform libraries. The Release Notes has a good overview of these inherently cross-platform Mono APIs (that work in both Mono and .NET on every platform supported by both):

      http://www.mono-project.com/Release_Notes_Mono_2.0#Mono_APIs

      Cool applications such as Banshee, Tomboy and Tasque use these APIs for cross-platform happiness.

  16. The real .NET by Lord+Lode · · Score: 4, Insightful

    I wish the real .NET could be installed on Wine. Not because I like .NET, but because I want to run those programs that people make in .NET these days, in Wine just like I can do with regular programs. If Wine wants to work like Windows, it should also be possible to install the real .NET on it just like you can do on the real Windows. They should try to make it work just as well as they did with MS Office. Then it would become possible to run so much more programs in Wine without problems and without having to reboot to Windows!

    1. Re:The real .NET by kazade84 · · Score: 5, Informative

      Download winetricks then run:

      sh winetricks dotnet11 dotnet20

      Bingo. .NET under wine.

    2. Re:The real .NET by BhaKi · · Score: 1

      Windows provides lot of interfaces to applications. Only some of these are documented as Win32. Only M$ software (or software compiled with M$'s development tools) can use the undocumented interfaces properly. .NET is one such software. So it will never work perfectly under Wine, unless M$ releases the lock-in.

      --
      The largest prime factor of my UID is 263267.
    3. Re:The real .NET by ozphx · · Score: 1

      Wow are you another twitter sockpuppet?

      The APIs you can use from .Net are documented on the MSDN. If they aren't documented, then you can't use them.

      So what about the "undocumented APIs that .Net uses". Why don't you go and look through the framework source code and see if you can find them?

      Fucking retarded fanboys.

      --
      3laws: No freebies, no backsies, GTFO.
    4. Re:The real .NET by BhaKi · · Score: 1

      The APIs you can use from .Net are documented on the MSDN. If they aren't documented, then you can't use them.

      Hey kid, I'm not referring to the APIs that are offered to you by .NET. I'm referring to the OS's APIs used by the .NET runtime. In other words, I'm referring to the interactions between .NET runtime and Windows OS.

      --
      The largest prime factor of my UID is 263267.
    5. Re:The real .NET by FunkyRider · · Score: 0

      Ignorance is bless! Are YOU another twitter sockpuppet? Sucking M$'s dick makes you so high? Sure "If they aren't documented, then you can't use them." But M$ can! That's why they are richer than you! Poor bustard go learn how to live a life!

      --
      just wonder why there are so many anonymous cowards in this world....
    6. Re:The real .NET by ozphx · · Score: 1

      I'm referring to the interactions between .NET runtime and Windows OS.

      Then why don't you go and read the damn source code and identify the "super secret" calls that are being used? The framework is open sourced under the MS-RPL, and the runtime is avaliable the normal way you get shared source access to Windows components.

      The 2.0 runtime is an ECMA spec, which Mono has already fully implemented.

      The only things that are going to be slightly difficult to implement are things like System.Messaging where they won't (obviously) have MSMQ to back them up. Not a major issue, they can just wrap RabbitMQ or something else available on *nix.

      --
      3laws: No freebies, no backsies, GTFO.
    7. Re:The real .NET by BhaKi · · Score: 1

      I think you should ask the WINE developers why they're unable to implement WIndows API no matter how hard they work. You should also ask the GCC/Win people why their compiler generates "crappy code" on Windows while being the best compiler on non-Windows platforms. I'm sure the explanation offered by these people will match mine. Regarding my own reading of M$'s source code, I'm afraid to do so. MS-RPL is more viral than GPL.

      --
      The largest prime factor of my UID is 263267.
    8. Re:The real .NET by ozphx · · Score: 1

      I think instead of dodging the question with more fud you should admit you don't know what the hell you are talking about, and are just looking for excuses to use the $ sign.

      The MS Shared Source licenses are not viral. You may not create derivative works. Its Open, not Free (feel free to cry about that seperately), which is their choice to make.

      IIRC Intel's compiler is by far the fastest, so I guess when it comes to compilers neither MS, nor the GCC folks have sufficient balls.

      --
      3laws: No freebies, no backsies, GTFO.
    9. Re:The real .NET by Anonymous Coward · · Score: 0

      Do you have proofs? or is this something that you just think?

  17. Re:Oh just go away by Tatsh · · Score: 2, Interesting

    The only .NET apps I use are nLite and vLite. The fact that these both launch native apps means that perhaps the interfaces (which are AFAIK Windows.Forms) will load but they will not be able to be front-ends to their Windows native apps that they are launch. This is very unfortunate and I wish Wine and Mono could work together to solve this problem. A lot of .NET apps launch non-.NET apps. They should at least make an #ifdef __WINE__ or something to allow the Exec() command or whatever it is to replace the command with a Unix command like wine . Most things will probably work okay.

  18. Re:Oh just go away by goose-incarnated · · Score: 3, Informative

    Patent encumbered lock-in of future software?

    --
    I'm a minority race. Save your vitriol for white people.
  19. Re:Oh just go away by Kentaree · · Score: 5, Insightful

    You're not making much sense. Yes, people don't target WINE, they target the Windows API, just like they target the .NET API. Wine is a means of running Windows code on linux, Mono is a means of running .NET code on linux. People will be writing code for both, so might as well support running it on linux.

  20. Re:Oh just go away by what+about · · Score: 4, Insightful

    Mono is Java in disguise, if you want cross platforms without traps use Java

    It is like the mortgage crash, a few saw it coming, they said so, but the majority didn't care

    A few people says that Mono is a legal and technology trap (search the web for mono trap), in the future this will reveal true, do not forget that you where warned

  21. And why not just use Java? by HRbnjR · · Score: 4, Insightful

    The .NET platform and C# looks like decent enough technology, but I just don't think it's compelling enough to prompt a switch from Java.

    With these back-room Novell/MS deals, the patent situation around Mono continues to be as clear as mud, and with Java I get it all under the GPL (with a clear and written patent grant) right from the source. Not to mention Sun's process for advancing the platform (JCP), while not perfect, is far more open and community driven, catering to much wider variety of vendors and platforms than Microsoft.

    With Eclipse and Netbeans, the Java tool support on Linux is fantastic as well. With RedHat and JBoss, the server platform is also well supported on Linux.

    So, yeah, nice work, but no thanks.

    1. Re:And why not just use Java? by arotenbe · · Score: 3, Insightful

      I use Java as well, and I think that Eclipse is a better IDE than Visual Studio, but there are a couple reasons for using .NET:

      • A better language. C# is, for all intents and purposes, Java with more syntactic sugar. It makes it about a hundred times easier to write event-driven programs.
      • A library that actually makes sense. Java was designed by committee, and it shows. Most of the problems in the .NET framework ultimately stem from having to run on Windows; the cross-platform parts are comparatively clean.
      • No checked exceptions. Seriously.
      --
      Tomato wedge sperm darts that are Republican.
    2. Re:And why not just use Java? by Anonymous Coward · · Score: 0

      "A library that actually makes sense. Java was designed by committee, and it shows. Most of the problems in the .NET framework ultimately stem from having to run on Windows; the cross-platform parts are comparatively clean."

      But what you call the clean cross platform part is so small dude. You can't even make a decent GUI without using P/Invoke unless all you do is program like a Visual Basic (pre-dotnet era) programmer because the WinForms are lacking a lot of the features found in the win32 GUI APIs. So dotnet and Mono have nothing that can compete with either Java Swing or Java SWT.
      Then there's the lacking multimedia API. The official .net sound API can only do stuff on .wav files, not even work with MIDI. For advanced stuff you still have to use P/Invoke again.
      The 2D graphics API is ok but again there is no crossplatform 3D library that has been used in production like Java JOGL. The TAO framework still has to prove itself.

      The pure managed .net libraries are lacking too much stuff to be usable in a crossplatform way. True .net windows programmers WILL always use P/Invoke while the Java platform has libraries for nearly everything you could care for and has no need for native code. Fuck you can even write an app that works with SVG stuff in pure java with Apache Batik.

    3. Re:And why not just use Java? by arotenbe · · Score: 1

      You can't even make a decent GUI without using P/Invoke unless all you do is program like a Visual Basic (pre-dotnet era) programmer because the WinForms are lacking a lot of the features found in the win32 GUI APIs.

      You do know that .NET can use widget libraries other than Windows Forms, right? I mean, most Java apps with GUIs are written in SWT nowadays, not Swing.

      True .net windows programmers WILL always use P/Invoke while the Java platform has libraries for nearly everything you could care for and has no need for native code.

      .NET has plenty of libraries for that type of thing. Specifically, they wrap P/Invoke. The Java libraries do that too, they just have separate implementations on every platform.

      --
      Tomato wedge sperm darts that are Republican.
    4. Re:And why not just use Java? by Anonymous Coward · · Score: 0

      > You do know that .NET can use widget libraries other than Windows Forms, right?

      Please, tell me which, I've been looking for a long time. Gtk# does not provides a .Net binding only for version 1.0.
      Which widget library works with Mono (and is at least in the Debian repository), .Net 2.0 and .Net 3.0?

    5. Re:And why not just use Java? by pianoben · · Score: 0

      Now if only someone would implement C# on the JVM... Here's looking at you, Sun!

  22. Re:Oh just go away by should_be_linear · · Score: 1

    Web Services exist for this specific reason. You can create Java components and let your customers access it easily from their .NET code.

    --
    839*929
  23. Re:Oh just go away by goose-incarnated · · Score: 2, Insightful

    *sigh*

    WINE removes lock-in, .NET provides it. WINE helps people leave windows and still keep their legacy applications. Mono provides a way for new applications to be moved from Linux to Windows.

    Unless, of course, the argument is made that there are legacy applications in .NET that can be run on Mono, in which case we have bigger problems, such as lack of intellectual integrity on the part of those making the argument

    --
    I'm a minority race. Save your vitriol for white people.
  24. Re:Oh just go away by supersnail · · Score: 0, Flamebait

    Except C# is much better than Java and .NET is much better than J2EE.

    --
    Old COBOL programmers never die. They just code in C.
  25. Ok so I didn't RTFA but one question.... by Anonymous Coward · · Score: 0

    Have they now released it so that M$ cant come along and pull the plug using Patents they hold or via Copyright/DMCA junk?

    Just asking

  26. Re:Oh just go away by Anonymous Coward · · Score: 1, Insightful

    c# is not open source, is patent riddend and the life of mono on linux depends only on the god will of microsoft, on which feel free to bet your guts.

  27. Re:Oh just go away by Anonymous Coward · · Score: 0

    > Mono allows competition and competition is good.
    So your saying the developer has to make a choice to recompile their application to run on mono?

    Wouldnt it just be better if m$ just released a version of .net themselves and not get people like de icazza to move away from unfinished projects (ie gnome v0.2) and create new ones (ie moonlite + mono)?

  28. Mostly P/Invoke by rdnetto · · Score: 2, Interesting

    I'm guessing that 40% of those incompatible apps are due to code which references Win32 libraries via P/Invoke. Seriously, almost no-one is developing for .NET 3.x. Most apps are written for 2.0, which is included with XP SP2 and Vista, but 3.5 is a 300MB download, so almost no-one has it. Microsoft had to release a client-only subset version of it which is cut down, and its around 30 MB, but it'll cause a lot of confusion (RE: versioning), and I don't think it supports LINQ.

    --
    Most human behaviour can be explained in terms of identity.
    1. Re:Mostly P/Invoke by mkbosmans · · Score: 1

      Using P/Invoke is a bad coding style in .NET anyway, so that just leaves the developers who just don't care who are unable to port to Mono.

    2. Re:Mostly P/Invoke by Shados · · Score: 1

      Thats very wrong.

      A) .NET 3.0 is included with Vista

      B) .NET 3.5 is nowhere close to 300 megs. ALL of the .NEt 3.5 version, including 32 and 64 bit versions, bundled together in one redistributable package is 300-350 megs. If you use the bootstrapper, its more like 60 megs. It will also be pushed via Windows Update once the SP1 bugs are fixed, and there's a much smaller "Client Profile" (as you mentionned) for desktop applications.

      C) LINQ is part of the compiler, not the runtime. You can actually make an app for .NET 2.0 with LINQ, because once compiled, the runtime doesn't even know you used it, so of COURSE the client-only subset supports LINQ.

      D) Since the vast majority of .NET apps are server side anyway, a -lot- of people are using .NET 3.5 already, as its almost 100% (not quite) backward compatible with only a few regressions...There's almost no reasons to upgrade. The 1.1 to 2.0 migration was a LOT more painful, and most companies did it within a year according to the statistics I read... .NET 3.5 is even easier to migrate to, and the gain is greater.

      What you are right on: yes, a lot of the incompatibilities will be because of p/invoke... one of the great feature of .NET is backward compatibility with native code and with COM... I've seen very few apps that didn't have at least a COM reference or two.

    3. Re:Mostly P/Invoke by rdnetto · · Score: 1

      A) .NET 3.0 is included with Vista

      I never said it wasn't. I haven't seen any apps for it though - most people just target 2.0 or 3.5, since they're the ones VS was released for.

      ALL of the .Net 3.5 version, including 32 and 64 bit versions, bundled together in one redistributable package is 300-350 megs. ... It will also be pushed via Windows Update

      So what do you think you'll be redistributing with your programs? Besides, it'll be released as a software update, and most people don't even bother to do the critical updates, let alone the optional ones.

      LINQ is part of the compiler, not the runtime.

      Actually, it's not. The LINQ commands map to extension methods implemented in the LINQ namespace, so the program won't compile if you're even missing the using for it. Try it. (This won't happen with VB because in addition to imports, VB projects also have the References section of the project properties)

      You're probably right about D) though - I don't work in that area, so I wouldn't know.

      --
      Most human behaviour can be explained in terms of identity.
    4. Re:Mostly P/Invoke by shutdown+-p+now · · Score: 1

      I'm guessing that 40% of those incompatible apps are due to code which references Win32 libraries via P/Invoke. Seriously, almost no-one is developing for .NET 3.x. Most apps are written for 2.0, which is included with XP SP2 and Vista, but 3.5 is a 300MB download, so almost no-one has it. Microsoft had to release a client-only subset version of it which is cut down, and its around 30 MB, but it'll cause a lot of confusion (RE: versioning), and I don't think it supports LINQ.

      MS did indeed muddy the water quite a bit with 3.5, but you're just muddying it even further. Let me go through it point by point:

      1. .NET 2.0 is not included with XP SP2. It is available as an optional download via Windows Update - which means that, in practice, almost noone has it installed by default. Meanwhile, Vista includes .NET 3.0. MS has promised to push 3.5 SP1 as a recommended update (which means installed by default with default WU settings) to all Windows computers with 2.0+ already installed soon.
      2. .NET 3.5 is a 300Mb download for a full installer version of the framework. It's so large because it includes several installers for all supported configurations (XP 32-bit and 64-bit, Vista 32-bit and 64-bit, with or without .NET 3.0). End users do not need those 300Mb. They are supposed to use the "Web installer", which downloads only the files needed to install 3.5 on the specific OS and configuration - which is between 50Mb and 60Mb, depending on OS. That 300Mb distro is typically used by developers when you need to redistribute boxed software - and in that case you typically don't care about how large it is, so long as it fits on your CD/DVD.
      3. Microsoft did release the ".NET Framework Client Subset", which is essentially .NET without ASP.NET, System.EnterpriseServices, and other stuff that's really of little use outside the server. It does support LINQ in all its incarnations. It's also about 40Mb, not 30, and it's only available as a "Web installer", not as an offline self-contained download (which is annoying). It can also only be installed on an OS with no pre-installed .NET, which means Vista is right out already (which is doubly annoying). But the difference between 40Mb and 50-60Mb is not big enough to warrant bothering with it at all, in my opinion.
    5. Re:Mostly P/Invoke by Shados · · Score: 1

      LINQ maps to the extension methods defined in System.Core, but you can bundle that DLL with your app. Even more so, most of the extension methods it maps to are trivial, you can create them yourself. So yes, it -will- work, and I have working prototypes of it running on 2.0. Even more so, there are blog entries from MS's employees on how to do it (its not supported, but it IS possible).

      For redistributing with my programs, I'd redistribute the .NET 3.5 client profile, which weights around 30 megs.

      And finally, .NET 3.0 has 4 components, and one of em is fully supported in VS2005. There's more apps using it than you'd think.

    6. Re:Mostly P/Invoke by rdnetto · · Score: 1

      NET 2.0 is not included with XP SP2.

      Sorry, let me clarify. It isn't included with SP2, but when Microsoft started selling copies of XP with SP2 slipstreamed, they included .Net 2.0 as part of the installation.

      --
      Most human behaviour can be explained in terms of identity.
  29. Great but... by squoozer · · Score: 1

    If you were setting out to write a serious new web application and cross platform was a real requirement why not just use Java? If your requirements are smaller there are plenty of other languages that offer cross platform deployment that are up to date on all platforms.

    It's great to see this project continuing to develop but it's going to be like Blackdown Java - a niche product at best. The only saving grace is that, unlike with Java, you can't actually run the MS VM on Linux (AFAIK).

    --
    I used to have a better sig but it broke.
    1. Re:Great but... by Tanaka · · Score: 1

      This is so not niche, and comparing it to Blackdown Java is ridiculous.

      Mono has huge momentum behind it. It's supports multiple lauguages, has it's own IDE written in C# (which is a breath of fresh air over coding in Java), and supports Silverlight/Monolight, which makes Javascript look pathetic.

    2. Re:Great but... by jfbilodeau · · Score: 2

      You haven't answered the question: Why not use Java...or for that reason, why use .NET for cross-platform development over Java?

      There are many IDEs written in Java, and I refuse to run Silverlight/Moonlight on my machine as long as it's a MS proprietary solution (ie: let's-trap-the-customer-into-another-windows-only-solution).

      --
      Goodbye Slashdot. You've changed.
    3. Re:Great but... by jannone · · Score: 1

      OTOH, if one is not into web or cross-platform applications, he/she could try Vala. It's a nice language for GNOME based environments, its syntax is very similar to Java's, has garbage-collection, doesn't need a virtual machine, and so on.

  30. .NET break too much by Tei · · Score: 2, Informative

    "InternetNews points out that only about half of the .NET apps out there will work on Mono 2.0"

    On my Windows XP computer half the .NET applications break anyway.

    --

    -Woof woof woof!

    1. Re:.NET break too much by CxDoo · · Score: 1

      In the first place, maybe you do not have the needed runtime installed.

      And then applications might fail because they are crap.

      I have yet to see application failing due to runtime bug.

      --
      "Blah blah blah." - [citation needed]
  31. Re:Oh just go away by Anonymous Coward · · Score: 2, Interesting

    the portability is a myth. look at how much applications are written in a portable way (OpenOffice, for example)

    posix and c/c++ where portable and uniform across operating system for at least three decades, and if cross platform development doesn't thrive on those, then none of those wannabe portable languages will do any good for portability.

    portability using a common runtime is a myth, and is a weird version of the microsoft format lockin (yes applies to Java too). look at how many platform debian packages are compiled towards, THAT is portability.

  32. Re:Oh just go away by something_wicked_thi · · Score: 5, Insightful

    Before I tear apart what you think passes for an argument, let me say that the Mono folks are doing an amazing job and they get way too little credit. The tinfoil hat brigade around here seems to have taken on Mono as its personal whipping boy, and it's totally unfair and uncalled for.

    WINE removes lock-in, .NET provides it.

    Sure, but weren't you supposed to be talking about Mono there somewhere? Java used to provide lock-in, too. Hence, the GNU Classpath project, which is pretty much identical in its goals to Mono. Funny that I never saw you people screaming about that one being a trap.

    WINE helps people leave windows and still keep their legacy applications. Mono provides a way for new applications to be moved from Linux to Windows.

    Wow, get some perspective there. How many killer apps are there on Linux that the Windows people are craving? KDE? Gnome? Firefox? OpenOffice? None of those are on .NET and most of them run on Windows, anyway. Do you think that Firefox, OOo and KDE are all helping people move away from Linux by providing Windows ports? Isn't it more likely that without those Windows ports, most of these projects would go nowhere?

    It's really quite obvious to anyone with any actual knowledge of how the industry works that people are going to write applications without Linux in mind. The Mono project, just like the Wine project, lets people who run Linux run applications that other people wrote for Windows.

    As it turns out, there's also a bunch of useful libraries that Mono includes that you can use when coding for platforms other than Windows. It boggles my mind that anyone would think that this is somehow a trap. It's just a useful way to access Unixy things on Mono. But it clearly can't be breaking Linux lock-in or whatever pea-brained scheme you've come up with.

    Unless, of course, the argument is made that there are legacy applications in .NET that can be run on Mono, in which case we have bigger problems, such as lack of intellectual integrity on the part of those making the argument

    .NET has been around for 7-8 years now. Do you honestly think code can't become legacy in that amount of time? Here's a tip: if you think Linux has any lock-in potential for applications written on it, then perhaps you shouldn't talk too much about intellectual integrity.

  33. Re:Oh just go away by EddyPearson · · Score: 1

    How the fuck does this kind of pig headed zealotry get modded Insightful?

    You should take things on their individual merit rather than some sort anti-whoever prejudice.

    Mono is NOT merely to allow you to run Windows .NET applications, it is there to provide a platform independant runtime which you can develop in C# (for example) for.

    --
    You feel sleepy. Close your eyes. The opinions stated above are yours. You cannot imagine why you ever felt otherwise.
  34. I've had great experience with Mono by tondrej · · Score: 1

    trying to codesign large Windows executables. At the time their Authenticode tool was better than Microsoft's own.

    --
    Never send a human to do a machine's job.
  35. Re:Oh just go away by supersnail · · Score: 0, Flamebait

    FLAMEBAIT -- get a life!
    Anyone who has experience of both J2EE and .NET will tell you that .NET is better thought out, has a more consistant design,
    has cleaner easier to use APIs, scales better, performs better
    and is altogether a much nicer environment to work in.

    I am sorry if this upsets the Slashdot worldview but its the truth.
    Microsfot are better at software than Sun.
     

    --
    Old COBOL programmers never die. They just code in C.
  36. Re:Oh just go away by stompertje · · Score: 2, Informative

    Wine makes it possible to run Windows applications, built on the WIN32 API, to run on Linux. Mono makes it possible to run Windows applications, built on the .NET framework, to run on Linux. In both cases, most applications will probably be developed primarily for Windows, but can also be run on Linux. Yes, you can develop .NET apps on Linux, run them on Linux and then move to Windows while keeping your .NET apps. That doesn't mean that Mono provides lock-in. It just means that .NET/Mono comes closer to cross-platform portability than WIN32/Wine does...

  37. Re:Oh just go away by anomaly256 · · Score: 2, Interesting

    I for one look forward to games coming out using .net and managed opengl libs. Suddenly game makers won't have to do much work at all to write games that perform well on windows, linux, even osx. Sounds like removing lock-in to me

  38. Platform vs language by sentientbrendan · · Score: 2, Interesting

    I think the mono project was started primarily because of interest in the C# language, as it compares favorably to java, fixing many of Java's flaws.

    Sadly while the C# language may be in many ways stronger than Java, the platform is much weaker. Realistically, the reason Java was so successful was that there were high quality VM and classpath implementations on all platforms. Yet, Microsoft didn't seem to learn this lesson from Java, and instead relied on third parties, who can't possibly maintain parity with Microsoft .NET. Thus, .NET will always be a second class citizen on Linux, and always a poor choice compared to Java.

    As much as I like C#, it's a foolish choice to write Linux apps in .NET in the same way that it is foolish to write them in win32. It will always be a second rate platform on Linux, so long as the people controlling the standard have no interest in doing the work to making the framework work across platforms.

    1. Re:Platform vs language by JasterBobaMereel · · Score: 1

      If I write something in C#/.NET :

            it can run on Windows (well later versions, if they have the correct .NET runtime) and possibly run on Mono if I have written it correctly and don't use DirectX at all and avoid V3 and avoid things that do not work (currently) on Mono, and at some point Microsoft *might* ban mono because of patent violations ....

      If I write something in Java (which is a little harder and the libraries are messier)
          it can run on any Java platform this includes Windows (including some earlier versions and OS/2!) Linux, Mac, AS/400, and quite a few handheld devices and phones, I don't need to worry about patents or writing to the target platform ....

      The only mono apps I run are Linux only, the only .NET apps I run are Windows only (Or web based)?

      --
      Puteulanus fenestra mortis
  39. Re:Oh just go away by goose-incarnated · · Score: 0, Troll

    Before I tear apart what you think passes for an argument,

    Ad hominem

    let me say that the Mono folks are doing an amazing job and they get way too little credit.

    Irrelevant - I did not begrudge them their due.

    The tinfoil hat brigade around here seems to have taken on Mono as its personal whipping boy, and it's totally unfair and uncalled for.

    WINE removes lock-in, .NET provides it.

    Sure, but weren't you supposed to be talking about Mono there somewhere? Java used to provide lock-in, too. Hence, the GNU Classpath project, which is pretty much identical in its goals to Mono. Funny that I never saw you people screaming about that one being a trap.

    Then you have a short memory.

    WINE helps people leave windows and still keep their legacy applications. Mono provides a way for new applications to be moved from Linux to Windows.

    Wow, get some perspective there. How many killer apps are there on Linux that the Windows people are craving? KDE? Gnome? Firefox? OpenOffice? None of those are on .NET and most of them run on Windows, anyway. Do you think that Firefox, OOo and KDE are all helping people move away from Linux by providing Windows ports? Isn't it more likely that without those Windows ports, most of these projects would go nowhere?

    Strawman, I never claimed anything like that, the majority of applications are in-house development efforts, and there are more portable and less legally dangerous alternatives to .NET

    It's really quite obvious to anyone with any actual knowledge of how the industry works that people are going to write applications without Linux in mind. The Mono project, just like the Wine project, lets people who run Linux run applications that other people wrote for Windows.

    Wine does, certainly.

    As it turns out, there's also a bunch of useful libraries that Mono includes that you can use when coding for platforms other than Windows. It boggles my mind that anyone would think that this is somehow a trap.

    I believe it is because your experience of the industry might just be limited to software for the masses, and not the majority of software written.

    It's just a useful way to access Unixy things on Mono. But it clearly can't be breaking Linux lock-in or whatever pea-brained scheme you've come up with.

    Irrelevant, Ad hominem and a strawman. Well Done!!!

    Unless, of course, the argument is made that there are legacy applications in .NET that can be run on Mono, in which case we have bigger problems, such as lack of intellectual integrity on the part of those making the argument

    .NET has been around for 7-8 years now. Do you honestly think code can't become legacy in that amount of time? Here's a tip: if you think Linux has any lock-in potential for applications written on it, then perhaps you shouldn't talk too much about intellectual integrity.

    I leave the above in purely to demonstrate your lack of an argument.

    --
    I'm a minority race. Save your vitriol for white people.
  40. Re:Oh just go away by gbjbaanb · · Score: 4, Insightful

    really? I thought MS has dropped support for OpenGL, apart from its very legacy v1.1 base. And you know they will never write a managed wrapper for it.

    So, who will write a .NET game using opengl? If you're a Windows dev (and most game devs are) then you'll be using DirectX.NET, which oh so conveniently is not available for Linux.

    So close. Yet so immensely far. Do you see the problem now? Its business a usual for MS, but with the added bonus of saying "But we are working on Linux interoperability, Mr DoJ, look - Mono".

  41. Re:Oh just go away by gbjbaanb · · Score: 3, Informative

    well, it snot that decent a little language. Its a MS port of Java with extra bits added mainly in the realm of the GUI and interop with legacy COM and Win32.

    They have added extra features that are cool, like LINQ, but I feel they'll be heavily misused over the coming years. They've also adding features like extension functions which will make scripting languages look like statically strong-typed languages compared to C# as time goes by.

    Its also pretty complex for a little language, I'm seeing a lot of people complaining on the web about how they're using up all their memory followed by little tutorials on Dispose and releasing objects so they actually get disconnected and then freed by the GC.

    I think if it wasn't for curly braces, and the .NET class library, hardly anyone would be using it. Imagine if MS only released VB.NET, you wouldn't use it, the classic VB crowd wouldn't use it, but its practically the same language as C#.

    BTW. C#2 is a standard, C#3 is not. MS has promised to submit it, but they havn't yet.

  42. Re:Oh just go away by Chrisq · · Score: 4, Insightful

    To be pedantic I think the C# language definition is open source. What isn't is the runtime. You could write a C# compiler with its own runtime and you'd have a pretty nifty alternative to Java.

    What you can't do is copy the windows runtime. I wonder how mono would do if Microsoft invoked patents against it. I suspect not well, but with Mono in its current state it is to MS's advantage - they can say they are multi-platform but know that most people will give up because of the 50% of programs that won't run and turn to Windows.

  43. Re:Oh just go away by goose-incarnated · · Score: 3, Insightful

    FLAMEBAIT -- get a life! Anyone who has experience of both J2EE and .NET will tell you that .NET is better thought out, has a more consistant design, has cleaner easier to use APIs, scales better, performs better and is altogether a much nicer environment to work in.

    I am sorry if this upsets the Slashdot worldview but its the truth. Microsfot are better at software than Sun.

    Anyone who has experience of both Apache and IIS will tell you that IIS is better thought out, has a more consistant design, has cleaner easier to use APIs, scales better, performs better and is altogether a much nicer environment to work in.

    I am sorry if this upsets the Slashdot worldview but its the truth. Microsfot are better at software than FLOSS Devs.

    Because, we all know that those are the only things that matter when gambling your future - your legal liability is irrelevant.

    --
    I'm a minority race. Save your vitriol for white people.
  44. Re:Oh just go away by something_wicked_thi · · Score: 1

    You're not much of a debater. Yes, there's an ad hominem in there (but only one, not two as you claim). However, ad hominems don't invalidate anything else I said, and it's not necessarily even false. I still think you're a pea-brained moron and your response has done nothing to change that.

    If you want to be taken seriously, respond to my argument against you thinking there's Linux lock-in that Mono is breaking. Or present some other argument that I shall take great pleasure in mocking similarly.

  45. Re:Oh just go away by gbjbaanb · · Score: 1

    J2EE v .NET is not the same comparison. Java v Net is.

    Does it really scale better? Or is it that no-one notices any more because computers have got more RAM and faster CPUs nowadays.

    the API is (well, was) almost entirely the old Java/J++ class library.

    Now that said, you're still right. MS *is* better at development software than Sun. Visual Studio is best in its class and .NET is easier to use mainly because of that. I wouldn't like to type out those long, long namespaced methods without the IDE to autocomplete for me!

  46. Re:Oh just go away by KiloByte · · Score: 0, Troll

    Do you want Vista? I don't. .NET makes everything bloated to an insane degree.

    Some Gnome guys try to push a piece of crock named "Tomboy notes". If you try it, it will take more memory than the whole rest of Gnome together. And Gnome, well, isn't quite the paragon of being bloat-free.

    --
    The creatures outside looked from Alt-Right to Antifa; but already it was impossible to say which was which.
  47. Re:Oh just go away by renoX · · Score: 1

    So what? Decent languages are a dime a dozen: Scala, D, Ada..
    They are alternatives which don't tie you to Windows.

  48. Re:Oh just go away by Uber+Banker · · Score: 4, Insightful

    WINE is as to Windows as Mono is as to .NET This is basic logical reasoning.

  49. Re:Oh just go away by goose-incarnated · · Score: 1

    It's false logic, as demonstrated by the fact that people don't target Wine, but do target Mono.

    Also, Wine is not legally encumbered, Novell needs cross-patent deals with MS, Wine devs have never needed so. This attempt to equate Wine and Mono as somehow "the same thing" is intellectually dishonest.

    --
    I'm a minority race. Save your vitriol for white people.
  50. Re:Oh just go away by Daengbo · · Score: 2, Informative

    If you think MS doesn't have patents on parts of the Win32 API, then you're really messed up. The cross-patent licensing deal with Novell was for all patents. It would also include any Win32 patents. NET vs. Wine isn't relevant there since the patents involved weren't divulged..

    Mono started as a way for .NET apps to run on Linux. People now write for Mono. Wine started as a way to compile Windows Apps for use on Unix. People now also write and certify their applications for Wine. You also appear to think this is different, and somehow get people to mod you up for your poor reasoning.

  51. Re:Oh just go away by Daengbo · · Score: 2, Interesting

    Anyone writing for Gnome should use Vala, Gnome's own c#-alike language.

  52. Re:Oh just go away by anomaly256 · · Score: 1

    Actually, there are quite a few very well written opengl managed libs that take full advantage of hardware acceleration, written by people other than microsoft. Some of these are even free and open. I understand you think what you believe is correct, but can you all please ease up on the zealotness?

  53. Re:Oh just go away by Jellybob · · Score: 1

    I wonder how mono would do if Microsoft invoked patents against it.

    They'd remove the patent encumbered bits (which are compiled as a completely seperate component), and get on with being an implementation of the .Net runtime on other platforms.

  54. C# wins over Java any day IMO. by Tanaka · · Score: 1

    My first C# app was to convert some Java code. It was a breeze.

    Now beng a bit of a master of C#, I recently needed to convert C# into Java. Arrrggghhh....what a nightmare! The first stumbling block was that you cant pass variables by reference. I had to completely redesign it, and the result kept the Garbage Collector very busy.

    1. Re:C# wins over Java any day IMO. by LizardKing · · Score: 2, Informative

      You may be a master of C#, but you clearly know very little about Java - all objects are passed by reference in Java. Fundamental types like int, long, etc. are passed by value, and I understand this is the same in C#.

    2. Re:C# wins over Java any day IMO. by jfbilodeau · · Score: 1

      Being myself a 'master' of both Java & .NET (C# & VB.NET), I am under the impression that you tried to make your Java code .NETish.

      First mistake: Java is _NOT_ anything like C#. Syntactically, they look similar, but they have too many differences to perform a 1-to-1 transition.

      It's almost like comparing Objective-C and C++. They share similar syntax, but require two different mindset and skillset to use.

      Personally, I choose Java before C#. Among other reasons, there is less surprises (like passing by ref vs. by value).

      --
      Goodbye Slashdot. You've changed.
    3. Re:C# wins over Java any day IMO. by Abcd1234 · · Score: 1

      Personally, I choose Java before C#. Among other reasons, there is less surprises (like passing by ref vs. by value).

      That's a strange statement. In both Java and C# objects are passed by reference. For value types, in C#, if you pass them by reference you have to explicitly annotate them with the "out" keyword, which basically removes any ambiguity (and addresses my problem with & notation in C++).

      So, what am I missing here? What surprise are you referring to?

      And as an aside, I'd pick C# over Java any day of the week (and this is from a person who worked with Java for quite a few years before being forced to switch over). Why? One reason: higher-order functions. C# actually has real closures, something I've come to rely on thanks to my experience with Smalltalk, and something I deeply missed during my days working with Java.

    4. Re:C# wins over Java any day IMO. by sapone · · Score: 1

      You CAN pass a fundamental type by reference in C# (a method void add(int a, int b, ref int result) will write to result). That is what he meant.

    5. Re:C# wins over Java any day IMO. by LizardKing · · Score: 1

      You CAN pass a fundamental type by reference in C#

      That I didn't know. The designers of Java took a conscious decision not to allow pointers or references to fundamental types, and the only time I've ever found this to be problematic is in CORBA code, where modifiable arguments of fundamental type have to be wrapped in an object. Outside of CORBA code, I can't think of a single occasion where I've wanted to be able to pass a fundamental type by reference.

    6. Re:C# wins over Java any day IMO. by Abcd1234 · · Score: 1

      Well, while exceptions have made pass-by-reference less useful (since you no longer return status codes to indicate errors), there is still the odd time where it's useful. For example, the .NET Dictionary's TryGetValue uses an out parameter for storing the result, which means this idiom:

      if (! dictionary.TryGetValue(name, out value))
      {
              value = defaultValue;
      }

      is cleaner and simpler than the alternative:

      if (dictionary.ContainsKey(name))
      {
              value = dictionary[name];
      }
      else
      {
              value = defaultValue;
      }

      And the fact that you have to annotate the parameter in the call means that my one complaint about pass-by-reference (that it's unclear on the calling side) is eliminated.

    7. Re:C# wins over Java any day IMO. by shutdown+-p+now · · Score: 1

      You may be a master of C#, but you clearly know very little about Java - all objects are passed by reference in Java. Fundamental types like int, long, etc. are passed by value, and I understand this is the same in C#.

      It's not. In C#, you can identify a parameter itself as passed-by-reference or passed-by-value - and if that parameter is of type "reference to object", then you actually get a reference to a reference.

      It doesn't come up often, but the classic example is Swap:

      void Swap<T>(ref T x, ref T y)
      {
      T z = x;
      x = y;
      y = z;
      }

      int x = 1, y = 2;
      Swap(ref x, ref y);

  55. Re:Oh just go away by Anonymous Coward · · Score: 0

    Anyone who has experience of both Apache and IIS will tell you that IIS is better thought out, has a more consistant design,
    has cleaner easier to use APIs, scales better, performs better
    and is altogether a much nicer environment to work in.

    In fact, it really is.

    IIS 7 is leaps and bounds ahead of whatever Apache 2.2 is cooking, open source third party modules included.

    Being able to develop pipeline modules for IIS 7 on C#/.NET is phenomenal.

  56. Why no better a VM for Python or Ruby? by Anonymous Coward · · Score: 0

    Why no better spend the effort in creating a VM for Ruby, Python or a new language instead of implementing a half baked M$ .Net framework and C#, who wants to use C#? it is to verbose and ugly language.

    Poor Miguelito but he is wasting his time and life with this project that doesn't benefit nobody, it doesnt benefit Open source, it doesnt benefit Linux, even doesnt benefit M$ folks.

    1. Re:Why no better a VM for Python or Ruby? by bWareiWare.co.uk · · Score: 1

      Mono will soon support both Python and Ruby via the MS developed Iron* versions.

    2. Re:Why no better a VM for Python or Ruby? by jfbilodeau · · Score: 1

      How long has IronPython & IronRuby existed on Windows? Sounds like Mono is still playing catch-up to the Windows version of .NET...

      Today, I can use 100% Java, Python & Ruby on more platforms than all the versions of .NET/Mono combined. Why should I even bother with .NET when there are already superior technologies that works out-of-the-box on my favourite OSes?

      --
      Goodbye Slashdot. You've changed.
    3. Re:Why no better a VM for Python or Ruby? by sapone · · Score: 1

      Actually, I remember starting IronPython on Mono... I think it just worked.

    4. Re:Why no better a VM for Python or Ruby? by bWareiWare.co.uk · · Score: 1

      To some extent Mono will always be playing catch up. (Though it is interesting to note that by my count Mono has more libraries/features that .NET doesn't implement then the other-way round.)

      The Dynamic Language Runtime is currently where Microsoft is focusing is platform development for the next release, so this is likely to be the area Mono is least compatible.

      Languages and platforms are about the correct tool for the job. I mainly use Python, but am currently working on a issue that would be trivial on .NET and is proving a real head scratcher in Python:

      Copy a bitmap (from file) into the clipboard.

      To nit pick I can also name one big platform that is .NET but none of the three you suggest (Xbox360).

    5. Re:Why no better a VM for Python or Ruby? by jfbilodeau · · Score: 1

      To nit pick I can also name one big platform that is .NET but none of the three you suggest (Xbox360).

      Then let's add the PS3 to the Java list of platforms ;)

      --
      Goodbye Slashdot. You've changed.
    6. Re:Why no better a VM for Python or Ruby? by bWareiWare.co.uk · · Score: 1

      Except I can also run Mono on the PS3.

    7. Re:Why no better a VM for Python or Ruby? by ozphx · · Score: 1

      The runtime supports one language: MSIL.

      Your compiler of choice emits MSIL from a higher level language, such as C#.

      http://en.wikipedia.org/wiki/List_of_CLI_Languages

      Any of these languages can be used to program for .Net, using any other .Net library written in any other language. Theres even a cross-compiler for JVM bytecode, called IKVM. "What language" a library is written in is generally completely meaningless in the .Net environment. You can pick the best tool for the job every single time.

      So no, .Net is not C#. I mainly use C#, but also a bit of Boo (python like, but cooler - syntatic macros let you modify the abstract syntax tree of the language in code - like #defines on crack), and some F#.

      The CLI has done some pretty amazing things for language interoperablity and portability. You would do well to actually research what you complain about before you open your mouth.

      --
      3laws: No freebies, no backsies, GTFO.
    8. Re:Why no better a VM for Python or Ruby? by jfbilodeau · · Score: 1

      As opposed to Mono, Java is built-in to the PS3. For that matter, Java is also built-in to many blue-ray players, and is available on many more modern and legacy platform than Mono (or .NET).

      --
      Goodbye Slashdot. You've changed.
    9. Re:Why no better a VM for Python or Ruby? by c_g_hills · · Score: 1

      You mean like Parrot?

  57. Re:Oh just go away by rufus+t+firefly · · Score: 2, Interesting

    Anyone writing for Gnome should use Vala, Gnome's own c#-alike language.

    Or writing for Maemo. It's a pretty fantastic way of getting lean programs with advanced language features. Unfortunately, it's still a little lacking for bindings in the stable version (GNet wasn't functional in the last stable version, which was a deal breaker for the stuff I was doing.), but it's very promising for embedded apps.

    --
    "He may look like an idiot, and talk like an idiot, but don't let that fool you. He really is an idiot." - Duck Soup
  58. Re:Oh just go away by rufus+t+firefly · · Score: 2, Informative

    Comparing Visual Studio to something like Eclipse isn't exactly a fair comparison, since Visual Studio doesn't do cross platform, at all. For anyone who doesn't live, eat and breathe Microsoft products, this is a bit of a problem. Monodevelop is currently the only almost equivalent for doing .NET work in a cross platform visual way....

    That being said, if you're doing heavy duty development work and don't use Windows, Eclipse is a much better environment than Monodevelop, so it's pretty safe to say that Java development on non-Windows systems is easier than .NET development. If you don't use Windows.

    --
    "He may look like an idiot, and talk like an idiot, but don't let that fool you. He really is an idiot." - Duck Soup
  59. Mod parent down, here's why by BhaKi · · Score: 2, Interesting

    Sure, but weren't you supposed to be talking about Mono there somewhere? Java used to provide lock-in, too. Hence, the GNU Classpath project, which is pretty much identical in its goals to Mono. Funny that I never saw you people screaming about that one being a trap.

    WINE allows you to run Win32 applications on X/Unix. Mono allows you to run .NET applications on Linux. While superficially these appear similar, there's an important difference: WINE and classpath implement specifications that are publicly available whereas Mono, through a deal with M$, implements something which is not freely implementable. The difference shows up like this: you can write an alternative for classpath or for WINE (although it would take another 10 years) but you can't write an alternative to Mono (no matter how many years you take) without having a deal with M$ either directly or indirectly. In summary, M$ CONTROLS who can implement .NET while that is not the case with Win32 or Java. Can you see the Lock-In now? Anything that requires you to have a deal in order to implement it is not an open standard.

    --
    The largest prime factor of my UID is 263267.
    1. Re:Mod parent down, here's why by Anonymous Coward · · Score: 0

      You mean there is no ECMA standard about .NET and you can't write a clone without a deal with Microsoft?

    2. Re:Mod parent down, here's why by Dog-Cow · · Score: 0, Flamebait

      Yay, another shlashdot poster with shit for brains. What in the world makes you believe even a fraction of your argument is true in any way, shape or form?

    3. Re:Mod parent down, here's why by Anonymous Coward · · Score: 3, Informative

      I'll clarify my sibling posters: the only part of .net that has ever been published as an (attempted) standard, is version 1.1.

      All other versions are proprietary and MS-specific. Now, tell me, which .net applications use only 1.1? I'll give you a clue: the answer is somewhere above us.

    4. Re:Mod parent down, here's why by Sinbios · · Score: 1

      Wait, so let me get this straight. Your complaint against Mono is that they're dealing with filthy M'$' to achieve their goals, and they're not FREEEE AS IN SPEEEEECH!, nevermind that their purpose is to widen application compatibility and free .NET from the constraints of Windows? Wow.

      --
      Anyone can "stand up for what they believe", but it takes a very brave individual to change what they believe. - Loundry
    5. Re:Mod parent down, here's why by something_wicked_thi · · Score: 2, Insightful

      WINE and classpath implement specifications that are publicly available whereas Mono, through a deal with M$, implements something which is not freely implementable

      This is simply not true. There is no public specification for any of these. Java is mainly defined by a set of conformance tests, which is not a spec. Win32 has been partly reverse engineered so WINE can be implemented. Also, I don't know of any deal between MS and Novel about sharing information, but even if there is one, what difference does it make? Go look at how video drivers get written for X. Lots of open source devs sign NDAs so they can see the specs. This is an unfortunate practice, but it doesn't invalidate any of the work they've done. The code they write is still open source.

      I'll also point out that you can write an alternative to Mono simply by reading the source code. The Mono source code has all the information you need to implement Mono. Furthermore, you can do what WINE does and reverse engineer things as you need to, which, to my knowledge, has been exactly what the Mono folks have been doing.

      Finally, I'll point out that the comparison was with WINE and Win32 is not an open standard, either. You've conflated two terms in an effort to mislead people here. Nobody here is saying .NET is a proper standard. It's completely irrelevant to the current discussion.

    6. Re:Mod parent down, here's why by man_of_mr_e · · Score: 1

      the only part of .net that has ever been published as an (attempted) standard, is version 1.1.

      False.

      ECMA, like it or not, is a world recognized standards body. Javascript, for example, is standardized by ECMA.

      ECMA CLI and C# are now in their 4th editions, which cover C# 2.0 and the .NET CLI 2.0 respectively.

      In December of 2001, the ISO ratified ISO/IEC 23270 (C#), ISO/IEC 23271 (CLI) and ISO/IEC 23272 (CLI TR) standards, which map to .NET 1.1, and in 2006 ISO ratified ISO/IEC 23270:2006 (C#), ISO/IEC 23271:2006 (CLI), ISO/IEC TR 25438:2006 (CLI TR) which map to .NET 2.0.

      Now, it's true that C# 3.0 has not been submitted to ISO or ECMA, and the .NET framework is currently at version 3.5, both of those are based on the 2.0 infrastructure and are fully backwards compatible, meaning that the CLI and CLI TR standards are still the latest versions even for use with .NET 3.5.

      You might not look like such a dumbass if you knew anything about what you were arguing about.

  60. Re:Oh just go away by robthebloke · · Score: 4, Interesting

    As a .net developer, you have to notice that Managed DirectX doesn't exist anymore, and XNA is too nowhere near as powerful as MDX was. There is SlimDX, which is a binding around DX10, which is quite cool, but has only become available recently.

    The Tao Framework is more or less the best thing out there right now for .NET. It provides cross platform .NET bindings for openGL, SDL/glut/glfw, as well as OpenAL, devil and CG. It's basically a cross platform XNA equivalent.... but a lot better ;)

    Whilst i appreciate /. is full of MS bashing, I'd actually suggest you go try mono with the Tao framework, and it might prove to be a suprisingly pleasing environment to work in....

  61. Re:Oh just go away by robthebloke · · Score: 2, Insightful

    C# is an iso standard language, which puts it in the same league as C/C++.....

  62. Re:Oh just go away by BhaKi · · Score: 1

    WINE is as to Windows as Mono is as to .NET This is basic logical reasoning.

    You are wrong. Read the reply that I've written to the parent post of the parent post of the parent post of your post to know why.

    --
    The largest prime factor of my UID is 263267.
  63. Strawman by Anonymous Coward · · Score: 1, Informative

    Wine is to Windows as Mono is to .NET is right, but that's not what goose was on about.

    Wine is the opposite of .NET.

    If you write **for** MONO it should work on windows.

    If you write **for** .NET, it probably won't work on Linux.

    If you write **for** Wine, it should work on Windows.

    If you write **for** Windows, it probably won't.

    Note: MONO is the odd one out. There's no analogue in the "lock in/ unlock" stakes that WINE has for MONO.

    Except patent pledges and license restrictions. Of which Novell say there are none but haven't said so in binding statements.

  64. Re:Oh just go away by BhaKi · · Score: 1

    Mono allows competition and competition is good.

    The existence of Mono depends on its developers having deal with M$. But it's being advertised as if it's something like WINE. While M$ claims .NET is a cross-platform standard, it is cross-platform only across the platforms that M$ permits Mono developers to target. Mono is compatible with .NET only to an extent that is determined by M$. So here's the bottomline: Mono allows M$ to advertise itself as allowing competition while in reality it only allows competition to the extent that M$ wants to.

    --
    The largest prime factor of my UID is 263267.
  65. Re:Oh just go away by Anonymous Coward · · Score: 0

    Microsfot are better at software than Sun.>

    Check again.
    May be you are doing wrong comparison. Because many companies develop products for Java.

    Development: more than one 'good IDEs' take example of Eclipse .. launch configuration, refactoring etc features are far ahead than "licensed" Visual Studio.

    Runtime Services/Frameworks: BEA, Oracle have provided lots of performances and features including J2EE and SOA BI ....
    Framworks like Spring, Hibernate have forced good software designs.

    So its not about Microsoft and Sun.
    Its about Java and .Net

  66. Can a monkey right what VMWare did wrong? by Anonymous Coward · · Score: 0

    Does this allow running VMWare Infrastructure Client under Linux?

    The VMWare ESXi product is now free to use and very capable of high-class virtualization, but the admin interface is for Windows-only, apparently written in .NET.

    This means sysadmins with a Linux or Macintosh workstation are unable to see the screen of guest machines running under ESXi or execute complicated configuration tasks. (The command-line interface available for Linux users is very primitive in functionality compared to the Windows-only GUI client.)

    This is a shame of VMWare Inc. and I hope it can be corrected with MONO. Do you have some info on this topic?

  67. Re:Oh just go away by x2A · · Score: 2, Insightful

    Before I tear apart what you think passes for an argument,

    "Ad hominem"

    Erm... do you know what 'ad hominem' means? This is insulting your argument, not you personally. It's insulting to you personally by proxy, on the basis that you believe your argument etc etc. Okay, yes, there is an ad hominem element to it still as you are insulted along with what you said, but that doesn't invalidate it. "Ad hominem" is hardly a defence.

    "Then you have a short memory"

    Or more likely: hasn't come across posts where you express the bug up your ass about java.

    "Wine does, certainly"

    Erm... mono "certainly" does too... not *all*, and often without some porting (such as changing paths to reflect unixy filesystems), which is stated. You may remember what WINE was like as 'early' into the project as Mono currently.

    Among other things, Mono allows transference of skills of Windows programmers to Linux systems, should they desire to work under Linux. If you think people are going to develop under Mono on Linux, and then move their projects over to the Windows platform instead, I think that demonstrates how little confidence you have in Linux.

    "Irrelevant, Ad hominem and a strawman. Well Done!!!"

    Untrue, irrelevant, untrue, and unduely patronising.

    --
    The revolution will not be televised... but it will have a page on Wikipedia
  68. Re:Oh just go away by Anonymous Coward · · Score: 0

    C# has removed some JAVA frustration, Java always felt a little strange compared to C++, it doesn't have real properties (and don't tell me about those get/set functions that's just fake). With C#, it feels a little like having delphi but than without the pascal syntax... To bad it is mostly windows only...

  69. Mono 2.0 and .NET On Linux by BhaKi · · Score: 1

    ...only about half of the .NET apps out there will work on Mono 2.0, for a variety of reasons...

    All those reasons can be traced back, in one way or the other, to the fact that M$ gets to decide what fraction of the .NET applications will work with Mono. M$ chooses the fraction to be big enough so that people will be fooled into thinking .NET is a truly cross-platform API yet small enough to keep Mono always as a second-class citizen compared to .NET.

    --
    The largest prime factor of my UID is 263267.
    1. Re:Mono 2.0 and .NET On Linux by Shados · · Score: 1

      Well, no. The vast majority of times, it is either because A) Microsoft cough out new versions of .NET faster than you can blink, and Mono is always playing catching up... and the fact that if your fact has anything involving p/invoke (calling native code), a Mono port goes out of the Windows (unless you rewrite that part). Both of those situations are very common, and probably account for 90%+ of the incompatibilities.

    2. Re:Mono 2.0 and .NET On Linux by BhaKi · · Score: 1

      Microsoft cough out new versions of .NET faster than you can blink, and Mono is always playing catching up...

      That's precisely what I was saying. M$ can always decide the ideal date for releasing new .NET version because coding some libraries and then documenting them is much faster than coding a library conforming to somebody else's specifications. For this reason, Mono will always be playing catch-up. I don't see any difference or contradiction here.

      ...if your code has anything involving p/invoke (calling native code), a Mono port goes out of the Windows (unless you rewrite that part). Both of those situations are very common, and probably account for 90%+ of the incompatibilities.

      This situation is very common because most .NET developers read only M$ .NET's documentation and not the ECMA standard. Moreover, MSDN actively encourages developers to make use of M$-specific extensions by calling the ECMA-standardized parts as "legacy APIs". As you can see, M$ is in perfect control of what fraction of .NET applications work with Mono. Either the Mono developers are feeling an illusory sense of control or they're being paid to be the engines behind all this drama.

      --
      The largest prime factor of my UID is 263267.
    3. Re:Mono 2.0 and .NET On Linux by gbjbaanb · · Score: 1

      that's interesting.. I knew C# 3wasn't submitted to the standard, so LINQ and WPF aren't standards, but I didn't realise MS had added their own extensions to the standard already!

      You don't happen to have some examples do you?

    4. Re:Mono 2.0 and .NET On Linux by Shados · · Score: 1

      Hmm no. Pinvokes and COMs are freakishly obvious when you use them (you may end up using native code by using a wrapped library, yes. But thats by far the rarer scenarios, and are usually obvious...such as trying to connect to Active Directory), AND every last bits of documentation on MSDN discourage you from it. And a lot of the "hidden" ones (let say GDI+ in System.Drawing) are actually not even SUPPORTED in server environments (as in, MSDN clearly tells you "If you use this in a service or in a web app, and something blows up, you're shit out of luck).

    5. Re:Mono 2.0 and .NET On Linux by ozphx · · Score: 1

      He doesn't. You should be able to tell from the dense usage of the dollar-sign in his posting that its another twitter sockpuppet.

      --
      3laws: No freebies, no backsies, GTFO.
    6. Re:Mono 2.0 and .NET On Linux by BhaKi · · Score: 1

      .NET 3.0 is not part of the standard. Half of the .NET developers out there target .NET 3.0. Unless they restrict themselves to the parts covered by .NET 2.0, they WILL be using non-standardized extensions. What is worse is the fact that MSDN actively encourages developers to use non-standardized stuff.

      --
      The largest prime factor of my UID is 263267.
    7. Re:Mono 2.0 and .NET On Linux by BhaKi · · Score: 1

      I neither know nor want to know what "twitter" or "sockpuppet" means. I don't depend on the information provided by all those crazy sections among the anti-M$ people. What I feel about M$ is based on my own independent thoughts. You name ONE area where M$ doesn't encourage people to be non-portable and standards-incompliant. Look at MSXML vs XML. MSRPC vs RPC. OOXML vs ISO/IEC 26300:2006 aka ODF. "Windows API" vs IEEE 1003 aka POSIX. "DirectX" vs openGL. MSDFS vs NFS. "IE HTML"(for want of a better name) vs W3C HTML. Try running a W3C HTML validator on M$'s homepage, your screen will overflow with validation errors. Nobody deserves the dollar sign better than M$ for their consistent efforts in bringing the world to such a state where people don't even understand what is meant by "open standards".

      --
      The largest prime factor of my UID is 263267.
    8. Re:Mono 2.0 and .NET On Linux by shutdown+-p+now · · Score: 1

      Unfortunately, Mono has enough incompatibilities even in the pure managed code land. Just as an example, I've recently wrote a fairly simple .NET 3.5/WinForms application - essentially a tabbed MDI DataGridView + PropertyGrid CSV file editor with a few tricks relevant to its domain, nothing fancy. Pure managed code, no P/Invoke. I was curious whether Mono could be used to run that on W2K (since .NET 3.5 doesn't), and, hopefully, on Linux. No luck. It seems that DataGridView.AutoGenerateColumns is broken, for one (which is enough to break my app entirely), and there were some troubles with PropertyGrid, too. Neither is a new feature - they were both introduced in .NET 2.0, which Mono claims to support in their 2.0 release.

      Ironically , all the 3.5 bits I've used (which was really just LINQ to Objects and DataSet) worked fine.

    9. Re:Mono 2.0 and .NET On Linux by Shados · · Score: 1

      Thats because you're using WinForms, a component of mono that is A) new, B) not pure managed at -all- Its all Win32 APIs in the back), C) a legal minefield.

      Basically everything UI, so you need to use an open source UI framework like GTK# or something (if memory serves), Moonlight, etc.

    10. Re:Mono 2.0 and .NET On Linux by shutdown+-p+now · · Score: 1

      The problem is that Mono's implementation of WinForms is advertised as 1) pure managed, and 2) feature-complete.

      Yes, I knew it wasn't really properly complete. I was just surprised that it couldn't handle a relatively simple app despite all the claims. I wonder what's the point in its existence even is, then. It would seem that e.g. WPF would be a much easier target in a sense that it is very much further from Win32 roots than WinForms, and thus is a better candidate for reimplementation as a cross-platform toolkit. But no, Miguel says that they're not even planning for WPF.

      And Gtk#, while nice on Unix, still looks crappy on Windows. And, of course, you have to forego all the VS designers etc.

    11. Re:Mono 2.0 and .NET On Linux by Shados · · Score: 1

      Ahh sorry, I worded it wrong. I meant that the Windows variant was not pure managed, thus making it really hard to "copy".

      Im interested btw on what exactly your app choked in WinForm? Just for personal reference.

    12. Re:Mono 2.0 and .NET On Linux by shutdown+-p+now · · Score: 1

      Im interested btw on what exactly your app choked in WinForm? Just for personal reference.

      I haven't studied it in detail, but for DataGridView, it looked like AutoGenerateColumns was simply not implemented. I'm not sure why PropertyGrid didn't work, either.

  70. Re:Oh just go away by Ginger+Unicorn · · Score: 1

    google target wine

    --
    (1.21 gigawatts) / (88 miles per hour) = 30 757 874 newtons
  71. Re:Oh just go away by x2A · · Score: 1, Interesting

    My claim is that of the two techs mentioned (Wine and .NET), one enables migration from Windows, the other prevents it."

    Are you serious?! How do you think that Mono prevents migration of software from Windows to Linux? Bare in mind that for that to be true, what you're saying, is that if I have some software written for .Net and want to migrate it to Linux, I could do if it wasn't for Mono? So surely that means that if I avoid installing Mono, then I will be able to migrate it to Linux? Without Mono, I can run it, but installing Mono prevents me from running it? If that's not what ya meant, maybe you could word your argument more clearly?

    --
    The revolution will not be televised... but it will have a page on Wikipedia
  72. I forgot to mention a few more things by BhaKi · · Score: 0, Troll

    I forgot there's a hell lot in MS .NET that's not in ECMA .NET. I forgot more than 99% of the .NET developers read the MS. NET documentation rather than the ECMA .NET documentation or the Mono documentation. I forgot lot of foolish but vocal people consider the compatibility between Mono and MS .NET as a measure of .NET's cros-platformity while they should actually consider the incompatibility between dotgnu and MS .NET as a measure of the lock-in involved.

    --
    The largest prime factor of my UID is 263267.
  73. Re:Oh just go away by smartin · · Score: 0

    C# is a copy of Java with some ugly nasty C++isms thrown in, for example 'virtual' and operator overloading.

    --
    The difference between Canada and the USA is that in Canada healthcare is a right and gun ownership is a privilege.
  74. Language is not important by fireboy1919 · · Score: 1

    It works with Visual Studio, which has built-in automagical wizards for filling out frontends. This tool even works with libraries that other people have made.

    It also has a web programming model that's almost exactly the same as its non-web model.

    I haven't seen this level of RAD support in any other system which also has support for the web - much as I would like to - especially in Java.

    Hopefully, one day I will. I'm subscribed to the MyEclipse project. Mylyn is awesome, subclipse is the best subversion client I've ever used, but I have found no actual set of libraries that I can develop with the rapidity of the ones that come with .Net 3.5.

    --
    Mod me down and I will become more powerful than you can possibly imagine!
  75. Re:Oh just go away by CxDoo · · Score: 1

    Say what you will but compared to Java, C# is beautiful. And yes I do use both of them.

    --
    "Blah blah blah." - [citation needed]
  76. .NET developers: ECMA .NET?#??!!#! WTF is that? by BhaKi · · Score: 5, Insightful
    Do a quick google search for ".NET". All the first results are about MS .NET, not ECMA .NET. WOW, there's even a wikipedia page for MS .NET but not for ECMA .NET.

    All the budding developers who hear about .NET's cross-platform nature will want to learn it. All, except the wisest, of them will be forced to learn MS .NET from MSDN. They'll code a few .NET applications in C#, test them on M$ Windows and let their brains embrace .NET beyond all question. One day they find that most of their applications don't work on Linux/Mono. They'll scream on all public forums - "Linux is crap!!!". Someone tries to explain to them that the problem is because of their heavy usage of M$-specific extensions which are not part of ECMA .NET. Then they'll scream again - "ECMA .NET?#??!!#! WTF is that?". Such is the depth of lock-in involved with .NET.

    --
    The largest prime factor of my UID is 263267.
    1. Re:.NET developers: ECMA .NET?#??!!#! WTF is that? by pembo13 · · Score: 1

      Any rebuttals to this?

      --
      "Thanks for all the money you paid to us. We've used it to buy off ISO among other things" -Microsoft
    2. Re:.NET developers: ECMA .NET?#??!!#! WTF is that? by Locutus · · Score: 2, Insightful

      and what is MS .Net version 3.5 I see mentioned in my search for MS .Net? Mono is only supporting v2.0 and because that is so old that about half of the MS .Net applications out there won't run on Mono v2.0.

      hey, what a surprise and isn't that great to know this whole thing is not to enable Windows developers and apps to work on Linux but so Linux developers and apps can run on Windows.

      Mono is a one way street, it's a gateway to train developers who can only go to Microsoft's platform for updated versions of the software stack. And, once you go MS, you can't go back. So where is the ECMA version of all this and has it even reached MS .Net v2.0 compatibility?

      Every Microsoft technology I've ever seen/heard of has been a one-way street and that is because they need to protect their businesses. Develop with Microsoft's tools and be their tool. It is now pretty much only in the open source market where tech is growing to solve problems instead of tech being used to protect a financial position as it is in Windows. Does anyone remember the early/mid 90s when there was competition in dev tools and there was a dev tools market?

      LoB

      --
      "Anyone who stands out in the middle of a road looks like roadkill to me." --Linus
    3. Re:.NET developers: ECMA .NET?#??!!#! WTF is that? by ClosedSource · · Score: 1

      I know it's popular around here to assume that Windows developers are dumb, but the fact is that we do understand the multiplatform issues. Nobody expected that their applications written in J++ using MS extensions were going to work "out of the box" on other platforms with Java nor do we expect all .NET applications to run seamlessly under Mono. As hard as it might be to believe, historically most Windows developers didn't really give a S*** whether their applications worked on Linux or not.

    4. Re:.NET developers: ECMA .NET?#??!!#! WTF is that? by BhaKi · · Score: 1

      As hard as it might be to believe, historically most Windows developers didn't really give a S*** whether their applications worked on Linux or not.

      What makes you think that it is hard to believe? It is well known that an overwhelming majority of Windows developers don't care about portability. None of the C++/Windows developers among my friends really know or care about what "ISO C++" means. To them, "C++" means opening M$ Visual Studio IDE and coding according to the specifications of Visual Studio Help or MSDN.

      --
      The largest prime factor of my UID is 263267.
    5. Re:.NET developers: ECMA .NET?#??!!#! WTF is that? by ClosedSource · · Score: 1

      There's a difference between not being interested in Linux and not being interested in standard C++. Of course, if you're writing a GUI app, you're not going to learn about it by reading the C++ standard even if you're programming for Linux.

    6. Re:.NET developers: ECMA .NET?#??!!#! WTF is that? by RightSaidFred99 · · Score: 1

      Nobody gives a shit. If you're developing for Linux, you'll develop for Linux. If you're developing for Windows, you'll develop for Windows. If you're developing for both and don't know what you're doing, tough shit.

    7. Re:.NET developers: ECMA .NET?#??!!#! WTF is that? by Kethinov · · Score: 1

      Your example may sound absurd, but I've personally witnessed this exact reaction in the RunUO community. Back in 2006 I remember participating in a debate about whether or not the authors should open source their project. My primary goal was to encourage the development of a Linux port capable of running in Mono, because the authors were unwilling to do it themselves. The authors claimed it couldn't be done, because Mono sucked too much. But in reality, they were just depending far too much on the MS extensions. A year later they about faced and GPL'd the whole thing. It was ported by someone else to Linux/Mono in short order. Though their anti-Linux/Mono stance continued; the maintainer of the Linux port was largely shunned by the community.

      --
      You're right, I wouldn't steal a car. But if it were possible, I sure as hell would download one!
    8. Re:.NET developers: ECMA .NET?#??!!#! WTF is that? by serge587 · · Score: 1

      My thoughts exactly. Mod parent up!

  77. Re:Oh just go away by anomaly256 · · Score: 1

    erm, J# is an ms port of java. C# isn't. It's much less migraine inducing than java for starters.

  78. Re:Oh just go away by Lord+Lode · · Score: 4, Interesting

    Or better: Write a C# compiler that compiles to the java virtual machine.

  79. Re:Oh just go away by anomaly256 · · Score: 1

    How is this a flamebait and the parent not? Zealots should not be mods ;)

  80. Re:Oh just go away by IceCreamGuy · · Score: 2, Insightful

    My claim is that of the two techs mentioned (Wine and .NET), one enables migration from Windows, the other prevents it.

    And Mono now negates that last part you said since it allows you to move .NET code over to *nix, so, relating to the actual discussion of Mono, what exactly is your point again?

  81. Mono Attracts Microsoft developers to Linux by Anonymous Coward · · Score: 0

    Actually, as a long time developer in C#, I welcome the ability to program for my home OS (Linux).

    I can't be bothered to learn Python, Perl, C++ or Java - having .Net right there in Gnome (and with Windows Forms support too!) is absolutely great for me.

    1. Re:Mono Attracts Microsoft developers to Linux by s73v3r · · Score: 1

      If you can't be bothered to learn new technologies, then why the hell are you in software development?

    2. Re:Mono Attracts Microsoft developers to Linux by Keeper+Of+Keys · · Score: 1

      If you can't be bothered to learn python, you deserve everything you get. Hell is strongly-typed languages.

  82. Re:Oh just go away by ByOhTek · · Score: 1

    I've never heard much of anyone developing apps in .NET for Linux. It's possible, but I've not seen it done seriously. Mostly I've seen people developing apps in Windows for for Windows using .NET. Then, suddenly, though rarely, they see they can migrate these apps to their *NIX platform and get more out of their development.

    If you look at Mono from the perspective of *Nix devs using mono - yes, it's a method of lock-in. If you look at Mono from the perspective of Windows devs using mono, and their apps then being useable by *Nix people, then it is a method of removing lock in.

    That being said. I've never heard of a professional shop using Mono for *Nix development, or many non-professionals doing the same. It's always been targeting Windows, without the intent of cross-platform. If anything the whole basis for a lock-out argument and mono seems to be a straw man.

    --
    Self proclaimed typo king, and inventor of the bear destroying coffee table (patent not pending).
  83. Re:Oh just go away by wisty · · Score: 0, Troll

    And anyone who has experience of both IE and Firefox will tell you that IE is better thought out, has a more consistant design, has cleaner easier to use interface, scales better, performs better and is altogether a much nicer environment to surf in.

  84. Mono 2.0 -- Interview with Miguel de Icaza [audio] by Anonymous Coward · · Score: 0

    Dr. Dobb's http://www.ddj.com/ talks with Miguel de Icaza about Mono 2.0 in this audio interview.

  85. It's the framework, not the language that matters. by Anonymous Coward · · Score: 0

    The fact is that the .Net Framework is an excellent set of libraries to do most common programming tasks.

    Take your pick of .Net languages or implement your own.

  86. Re:Oh just go away by gbjbaanb · · Score: 1

    its not so much zealotry, if you code for Windows, you code using Microsoft libraries and everything that comes with Visual Studio. If it doesn't come with VS (or the platform SDK perhaps) then you don't use it.

    I'm serious, things used to be a bit different, you could grab code from all over and use it without problem, but I've seen a definite shift away from that over the last few years.

    Perhaps its because MS has supplied more library code, or perhaps its because of the Open source movement (ie managers have discovered people using free code, have read "free code is communist" on a website or magazine and have put 2 and 2 together to end up with "no use of free code in this organization").

    So, nowadays, if you're going to write for Windows, you are very much pushed towards using the 'standard' or default libraries, and that means DirectX in this case.

    OpenGL does have good libs, I like it, I've used it, but the number of Windows developers who'll use it is very small indeed. Its a shame and its why my attitude towards MS has shifted over the last few years, I am still a Windows developer, but I see the monoculture has grown too much.

  87. Re:Oh just go away by nurb432 · · Score: 1

    But its not open souce, Microsoft still holds the copyright on the actual language schema. Implementations may be, but not the language.

    While would be a bad PR stunt, they could pull it at any time. ( unless things have changed recently )

    --
    ---- Booth was a patriot ----
  88. some biggies by speedtux · · Score: 0

    C# has some features that Java just lacks: efficient parameterized classes, multidimensional arrays, value classes, call-by-reference, explicitly unsafe modules, and native code interfaces.

    We were waiting for years for Sun to fix those, but Sun never did (there has been some movement on some of them recently, but it's too little too late). As far as I'm concerned, the only reasonable general purpose programming languages these days are C++ and C#. Java simply isn't even in the running.

    1. Re:some biggies by cmdr_tofu · · Score: 1

      Hmm I didn't know java lacked multidimensional arrays. What does JNI stand for and does it predate C#?

    2. Re:some biggies by psavo · · Score: 1

      JNI stands for Fuckin Pain In The Ass.

      --
      fucktard is a tenderhearted description
    3. Re:some biggies by not+already+in+use · · Score: 1

      C# has some features that Java just lacks: efficient parameterized classes, multidimensional arrays, value classes, call-by-reference, explicitly unsafe modules, and native code interfaces.

      ...And unsigned types.

      --
      Similes are like metaphors
    4. Re:some biggies by speedtux · · Score: 1

      Hmm I didn't know java lacked multidimensional arrays.

      Well, obviously you don't know Java very well then.

      What does JNI stand for and does it predate C#?

      JNI isn't part of the Java language. It's also one of the worst designed and most inefficient ways of interfacing native code and a HLL ever.

      Java is a piece of shit.

  89. there is no "catch-up" by speedtux · · Score: 1

    There are maybe a dozen commonly used Mono applications on Linux. They don't involve .NET at all, they are written in Gnome. When you install Mono on Linux, you usually don't even get the .NET libraries.

    The value of Mono on Linux is primarily as a better programming language for the existing Linux, Gtk+, and Gnome APIs. The fact that it also provides .NET compatibility is icing on the cake.

    Without the support of features in .Net 3.5, very few people are going to choose it for new developments.

    Lots of people are already choosing Mono for new developments, and most of them don't use or care about .NET.

  90. who cares? by speedtux · · Score: 1

    I really don't care about cross-platform support. Why? Because the major work of getting applications to work well on differnet platforms isn't the GUI library, it's doing all the platform integration work. A cross-platform library only makes that more difficult.

    In different words, the way to do a cross-platform C# application is to use .NET libraries on Windows, Gtk# on Linux, and Cocoa# on OS X.

    On the other hand, if you use Java and Swing, your application will never work well on any platform.

  91. Re:Oh just go away by Spy+der+Mann · · Score: 1

    IIRC, a lot of hobbyist developers are moving from C++ to C# (example: CDBurnerXP). Apparently the .NET platform is really popular in Windows. Most devs I've talked to in real life know much more about .NET than about Java.

    So what happens when there's a new Killer app for Windows that requires .NET? Think about it, what if suddenly Adobe said all its products required Microsoft .NET 2.0? .NET is not the "embrace" part of moving from Linux. For starters, it's a Microsoft Technology. Nothing to embrace here.

    I'd think more of .NET as "yet another Microsoft product to keep making the Windows platform more interesting". The problem is that it's a DEVELOPMENT product and developers start using it. I see .NET as a danger because it keeps being a moving target. AND it's developed at Microsoft's whims.

    Strategically speaking, .NET is a very powerful weapon against non-Windows Operating Systems. Why? Because it's a PLATFORM. Not only we have to target Microsoft Windows, we also have to target Microsoft .NET if we want to keep Windows users happy.

  92. ISO by Spy+der+Mann · · Score: 4, Insightful

    C# is an iso standard language, which puts it in the same league as C/C++.....

    ...and OOXML.

    1. Re:ISO by powerlord · · Score: 1

      C# is an iso standard language, which puts it in the same league as C/C++.....

      ...and OOXML.

      Not exactly. MS didn't have to buy votes for C# because it was actually a well defined standard with multiple implementations, and went through the committee process without being fast-tracked.

      --
      This space for rent. All reasonable inquiries will be entertained at proprietors discretion.
    2. Re:ISO by serge587 · · Score: 1

      ...and OOXML.

      ...and PDF. So what's your point anyway?

    3. Re:ISO by shutdown+-p+now · · Score: 1

      Well, ISO C# is not 6000 pages long. As far as standards go, it's pretty clear and understandable. So is the CLI spec.

  93. Running both platforms by Anonymous Coward · · Score: 0

    Surely running both platforms at the same time *must* be detrimental to my PC's performance (e.g. memory usage and cpu time executing both VMs)! .Net isn't a VM, it's a JIT compiler. Your .Net language is compiled to MSIL (similar to byte code) then JIT compiled to machine code. You can do this in advance of executing the application, with a tool called NGEN (Native Image Generator) which speeds up the application startup time.

    Personally I find the design of Java a hassle. You have to handle every possible error (.Net allows you to bubble the error up to the calling code and capture all errors there), properties are long handed and also I find it a hassle to set up classpaths and find myself at the command line more than I feel I ned to be.

    There's also a selection of different libraries for everything whereas in .Net it's a simple case of using System.Xml.Whatever - in Java I feel like I have to read a giant bunch of essays about which XML parser I should be using which is a complete drag.

    Then there's Web services. No "Add Web Reference" in Java, it's a royal pain in comparison. XFire has been discontinued in favour of something that doesn't integrate with Eclipse.

    I've also found trying to get answers and help is a hassle in Java whereas in .Net a million people have had exactly the same problem as you already and have already posted code examples.

    I run Eclipse and Visual Studio on my machine with no problems.

    As you can probably tell, I'm totally happy with .Net as a platform.

  94. Re:Oh just go away by nschubach · · Score: 2, Insightful

    Yes, they will both be in a struggle to maintain 100% compatibility as well, to a point. As soon as Mono comes out with a new version Microsoft will create a new incompatible version like they have been doing. This is the position MS want to be in. They've somewhat lost the ability to change Win32 because it would break everything. They can create a new version of .NET and just claim you need the new run time. Seriously. Why do we need 6 run time environments (1.0, 1.1, 2, 3, 3.5 ... and soon 4)? While I am on the subject... if 3.0 is built on 2 with WPF, why isn't it called 2.5 and why isn't 3.5 (3 with LINQ?) called 2.55? I mean, let's give Java it's due. Version 1.6.4 will run all old Java code and .NET 2 won't run 1.1 byte code without the 1.1 libraries.

    --
    Every time I start to have faith in humanity, I ruin it by driving to work between 7 and 8 am.
  95. Re:Oh just go away by Just+Some+Guy · · Score: 4, Informative

    Java used to provide lock-in, too. Hence, the GNU Classpath project, which is pretty much identical in its goals to Mono. Funny that I never saw you people screaming about that one being a trap.

    The Java Trap was that you might get stuck on a language with no FOSS implementation and be reliant on a proprietary runtime. GNU Classpath and friends disarmed the trap by providing FOSS backends.

    The Mono Trap is that you might get stuck on a platform encumbered by patents, so that even if you're coding on a 100% FOSS system, a court ruling granting an injunction against further release and development of Mono could yank the rug out from under you. Maybe that's no big deal for cute games or desktop applets, but there's no way on Earth I'd stake my business on a platform that may be nuked from orbit at any moment.

    It's really quite obvious to anyone with any actual knowledge of how the industry works that people are going to write applications without Linux in mind.

    It's equally obvious that Microsoft has never entered a relationship without destroying its partner. The naivety behind thinking that maybe they'll play nice this one time, for the first time in the history of their company, is simply astounding.

    --
    Dewey, what part of this looks like authorities should be involved?
  96. Re:Oh just go away by VoidEngineer · · Score: 1

    Actually, having used programmed in C# a fair bit for the past 4 or 5 years, I'll attest to it being rather portable. One just has to avoid any use of those p/Invoke calls, and keep everything contained within the .NET environment.

  97. Re:Oh just go away by geminidomino · · Score: 1

    I dunno... it lot me around Main()

  98. Ubuntu? by durnurd · · Score: 1

    Since I happen to have Ubuntu and the latest version of Mono for that, and one particular app that I'm sitting on which would probably work in 2.0, I'm just wondering: Does anybody know if or when the upgrade will happen for Debian users?

    --
    --Edward Dassmesser
  99. Re:Oh just go away by Joey+Vegetables · · Score: 1

    Until something goes wrong, which, in my experience, it frequently does. You can review the Apache source code to figure out what's going on. More importantly, others can too, so if others have had the same problem you have, there's a very good chance that a fix is already available . . . EVEN if the Apache devs themselves did not come up with it themselves.

    That's been my experience with every pair of analogous MS/Free projects. Even if the MS offering has some features or advantages that the Free offering does not, the Free offering is still infinitely easier to work with over long periods of time. There's more of a learning curve, but that learning curve only has to happen once, and the knowledge gained thereby lasts a long, long time.

    Freedom is valuable for its own sake, but there are practical benefits too.

  100. Re:Oh just go away by Abcd1234 · · Score: 2, Informative

    It's false logic, as demonstrated by the fact that people don't target Wine

    Uhh... yeah they do. How do you think Google ported Picassa to Linux?

  101. Re:Oh just go away by dnoyeb · · Score: 4, Insightful

    Thats the exact position Java has been in for years. Language Spec and JVM spec were open, but Sun's runtime was not. Anyone could make their own runtime. Yet people complained that Java was not open. So why would MS get special treatment for an open spec without an open platform?

  102. Re:Oh just go away by Abcd1234 · · Score: 1

    Its a MS port of Java with extra bits added mainly in the realm of the GUI and interop with legacy COM and Win32.

    What the hell are you talking about? As a person who's worked extensively with both Java and C# (and Smalltalk, Perl, Python, a bit of Lisp, and probably a few others I can't remember right now), C# has some awfully nice features in a single package. It is, without a doubt, entirely derivative, but it took some of the nice things in Java, and then added things like:

    1. Properties. Yeah, they're fancy getters and setters, but they're very nice syntactic sugar.
    2. Real annotations. Being able to attach metadata (say, descriptions to enumerated type values) is very nice.
    3. Generics.
    4. Delegates. All the power of function pointers, plus type safety. This is *really* nice for event-driven apps.
    5. Real, honest-to-god closures. This is the killer feature for me. I *refuse* to work in a high-level language that doesn't support higher-order functions.

    And that's just off the top of my head.

    Sorry bud, but you're just wrong. C# is, in my mind, the next logical step for a Java-like language, and I think it's very well executed. The class libraries, not so much, but the language itself is excellent and I'd choose it over Java any day of the week.

  103. Re:Oh just go away by ozphx · · Score: 1

    You can review the Apache source code to figure out what's going on.

    You or I not be as efficient at reviewing Apache (or IIS) source to track down the remaining tricky bugs as one of the Apache (or IIS) devs. Attempting to do so would be wasting your time, hence stakeholders' money, and would be bad practice.

    You ask the vendor politely to fix it. If they don't think its a problem, and its a serious enough issue, then you give them money to fix it.

    You'd also be running the risk of your shitty bandaid fix not being accepted, or being modified. Then you are up shit creek supporting an inhouse fork, without a paddle.

    The source code is only useful if your time is practically worthless.

    --
    3laws: No freebies, no backsies, GTFO.
  104. Re:Oh just go away by babblefrog · · Score: 1

    For an example of a .Net project targeting both Windows and Linux, see OpenSim. http://opensimulator.org/wiki/Main_Page

  105. Re:Oh just go away by molarmass192 · · Score: 1

    The only one with visibility I know of is the HandBrake GUI named RippedWire (http://rippedwire.sourceforge.net/about.html). So it's out there, but to call it popular would be an infinity-1 sized exaggeration.

    --

    Good people do not need laws to tell them to act responsibly, while bad people will find a way around the laws-Plato
  106. Re:Oh just go away by PainKilleR-CE · · Score: 1

    The Mono Trap is that you might get stuck on a platform encumbered by patents, so that even if you're coding on a 100% FOSS system, a court ruling granting an injunction against further release and development of Mono could yank the rug out from under you. Maybe that's no big deal for cute games or desktop applets, but there's no way on Earth I'd stake my business on a platform that may be nuked from orbit at any moment.

    While I wouldn't stake a business on running .Net apps in linux (for a number of reasons, including the above), I would point out that since you can call native code from .Net, it's possible to write your way out of the problem if something like that occurs. Granted, it would be a pain in the ass rewriting your application, but it's completely possible, and can be done incrementally, much like prototyping in python and moving to C.

    --
    -PainKilleR-[CE]
  107. Re:Oh just go away by ozphx · · Score: 1

    SharpDevelop is better than Monodevelop, and is BSD licensed. It also, frankly, pwns the crap out of Eclipse. The only reason I don't use it on Windows (its much faster than VS, btw) is that its refactoring tools aren't yet on par with the excellent Resharper add-in.

    Regardless, you can compile cross platform binaries with Visual Studio. If your time is worth so little that the $200 license for Windows is too high, then I respectfully suggest you reconsider either your rates, or your career.

    --
    3laws: No freebies, no backsies, GTFO.
  108. Re:Oh just go away by rufus+t+firefly · · Score: 2, Interesting

    SharpDevelop is better than Monodevelop, and is BSD licensed. It also, frankly, pwns the crap out of Eclipse. The only reason I don't use it on Windows (its much faster than VS, btw) is that its refactoring tools aren't yet on par with the excellent Resharper add-in.

    You missed the most important part, which was the cross platform part of it. SharpDevelop works under Windows, nothing else. Monodevelop is more or less a port of SharpDevelop meant to work with GTK#.

    As far as cross platform stuff goes, Monodevelop is all you're left with for C# stuff (if you discount Eclipse plugins).

    Regardless, you can compile cross platform binaries with Visual Studio. If your time is worth so little that the $200 license for Windows is too high, then I respectfully suggest you reconsider either your rates, or your career.

    You know, the "Linux users only use Linux because they're too cheap for Windows" meme is a little old. It has nothing to do with the license for Windows -- I just find it to be an inferior operating system for both my development tasks and my daily computing tasks. The fact that you naturally assume that I'd rather waste my time either maintaining a completely separate virtual or physical machine simply for the privilege of having a marginally nicer UI for designing apps which are only guaranteed to work as advertised on a single operating system?

    As it stands now, I have no trouble using Eclipse as an IDE... I just avoid using C# for anything other than CLI tasks. Saying that anyone who doesn't use what you use is cheap and/or underpaid and/or incompetent is just plain condescending. If not ignorant. Use what you're comfortable with, and don't dog other peoples' choices in operating systems. It's just a single tool, and not worth scrapping my entire workflow and machine installation to accommodate.

    --
    "He may look like an idiot, and talk like an idiot, but don't let that fool you. He really is an idiot." - Duck Soup
  109. Re:Oh just go away by PainKilleR-CE · · Score: 1

    .Net is slowly replacing the Win32 API, and doesn't hold the backwards-compatibility issues that are inherent with an API that debuted in NT and Win95. This is why it's popular with Windows developers. Additionally, you can learn one API and use C#, VB, C++, J# (ie Java syntax) and a number of other languages to access the API in a very similar fashion.

    In other words, they're trying to address many of the problems developers had with the Windows platform. If developers have fewer problems writing software for Windows, then that obviously is a problem for other platforms.

    On the other hand, you can always write software targeting older versions of the run-time, and most developers do so specifically because they don't want to learn the new portions of the API and are often limited by availability within their target audience. Despite .Net being widely available through Windows Update, you don't see a massive migration among end-users to the latest version of .Net, and it's a pain in the ass to tell users they have to download a patch (even if it is on Windows Update, but this applies to Java as well) to run your program.

    It doesn't address your base point, but Adobe wouldn't bother moving to .Net for the simple fact that most of their software has a huge base among Mac users. I'm really mildly surprised that they haven't tried to embrace the Linux community by leveraging the code they had to write for OS X compatibility.

    As someone that develops for Windows at work and primarily uses Linux at home, I really have come to believe the killer apps on Windows are games and IE. Unfortunately it's not that IE is a good platform, it's that people keep writing to it because it has such high usage numbers. If I could get Netflix movies running through firefox it would eliminate a large percentage of my boots into Windows. DRM and the increasing quality of console ports lead me to playing fewer PC games anyway, leaving me with RTS games and occasional western RPGs as my primary reason for booting the PC into Windows for gaming. Frankly, as my PC ages it gets less important because new games won't even play on the laptop any more.

    --
    -PainKilleR-[CE]
  110. Re:Oh just go away by pembo13 · · Score: 1

    To those who forgot, this is the same ISO that fast-tracked OOXML, just adding that to the pool of thought.

    --
    "Thanks for all the money you paid to us. We've used it to buy off ISO among other things" -Microsoft
  111. Re:Oh just go away by pembo13 · · Score: 1

    When do you envision this theory, developers targeting Mono, coming into practice?

    --
    "Thanks for all the money you paid to us. We've used it to buy off ISO among other things" -Microsoft
  112. Winforms Patents by 10scjed · · Score: 1
    According to Miguel de Icaza, "... users can move over server applications built for .NET and client applications built with Windows Forms."

    I thought only parts of .net were ecma standards and therefore 'safe', like c#. Isn't winforms covered by some MS patents?

    This seems like a precarious position for anyone without a patent covenant.

    --
    --10scjed IANAL,AFAIK
    1. Re:Winforms Patents by wasabii · · Score: 1

      Which patents are these? Nobody has ever spoken up and pointed them out to my knowledge.

    2. Re:Winforms Patents by 10scjed · · Score: 1
      From the always-reliable wikipedia: http://en.wikipedia.org/wiki/Mono_development_platform#Mono_and_Microsoft.E2.80.99s_patents

      Monoâ(TM)s implementation of those components of the .NET stack not submitted to the ECMA for standardization has been the source of patent violation concerns for much of the life of the project. In particular, discussion has taken place about whether Microsoft could destroy the Mono project through patent suits.

      The base technologies submitted to the ECMA, and therefore also the Unix/Gnome-specific parts, may be non-problematic. The concerns primarily relate to technologies developed by Microsoft on top of the .NET Framework, such as ASP.NET, ADO.NET and Windows Forms, i.e. parts composing Monoâ(TM)s Windows compatibility stack. These technologies are today not fully implemented in Mono and not required for developing Mono-applications. Not providing patented capabilities would weaken interoperability, but it would still be possible to provide the free software / open source software community with good development tools, which is the primary reason for developing Mono. This has been summed up by Richard Stallman[5]:

      âoe Mono is a free implementation of Microsoft's language C#. Microsoft has declared itself our enemy and we know that Microsoft is getting patents on some features of C#. So I think it's dangerous to use C#, and it may be dangerous to use Mono. Thereâ(TM)s nothing wrong with Mono. Mono is a free implementation of a language that users use. It's good to provide free implementations. We should have free implementations of every language. But, depending on it is dangerous, and we better not do that. â

      On November 2, 2006, Microsoft and Novell announced a joint agreement whereby Microsoft agreed to not sue Novellâ(TM)s customers for patent infringement.[6] According to Mono project leader Miguel de Icaza,[7] this agreement extends to Mono but only for Novell developers and customers. It was criticized by the free software community because it violates the principles of giving equal rights to all users of a particular program (see Novell and their Patent Agreement with Microsoft).

      --
      --10scjed IANAL,AFAIK
  113. Re:Oh just go away by Anonymous Coward · · Score: 0

    Yeah, but that was before they fast tracked OOXML, back when the holy grail was to get an open standard approved by them. Ahh how the grapes have soured...

  114. Re:Oh just go away by VGPowerlord · · Score: 1

    It's equally obvious that Microsoft has never entered a relationship without backstabbing its partner. The naivety behind thinking that maybe they'll play nice this one time, for the first time in the history of their company, is simply astounding.

    There, I fixed that for you, as if the company Microsoft backstabs is large enough, they manage to recover (see: IBM).

    --
    GLaDOS for President 2016! "Well here we are again. It's always such a pleasure." -- GLaDOS, 2011
  115. Re:Oh just go away by Sinbios · · Score: 1

    .NET 2.0 was supposed to be a clean break from .NET 1.x. .NET 3.x, and all future frameworks, are fully backwards compatible, in that .NET 2.0+ apps will work just fine with those frameworks. You only need the new runtimes if you use functions that are new to those versions. As for legacy 1.x code, well, they should work just fine with whichever version of Mono is equivalent to .NET 1.1, right?

    The summary's whole spiel about how half of the .NET apps don't work in Mono 2.0 because Microsoft has moved onto .NET 3.5 is pretty sensationalist; obviously apps that use features which are implemented in 3.0 and 3.5 won't work in something that is equivalent to .NET 2.0, where those features HAVEN'T BEEN IMPLEMENTED YET.

    --
    Anyone can "stand up for what they believe", but it takes a very brave individual to change what they believe. - Loundry
  116. Re:Oh just go away by Jezza · · Score: 1

    Probably more useful for companies to use "in house". It's low risk (if Novell et al decide to scrap it - use .Net, if Microsoft change .Net out of all recognition - use mono) it isn't too bad as a development platform (.Net is well considered - even if it is Microsoft). You might argue that Java is an alternative - and yes, it is.

    I've programmed in Java, not in Mono/.Net - so I won't attempt to argue the case either way (as I just don't know enough about Mono/.Net).

  117. Re:Oh just go away by not+already+in+use · · Score: 1

    That's a hell of an idea. I wish I had mod points for you. One caveat though -- The JVM doesn't support unsigned types.

    --
    Similes are like metaphors
  118. Re:Oh just go away by not+already+in+use · · Score: 1

    There is a big difference in that C# supports unsigned types.

    There is also the fact that it is tightly integrated with Windows. Say what you want about lock-down, but when you're an ISV, you value a cohesive platform that targets the vast majority of the market share.

    --
    Similes are like metaphors
  119. New metaphors in code by Tetsujin · · Score: 1

    This is the problem I have with Microsoft's technologies in general (think ASP.net's asinine oversimplification of the http protocol) - instead of improving new programmers' understanding of existing technology, they re-warp the programmers' heads around their idea of how the technology should be implemented.

    I can't really comment on the specific, Microsoft-related instances you're talking about - but I would say that this sometimes really is how progress works. Moving forward, coming up with better ways to do things, sometimes means leaving old ideas behind. Microsoft has the power to do that and make it stick.

    Going with the established pattern just because it is the established pattern can make programmers more comfortable but it isn't necessarily the best decision.

    --
    Bow-ties are cool.
  120. Re:Oh just go away by BlueGecko · · Score: 2, Insightful

    Given that Mono runs on Windows, what happens if you try running a Win32 version of Mono under WINE?

  121. Re:Oh just go away by Richard_at_work · · Score: 1

    Without Mono there would have been two options: a) Pony up to MS to develop in .NET b) Don't do the business. neither of which are particularly appealing.

    Mono allows competition and competition is good.

    You can download the entire .Net framework and compilers free of charge from Microsoft, and you can get cut down versions of the VS IDE as well (or you can use SharpDevelop). In short, you most certainly can get started (and infact progress as far as you wish) in .Net development without ponying up anything to MS.

    Mono is still good, however - I'm not disputing that.

  122. Mono is great. But the purpose is futile. by BhaKi · · Score: 1

    Hey, I have no complaints against Mono. Those poor guys are doing a lot of hard work. And they've done great so far. My complaints are against .NET as a whole. My chief complaint is that neither the Mono team nor the programmers who write .NET/Mono applications seem to realize that Mono is always going to be a second class citizen and always playing catch-up no matter how competent the Mono team is. Another complaint is that M$ is falsely advertising .NET as a cross-platform framework while in fact it is only interoperable across those platforms which M$ dictates through its deals.

    --
    The largest prime factor of my UID is 263267.
  123. Re:Oh just go away by Tatsh · · Score: 2, Interesting

    It works a little bit better than .NET (with winehacks) as far as running GTK# apps and all, but you might as well use native Mono for that. I got .NET 2.0 installed with winehacks and attempted to run nLite and of course, it crashed (a framework crash, not a Wine crash). I tried with Mono 1.3 last time but that was pointless for that. Wine's project plan is to support Win32 Mono as far as I know (especially since it is free software) to run .NET apps.

  124. Re:Oh just go away by jma05 · · Score: 1

    C# definition is openly "specified" (ECMA), not openly sourced. Mono provides the open implementation for this specification.

    http://www.ecma-international.org/publications/standards/Ecma-334.htm

  125. Re:Oh just go away by jma05 · · Score: 1

    I liked Vala as a language and briefly took it for a spin, a while ago. However, without mature IDEs that Java and C# have, I found the experience closer to programming in D than C#, even though the language is closer to C#.

  126. Vala by mounthood · · Score: 1

    To be pedantic I think the C# language definition is open source. What isn't is the runtime. You could write a C# compiler with its own runtime and you'd have a pretty nifty alternative to Java.

    http://live.gnome.org/Vala

    --
    tomorrow who's gonna fuss
    1. Re:Vala by emblemparade · · Score: 1
      While you didn't have much to say about Vala, you make the right "point."

      Vala, I believe, is what Mono should have been from the beginning: a C#-like language without the virtual machine.

      If you remember, De Icaza started the Mono project because he wanted an easier way to write applications for GNOME. He was definitely not thinking of server applications, and definitely not trying to emulate .NET 100%. Remember, too, that this was at the time when Apple was encouraging developers to write Mac OS X applications in Java...

      That whole approach is dead, because users don't see why the should pay the price of extra resource overhead just because the developer chose a certain language.

      However, Vala lets you keep the language without the user paying any price. It's brilliant, and will squash Mono, at least for writing GNOME applications.

      Obviously, Mono has found other uses, as a cross-platform development tool. I think, though, that Vala will prove a better choice for the many develoeprs.

  127. Not even close to half by zapov · · Score: 1

    Half of .NET apps are working by default my ass. In my case it's close to 0% Some have few Todo items, but they crash on some other part of the code. I guess it'll take at least 6-12 months until it's actually compatible with .NET 2.0 as they are advertising right now. Too bad, I have high hopes for Mono.

    1. Re:Not even close to half by wasabii · · Score: 1

      Well the half number is based on reports submitted through Moma which automatically figures out what priority what portions of the class library should be worked on. It's not a guess figure, it's actually collected by software.

    2. Re:Not even close to half by zapov · · Score: 1

      Thats the number of compatibility issues in IL, but that doesn't mean that app works :( Also, DataGridView is a joke. Most apps I know use it extensively. And yeah, I know about Moma. I actually submitted few reports (when Moma didn't crash) :)

  128. Not Really by ClosedSource · · Score: 1

    "WINE is as to Windows as Mono is as to .NET This is basic logical reasoning."

    Not really. The fundamental requirement of Mono is to implement .Net ISO standards. On the other hand, WINE was never intended to fully implement the Windows API and development is primarily driven by the desire to see the most popular applications run on it.

    There are also applications that are specifically targeted to Mono which might not run on .NET as implemented by MS. Thus in general Mono isn't really a way to transition from Linux to Windows. On the other hand, does anyone create applications that specifically target the WINE "API"?

  129. Re:Oh just go away by hairyfeet · · Score: 1

    And don't forget that Mono is ALWAYS a day late and a dollar short compared to .NET,since it always seems to be a couple of versions behind and feature incomplete. This works greatly in MSFT's favor,since having a bad implementation can be more damaging than no implementation at all. Because it is always behind and feature incomplete you will ALWAYS have a better experience on .NET with Windows,and all it takes is some nasty crashes or not being able to get what you need to run correctly to leave a VERY bad impression on the user.

    --
    ACs don't waste your time replying, your posts are never seen by me.
  130. Mono provides the illusion of portability by Rob+Y. · · Score: 1

    The problem isn't that Mono prevents migration from Windows. To the extent that apps are built targeting .NET, Mono obviously helps migrate those apps.

    But at the same time, if developers are targeting .NET under the illusion that they'll get easy portability, then there are probably better solutions. QT comes to mind, not to mention Java.

    It seems like Mono will never provide complete portability. The article talks about percentages of the code that will work under Mono, the assumption being that the developer will need to make tweaks to get a Linux version. I'd bet there'd be cases where they'd have to do tweaks to get a Mac version too. At that point, what's the advantage to using an interpreted language over a nice C++ framework like QT?

    Bottom line - If portability is the goal, Mono might just muddy the waters. Why not work to build something truly portable with whatever perceived advantages of .NET built in?

    --
    Posted from my Android phone. Oh, I can change this? There, that's better...
    1. Re:Mono provides the illusion of portability by x2A · · Score: 1

      "The problem isn't that Mono prevents migration from Windows"

      No of course not, hence the absurdity of the of the statement claiming otherwise.

      "It seems like Mono will never provide complete portability"

      It's a massive project... but everyone seems to be forgetting here, it is open source! Where there are portability problems (for example, path name changes when running under different operating systems) instead of patching the software, you could write hooks to modify the file/io calls (as in WINE, c:\windows could be translated to ~/wine/drive_c/windows). Lack of portability in certain areas is not a fundamental problem with the Mono architecture surely, but with the fact that not enough work has been done on it for that to have been achieved. With more developers and more time, these issues can be resolved.

      --
      The revolution will not be televised... but it will have a page on Wikipedia
    2. Re:Mono provides the illusion of portability by MC42 · · Score: 1

      But at the same time, if developers are targeting .NET under the illusion that they'll get easy portability, then there are probably better solutions. QT comes to mind, not to mention Java.

      At that point, what's the advantage to using an interpreted language over a nice C++ framework like QT?

      I don't have to recompile and maintain compilers for as many systems as I want to port to? I can stay in my preferred environment for developing the software and just distribute to the other platforms?

      Seem like good reasons to me

  131. Re:And why not just use Groovy? by emblemparade · · Score: 1
    If synctactic sugar is why you would prefer C#, then I think Java wins with Groovy in this.

    Groovy adds all the glory you would find in Ruby and Python directly to the Java platform. It's tremendously fun to use.

  132. Re:Oh just go away by something_wicked_thi · · Score: 1

    The Mono Trap is that you might get stuck on a platform encumbered by patents

    Guess what? You'd better stop using all software altogether. Pretty much every piece of software written today violates some patent somewhere. If Microsoft wants to sue Mono, they can do that. They can also sue Linux, KDE, and any number of other people. You know why? Because they have a lot of superficial patents that anyone might violate totally by accident.

    Your argument, then, is that no business should stake itself on open source. Good to know.

    It's equally obvious that Microsoft has never entered a relationship without destroying its partner. The naivety behind thinking that maybe they'll play nice this one time, for the first time in the history of their company, is simply astounding.

    Who cares whether MS plays nice? Any business relationships involved are between MS and Novel. Mono is open source and so in no way tied to Novel. Novel might run into trouble with their MS deal, but it matters to Mono only insofar as many of the devs are paid by Novel.

  133. Re:Oh just go away by ClosedSource · · Score: 1

    "The Mono Trap is that you might get stuck on a platform encumbered by patents, so that even if you're coding on a 100% FOSS system, a court ruling granting an injunction against further release and development of Mono could yank the rug out from under you."

    I don't think you really understand how patents are written. Any patent that MS may get isn't going to be written as .NET specific because that would limit the scope which lessens the value of the patent. Instead MS would patent technique X and if so motivated would sue anybody that implemented technique X regardless if it's implemented in Mono, Java, or plain C. Writing your application in C wouldn't provide you with any special immunity from the patent.

  134. Re:Oh just go away by Just+Some+Guy · · Score: 1

    If Microsoft wants to sue Mono, they can do that. They can also sue Linux, KDE, and any number of other people. You know why? Because they have a lot of superficial patents that anyone might violate totally by accident.

    Yeah? Ones as fundamental to the success of those projects as the innards of C# are to Mono? Suppose MS sues KDE for violating their patented algorithm for decoding PNG files. KDE switches to a different algorithm and new versions continue to blossom. They could be barred from distributing old, violating versions but an orderly migration is still possible. In the worst case scenario, we'd lose KDE. That would suck immensely, but life would go on.

    Now, suppose MS sues Novel [sic] for violating their patented algorithm for binding methods in dynamic languages. Have fun working around that little gotcha! If Mono really caught on and everyone started using it, then MS stepped in and destroyed it, we'd face the equivalent of losing GCC. That would be about the most damaging blow they could land, but people of your mindset are happily buying into that vulnerable position.

    No, I have no expectation whatsoever that MS is in this to play nice. If they really wanted to embrace non-mainstream OSes, we'd have Office or VisualStudio for Linux. People would pony up good money to buy those. And yet, their most visible outreach to Unix involves providing a new foundation for everyone to build upon. You don't have to be a conspiracy theorist to see how convenient that would be for them.

    --
    Dewey, what part of this looks like authorities should be involved?
  135. Get used to type erasure by ClosedSource · · Score: 2, Informative

    Some features in C# such as generics can't be implemented as is to run on a standard JVM because the JVM doesn't have the capability to support it. .NET's CLR was designed to support generics at the byte code level. In Java, generics are implemented by the Java compiler that just hides the object casting from the programmer. The result is that the JVM doesn't really know what the types are at run time.

    1. Re:Get used to type erasure by Chrisq · · Score: 1

      Surely it must do. Otherwise how does reflection, instanceof, and polymorphism work?

    2. Re:Get used to type erasure by RegularFry · · Score: 1

      String matching. Seriously.

      --
      Reality is the ultimate Rorschach.
  136. Re:It's the framework, not the language that matte by renoX · · Score: 1

    Well from a generic point of view, the 'portable' part of .Net implemented by Mono has nothing special over the Java platform, which can be used by Scala.

    Sure .Net provides Windows programming, but in this case you lose portability..

  137. Re:Oh just go away by Just+Some+Guy · · Score: 1

    Instead MS would patent technique X and if so motivated would sue anybody that implemented technique X regardless if it's implemented in Mono, Java, or plain C.

    But they could very well (and supposedly have) patented algorithms necessary to the implementation of .Net itself, thus making Mono directly infringing. I can hypothetically write patent-clear code in C, but even "hello world" in C# is built on shaky ground.

    --
    Dewey, what part of this looks like authorities should be involved?
  138. Re:Oh just go away by something_wicked_thi · · Score: 1

    Ones as fundamental to the success of those projects as the innards of C# are to Mono?

    Yes. I bet they've got all kinds of patents like, "A method for displaying information to the user in such a way that the user has to acknowledge the information before proceeding" and such.

    That would be about the most damaging blow they could land, but people of your mindset are happily buying into that vulnerable position.

    Really, MS probably has patents that affect GCC, Linux, and a whole bunch of other stuff. They do, after all, have their own compilers and kernel that they have presumably filed patents on. Likewise, Sun probably has patents on Java, and maybe even C++ and other compilers. Borland likely does, too.

    Really, you're just spreading FUD like any of the good MS marketing people.

    You don't have to be a conspiracy theorist to see how convenient that would be for them.

    Sure you do. Please provide specific examples of things the Novel deal lets Microsoft do to Mono that they couldn't have done before the deal.

  139. Just as planned by Jessta · · Score: 1

    "only about half of the .NET apps out there will work on Mono 2.0, for a variety of reasons including (but not limited to) legacy Windows-only libraries and Microsoft's progress on .NET 3.0 and 3.5 APIs."
    Just as planned. Mono isn't a threat to Microsoft, it's actually a help. Because the standard is controlled by Microsoft, Mono will always be playing catchup, so if .NET devs want the latest and greatest they have to use Windows.

    --
    ...and that is all I have to say about that.
    http://jessta.id.au
    1. Re:Just as planned by wasabii · · Score: 1

      What if they don't want the latest and greatest, and they just want something 'better than Java', which Mono has qualifed as for 2 years now. =)

    2. Re:Just as planned by Shados · · Score: 1

      The Mono team plays both catchup and innovator. On one side they have to catch up with Microsoft's specs to stay compatible. On the other side, since they come afterward, they can do some stuff better, learning from the original's mistake. There's a Reflection-like API for Mono that totally one-up Microsoft's version in every ways, shape and form (I don't think its quite complete yet, but its almost there). Of course, since Mono is "pure managed code", usually that stuff will work on the "real" .NET, but still. Its good stuff.

  140. Take off your copyright thinking cap by ClosedSource · · Score: 1

    "But they could very well (and supposedly have) patented algorithms necessary to the implementation of .Net itself, thus making Mono directly infringing."

    How likely would it be that .NET would contain patented algorithms that are so general that they are absolutely unavoidable when implementing a .NET clone and yet specific enough that other languages, libraries, frameworks or plaforms don't violate them?

    "I can hypothetically write patent-clear code in C, but even "hello world" in C# is built on shaky ground."

    No. You can't patent on a code-specific basis. In theory, if there was no prior art, somebody could patent "An algorithm for greeting Earth", but they couldn't get one patent for every computer language that could implement it.

  141. Re:Oh just go away by Chuck+Chunder · · Score: 1

    You can download the entire .Net framework and compilers free of charge from Microsoft, and you can get cut down versions of the VS IDE as well (or you can use SharpDevelop). In short, you most certainly can get started (and infact progress as far as you wish) in .Net development without ponying up anything to MS.

    Are you permitted to commercially distribute what you create with those versions?

    Perhaps you can but I was under the impression you couldn't. Perhaps more research (wasted time) would have revealed otherwise but an obviously free version was a better option.

    --
    Boffoonery - downloadable Comedy Benefit for Bletchley Park
  142. Re:Oh just go away by Richard_at_work · · Score: 1
    Yes, there are no restrictions on the Express editions in that regard - you are more than welcome to develop and distribute commercial software built with the Express Edition versions.

    From their Express Editions FAQ:

    # Can I use Express Editions for commercial use? Yes, there are no licensing restrictions for applications built using Visual Studio Express Editions.

    http://www.microsoft.com/express/support/faq/

    It took me all of 32 seconds to hunt down that FAQ page, so your research must not have been much at all... ;)

  143. He said "patent" by Anonymous Coward · · Score: 0

    Take of your "MS-criticism-sensitive glasses".

    MS has plenty dosh to sue. Most GPL companies can't afford to break the lawsuit.

    Check out how Amazon are patenting user-feedback bonuses.

    Or, a little closer to the bone, MS's "IsNot()" patent. What if the agreement to be .NET compatible required "IsNot()"? MS already do that with some of the MSOOXML stuff.

    1. Re:He said "patent" by ClosedSource · · Score: 1

      "Or, a little closer to the bone, MS's "IsNot()" patent. What if the agreement to be .NET compatible required "IsNot()"? "

      What agreement?

  144. I should also have added.... by jesterzog · · Score: 1

    ....that .Net is the primary framework for extending a lot of Microsoft stuff, as well as a few other vendors' things that run on Windows. So if you're developing an in-house extension these days to customise something like Outlook or Word to do a few extra things appropriate for your organisation, chances are it'll be .Net code that does it. We have several customisations like this, and it's frustrating at times because it means that Office apps (or whatever else) will stall for several extra seconds either at startup or at some other time depending on how it's configured, because they're loading the framework. Being able to write the customisations in an cleaner and more coherent API tends to make it worth the tradeoff for us, though.

    Our Document Management System also uses a mixture of .Net and COM to integrate with MS Office, and its primary API for us to write extensions for it is also a .Net API.

    There aren't a lot of production off-the-shelf .Net apps for the reasons I mentioned (difficult to reliably distribute to random users), but I think it's still popular simply because Microsoft promotes it as the way to interact with and customise most of their stuff. That and ASP.Net, which is very popular all by itself.

  145. If you're writing a portable language by Anonymous Coward · · Score: 0

    Why is there P/Invoke available in the language anyway?

    Just dump it.

    1. Re:If you're writing a portable language by rdnetto · · Score: 1

      Why is there P/Invoke available in the language anyway?

      Just dump it.

      Because then porting legacy code becomes almost impossible. Besides, the Framework uses P/Invoke *a lot* internally for stuff like I/O.

      --
      Most human behaviour can be explained in terms of identity.
  146. Extra developers = extra apps or laughing stock? by rathaven · · Score: 1

    Good news I think...

    An extra number of (previously) MS only developers having a better option of porting their code than they ever did before. Sounds like a good thing doesn't it...?

    Personally I'd welcome more apps on Linux or any other none MS platform - and using a core Microsoft technology isn't a bad thing. It means the development skills are going to be taught and available for some time - even it they never get off the MS platform for 50% of the time.

    However, there is a downside - it could, of course, bomb. As a point of interest I mention a previous port of a MS language. Indeed, it could have the same worldwide impact as "Novell NetBasic". For info, I believe it was later relabelled "Novell Script for Netware". There is a reason to the mention of this second spurious piece of trivia, unfortunately it is just a ploy in hope that the other 2 people who tried to script anything in it might be aware of it by the other name can come to my aid and save me from all those people pointing and laughing. I'm sure it was a great idea to rewrite a completely unstable VBScript interpreter for the Netware platform.

  147. As bad as OOXML by Yfrwlf · · Score: 2

    InternetNews points out that only about half of the .NET apps out there will work on Mono 2.0, for a variety of reasons including (but not limited to) legacy Windows-only libraries and Microsoft's progress on .NET 3.0 and 3.5 APIs.

    Exactly, which makes it pretty useless, so it's as bad as OOXML in a way, so tell me again why I'd want to bother writing Microsoft-specific software for Linux? No thanks.

    --
    Promote true freedom - support standards and interoperability.
  148. Re:Oh just go away by Keeper+Of+Keys · · Score: 1

    I'm somewhat bewildered by this argument, but would really like to understand the issues better. From what little I know, I thought the .net framework was an open standard, that the Mono people didn't require any kind of license agreement with Microsoft, and that the project had the blessing and assistance of Microsoft engineers. (This was before Novell started funding the project, or whatever their exact relationship is.)

    The argument that Mono provides a way for applications to move away from Linux is technically true, but laughable. .net and its associated technologies like C# and ASP.NET are strongly associated with Windows, and whatever you may think of them, popular technologies. If you can run an asp.net website on a linux server that's got to be a good thing, hasn't it? (But then, I see from Wikipedia that ASP.NET is a patent grey area.)

    Some reasoned argument, please, not blinkered ideological bullshit.

  149. Re:Oh just go away by goose-incarnated · · Score: 1

    Some reasoned argument, please, not blinkered ideological bullshit.

    Since you asked nicely - Everything written for Mono would run on .NET/Windows, very little written for .NET/Windows will run on Mono. The "compatibility" is a one-way street, you are usually compatible when moving from Mono to .NET/Windows, you are almost never compatible when moving from .NET/Windows to Mono.

    Unfortunately the ideological mental midgets seem to have taken over, and want to poison the word "compatibility" to mean a two ways street, which it is most certainly not.

    --
    I'm a minority race. Save your vitriol for white people.
  150. Re:Oh just go away by Keeper+Of+Keys · · Score: 1

    This sounds very like the situation with WINE, though, whose devs are continually playing catch-up with the Windows API. I'd really like to know why you think they're diametrically opposed.

    Reading the other comments on this page, it seems the biggest concern about the Mono project is not what compatibility it does or doesn't offer, but that it strays into proprietary areas of Microsoft's code - under the aegis of the MS-Novell patent agreement - and so has become a kind of outpost of Microsoft in the Linux world.

    I'm not sure what the long-term implications of this are, but I still think it's better that Mono exists. Better that some work is required to port an app to Linux, than it remain completely locked into Windows.

    Patent-wise, it would seem that WINE is even worse off. Google's lawyers appear to think they're in the clear supporting WINE, but MS could just be biding its time before hitting a major Linux port with a lawsuit.

  151. Re:Oh just go away by Keeper+Of+Keys · · Score: 1

    You ask the vendor politely to fix it. If they don't think its a problem, and its a serious enough issue, then you give them money to fix it.

    BONGGGGG! you ever tried doing this with Microsft?

  152. Re:Oh just go away by rgo · · Score: 1

    As a former user of .NET, I've got to tell you that C# is a much better language than Java.
    .NET supports delegates and events, so you don't have to clutter your code with anonymous classes to do simple stuff. C# supports operator overloading (so you can do things like == on strings). In .NET everything is an object (in C# you can invoke methods directly on string literals, if you wanted to). C# has an integrated query language (syntantic sugar for making expression trees). .NET has real generics, not like Java. Sheesh, I can tell you 1000s of reasons why some people really like to use .NET and wouldn't use Java.
    Also, .NET core library is better designed than the JRE, where things like XML parsing are simple, so you don't have to deal with overengineered crap.
    If you are doing desktop apps, Windows Forms is a bliss to work with (Even gtk# is great). In Java you have to deal with Swing which is good, but with things like events support in the language it could be better (at least it supports doing some things declaratively using annotations, but it is that or using anonymous classes crap).
    I could continue telling you advantages all day...
    I find the .NET framework with its languages to be better designed developerwise, maybe this is in part because it doesn't strive to be uberly generic and run everywhere.
    By the way I HATE Microsoft. I was a supporter of .NET, I lectured in a .NET course in my university. I stopped promoting .NET when the Microsoft/Novell deal was announced. Since then, I'm trying to digest Java, but I can't. :)

  153. Re:Oh just go away by wasabii · · Score: 1

    Which patents were those?

  154. Re:Oh just go away by wasabii · · Score: 1

    That's the stupidest thing ever. Man most of you people have no idea. Argh. And it's been done. Mainsoft does it. It's called Grasshopper. Mono as a VM is 100% compatible with .Net. Mono's problem is not it's VM, it's the class library. It's just incomplete. It's also apps that call to native Win32 libraries, which will never run on Linux.

  155. foo by wasabii · · Score: 1

    I'm an avid Mono user. My company develops software internally that runs on Mono on Linux servers. We choose C# because it's a very good language. That's about it.

  156. Re:Oh just go away by wasabii · · Score: 1

    The real worry is not MS raising patent concerns about Mono. It's other people out there raising patent concerns. Against Linux. Against Gnome. Against the rest of the software stack. Each of these is heavily patented. Mono is no different in this regard, except it has something to do with Microsoft. MS makes OSs, office products, business productivity apps, game engines, and huge amounts of other things. All of which are potentially patent ridden. At any point here MS could use their patent arsenal to sue about MUCH MORE than just Mono. But we're under that thread from other players too, not just MS. Other players which have sued people in the past. MS never has.

  157. Re:Oh just go away by wasabii · · Score: 1

    Check out Unity3D. It's a game engine written in .Net, that runs on Mono, and uses OpenGL.

  158. Re:Oh just go away by Tatsh · · Score: 1

    My whole problem is 'the agenda' as much as I hate using the term. That is to get as many developers on-board developing .NET apps. I cannot be sure why, other than to make our computers slower, and make programming easier. Good thing on the latter part. On the former, I have the same opinion on .NET as Java (SLOW start-up time, often slow performance).

    I think the real issue at hand is why Mono cannot just be .NET (so it can run everything without porting). And the company we have to ask that to is Microsoft. However, we already know the answer: software patents.

    As for managed code, I'm going to 'digest' C# using Gtk# or Qt# interface, but I am going to lean more towards Java, even if it is 'worst'. I do not mind .NET apps (nLite and vLite for example). I just wish more developers would jump on board making Mono apps instead of .NET apps, which would mean utilising Gtk# or Qt# instead of Windows.Forms. They still have not put Windows.Forms in 2.0's binary release for Windows (I installed it in Wine).

    The other problem with Mono IMO is it has no intentions to solve the problem where an app launches a non-CLI app, not via Wine or any means. Mono is not really working on Wine yet either, and .NET is still a pain to install (all kinds of hacks just to get simple Windows.Forms apps to run).

  159. Re:Oh just go away by ozphx · · Score: 1

    Yep.

    You do it here: http://connect.microsoft.com/

    To be frank, its extremely unlikely that you will encounter a showstopper bug that nobody else will, given their install base. I don't know of any developers who have been in this position. However, if it did happen, call your local MS office and you'll be able to pay to get work done (same way you can pay for patches to out of lifecycle products).

    --
    3laws: No freebies, no backsies, GTFO.
  160. Re:Oh just go away by Anonymous Coward · · Score: 0

    You don't seem to be making much sense, you're confusing the language with the implementation of the language and the libraries.

    C# as a language, which is a standard that is available for anyone to implement. As a language it is certainly superior to Java thanks to things that Java missed such as operator overloading, implicit getter/setter methods and so on.

  161. Re:Oh just go away by Anonymous Coward · · Score: 0

    Because C# as a language is superior to Java and .NET is superior as a framework to any of those available for Java would be my guess.

    Platform neutrality is much less of a benefit to a Windows only company (which 90% of companies are) than the vast productivity gains that .NET offers over Java. Visual Studio only serves to widen the gap as Netbeans, Eclipse and so on and so forth simply aren't as good and don't allow you to be as productive.

    If I want to write a cross platform application I'm with you, I'd use Java not .NET and Mono but for the majority of companies out there who are Windows only Java offers no benefits over C# and .NET and in fact only has disadvantages.

    Some people will disagree with me and tell me I'm wrong simply because they hate Microsoft and it's technologies but you only have to look at the increasing popularity of C# and .NET vs. the decreasing popularity of Java to see this is fact. Whatever the open source community might like and might feel is best isn't necessarily what industry is doing.

    If I'm writing a program that I know is never going to run on anything other than Windows for it's lifetime what better option is there in terms of productivity, security and efficiency than C#, .NET and Visual Studio?

  162. Re:Oh just go away by Tatsh · · Score: 1

    Why not just code native code then? I know this involves things like actual memory management on your own, but I still don't see AutoCAD .NET or Lightwave .NET. My guess is they do not see any performance benefits even though they can do 'rapid development' with .NET unlike native C or C++.

  163. Re:Oh just go away by RegularFry · · Score: 1

    I just see C# as an intermediate step to get the industry ready for F#.

    --
    Reality is the ultimate Rorschach.
  164. Re:Oh just go away by MC42 · · Score: 1

    Actually, the street can be as two-way as you'd like. The problem with .NET code written on Windows not running under Mono (presuming compatible versions of .NET) is when the developer goes outside the bounds of .NET and uses p/invoke to hit native libraries. This, of course, can work both ways.

  165. Re:Oh just go away by Anonymous Coward · · Score: 0

    This isn't entirely true.

    WINE does not aim to implement an operating system, it's aim is to implement Windows API's to allow applications built targeting Windows to run on other O/S's.

    Mono however attempts to be a replacement for the .Net runtime, tool-chain and API's.

  166. Re:Oh just go away by Anonymous Coward · · Score: 0

    It seems that you don't realize the advantages of the .NET framework.

  167. Sure its evil, but so am I by Anonymous Coward · · Score: 0

    From the perspective of someone who has developed in both java and .NET, mono just works, period.

    If I need to develop a back-end server application I do it in java. When I need both a desktop and back-end application I use mono/.NET.

    Yeah, my server and client share common code, and I routinely violate the MVC paradigm, but we've already established that I'm evil, right?

    People tend to assume mono means C#. One aspect people often overlook is IKVM, which compiles jar files into .NET libraries. Its not a silver bullet, but it has its uses. It allows you maintain helper classes in java, but expose them in .NET.