Slashdot Mirror


Reasons To Use Mono For Linux Development

Nerval's Lobster writes: In the eleven years since Mono first appeared, the Linux community has regarded it with suspicion. Because Mono is basically a free, open-source implementation of Microsoft's .NET framework, some developers feared that Microsoft would eventually launch a patent war that could harm many in the open-source community. But there are some good reasons for using Mono, developer David Bolton argues in a new blog posting. Chief among them is MonoDevelop, which he claims is an excellent IDE; it's cross-platform abilities; and its utility as a game-development platform. That might not ease everybody's concerns (and some people really don't like how Xamarin has basically commercialized Mono as an iOS/Android development platform), but it's maybe enough for some people to take another look at the platform.

227 of 355 comments (clear)

  1. If there are patent issues by fustakrakich · · Score: 5, Interesting

    You just shouldn't bother. It's not worth the risk.

    --
    “He’s not deformed, he’s just drunk!”
    1. Re: If there are patent issues by Anonymous Coward · · Score: 4, Insightful

      By this time (w/ MS deliberately contributing to Mono no less) estoppel should quash any patent claims.

    2. Re: If there are patent issues by Gravis+Zero · · Score: 5, Insightful

      By this time (w/ MS deliberately contributing to Mono no less) estoppel should quash any patent claims.

      it's a good thing proving that in court is inexpensive and that they have a moral integrity to not use their vast army of lawyers to just bleed you until you cannot afford to defend yourself.

      oh wait.

      --
      Anons need not reply. Questions end with a question mark.
    3. Re:If there are patent issues by Gravis+Zero · · Score: 3, Informative

      There are patent issues with every technology.

      there are no patents on C++ and even if there were they would have expired by now.

      --
      Anons need not reply. Questions end with a question mark.
    4. Re:If there are patent issues by Anonymous Coward · · Score: 2, Insightful

      It's like the programming language equivalent of trans-fats.

    5. Re:If there are patent issues by viperidaenz · · Score: 1

      You'd better check that what ever compiler you're using doesn't violate any patents either.
      Or any 3rd party libraries.
      Or any of the code you're writing.

    6. Re:If there are patent issues by Anonymous Coward · · Score: 1

      that's why us greybeards don't release anything we develop

    7. Re: If there are patent issues by exomondo · · Score: 2

      By this time (w/ MS deliberately contributing to Mono no less) estoppel should quash any patent claims.

      it's a good thing proving that in court is inexpensive and that they have a moral integrity to not use their vast army of lawyers to just bleed you until you cannot afford to defend yourself.

      oh wait.

      This is exactly the sort of thing that the EFF would be all over, moreover it wouldn't even be an issue of the validity of patents - which often results in drawn-out litigation - but of the legal principle of promissory estoppel.

      If you're worried about being sued by a company over patent claims of merit-less basis just because they have more money than you then why are you using any technology at all? If you were genuinely worried about this issue you wouldn't be in the industry at all because anybody with more money than you can just say they have a patent on what you've created and bleed you dry in court.

    8. Re: If there are patent issues by jhoger · · Score: 2, Interesting

      Except it's not a shitty language. WTF are you talking about? It's basically a better Java. And it has some innovative stuff like LINQ.

    9. Re: If there are patent issues by Anonymous Coward · · Score: 5, Funny

      "Better Java" is like a chocolate teapot being marginally preferable to one made of butter.

    10. Re:If there are patent issues by Dutch+Gun · · Score: 4, Insightful

      Patent issues? What would Microsoft have to gain by suing someone for using their own technology? That makes about as much sense as Oracle suing a developer for using Java. It's an utterly nonsensical argument, as Microsoft is officially and releasing .NET as open source, and has indicated their support of Mono and Xamarin as well.

      Personally, I feel a lot better when I understand a company's motivation. As far as I can figure, Microsoft is interested in keeping Windows relevant, and they can help do this by ensuring developers can use Windows as a development springboard for targeting other platforms. This keeps those developers in the Microsoft ecosystem, even if they have to acknowledge that fewer people are living in a Windows-only world - *especially* in mobile. The alternative would be that developers would have to turn to other development tools on other platforms, and they might find another cross platform solution that leaves Windows as an "also-ran", marginalizing it as a development platform, which in turn might lead to the erosion of Windows as a *user* platform.

      Microsoft has always been fairly smart about courting developers with excellent tools and development platforms, and making it quite easy to build applications for Windows. As far as I can tell, this is no different - it's just that Microsoft has finally acknowledged that open source and multi-platform development is critical in today's world, and they're going their best now to play catch-up in this field. This doesn't suddenly make them nice guys, but it's not in their business interest to start attacking developers - the people that they're actively trying to court with these latest strategies.

      --
      Irony: Agile development has too much intertia to be abandoned now.
    11. Re: If there are patent issues by exomondo · · Score: 1

      Yeah ok then.

    12. Re: If there are patent issues by cavreader · · Score: 1

      There are no "shitty languages and implementations" only shitty developers and those trying to implement the shitty applications creations by those developers.

    13. Re:If there are patent issues by jd2112 · · Score: 2

      There are patent issues with every technology.

      there are no patents on C++ and even if there were they would have expired by now.

      None of which will prevent some unscrupulous parties from patenting decades-old technologies with our wonderful approve-happy patent office meaning you can spend a shitload of money licensing bogus patents or several shitloads of money fighting it in court.

      --
      Any insufficiently advanced magic is indistinguishable from technology.
    14. Re:If there are patent issues by mcrbids · · Score: 5, Informative

      Microsoft has always been fairly smart about courting developers with excellent tools and development platforms, and making it quite easy to build applications for Windows

      Maybe you don't remember history the way I do.

      Remember VB? An excellent toolkit that gained widespread acceptance in the Enterprise world for it's tight IDE, integration environment and easy forms. But then MS came out with VB.net which was about as related to VB 6 as javascript is to java. It was a horrible mess, everything had to be re-written to be compatible because it was really an entirely new language. Developers were left in the lurch, oh well, perhaps you shouldn'ta Microsoft, you know?

      Remember Silverlight? The "Flash Killer", it was an excellent toolkit for writing distributed applications quickly. Performance was excellent. Many big names "bet the farm" on it. Until Microsoft walked away from it, too. Netflix will *never again* bank on a MS technology, I'm sure.

      But that's not where it ends. Remember Windows Phone 7? The next big thing (tm) and they ditched it, for WP8, and all the devs were screwed. Again.

      But that's not where it ends. Why is the XBox 360 not compatible with the original XBox? Why is the XBox "One" not compatible with the XBox 360? With every console generation, MS has been screwing the developers.

      And so it goes. Over and over, the devs get the shaft any time they bet on Microsoft's newest, highly promoted technology.

      What's next?

      --
      I have no problem with your religion until you decide it's reason to deprive others of the truth.
    15. Re: If there are patent issues by benjymouse · · Score: 2, Insightful

      LINQ is the PHP for those who can't design proper data architecture and access layers.

      I have a suspicion that you have no idea what LINQ is.

      --
      Reading slashdot one-liner: (irm http://rss.slashdot.org/Slashdot/slashdot).rdf.item | fl title,desc*
    16. Re:If there are patent issues by jcr · · Score: 1

      Oh, is that why? I thought I was just being lazy about uploading anything to share it.

      -jcr

      --
      The only title of honor that a tyrant can grant is "Enemy of the State."
    17. Re: If there are patent issues by ardave8952 · · Score: 2

      I have a *certainty* the person has no idea what LINQ is.

    18. Re:If there are patent issues by jopsen · · Score: 1

      afaik MS has a patent licensing scheme to other .Net implemetations... Has been in place for decades... Look it up... I don't remember the details...
      Eitherway, I suspect you're more likely to be sued by Oracle and suddenly have MS helping you because they want a different precedence...

    19. Re:If there are patent issues by Anonymous Coward · · Score: 4, Informative

      Remember Silverlight? The "Flash Killer", it was an excellent toolkit for writing distributed applications quickly. Performance was excellent. Many big names "bet the farm" on it. Until Microsoft walked away from it, too.

      In favor of HTML5. Its funny how the tables turn as soon as Microsoft does something, now pushing open standards in favor of proprietary blobs is a bad thing. They pushed Silverlight until HTML5 was capable then stopped supporting it and released it as open source.

      Remember Windows Phone 7? The next big thing (tm) and they ditched it, for WP8, and all the devs were screwed. Again.

      Please explain why you believe "devs were screwed", here is the experience documented by an actual dev.

      Why is the XBox 360 not compatible with the original XBox?

      Because the 360 has a completely different architecture to the original. This is not something new in the console world, developers want to write games specifically tailored to the hardware using architecture-specific strategies. The hardware improvement between the consoles was not enough to fully emulate the original XBox hardware in software on the new console.

      Why is the XBox "One" not compatible with the XBox 360?

      For the same reasons as above, however they have manage to get enough performance out of an emulation layer of sorts to be able to do backwards compatibility, it just requires the permission of the developer for distribution reasons. This is made easier since much of the games of today rely on GPU programming and while the GPU architecture is improved in the more recent console it has an AMD chip that shares many of the underlying subtleties with the AMD GPU used in its predecessor.

      With every console generation, MS has been screwing the developers.

      If you write software that depends on specific hardware obviously you can't expect that software to work when the hardware is different...duh!

    20. Re:If there are patent issues by bondsbw · · Score: 2, Interesting

      Remember VB? . . . But then MS came out with VB.net . . . it was really an entirely new language.

      You mean, the better language capable of running on the .NET CLR and utilizing the same set of proven, well-tested libraries available for all .NET languages? Getting that with a very low learning curve for existing VB developers?

      Remember that VB 6 never actually died. It just stopped being improved. If you moved your app from VB 6 to VB.NET, that was your own choice for your own reasons... but let's be clear, it wasn't because suddenly your app stopped working or you couldn't maintain it.

      Remember Silverlight? The "Flash Killer"

      Actually HTML5, with the iPhone as a catalyst, killed both Flash and Silverlight. It's interesting that you don't blame Adobe for killing Flash as you blame Microsoft for killing Silverlight.

      Remember Windows Phone 7? The next big thing (tm) and they ditched it, for WP8, and all the devs were screwed.

      Most WP7 apps could run just fine on WP8. And the changes from WP7 to WP8 were relatively minor; same language, updated (but not completely backwards compatible) APIs.

      Why is the XBox 360 not compatible with the original XBox? Why is the XBox "One" not compatible with the XBox 360?

      Because the architectures were different between original XBox and the 360, and between the 360 and Xbox One. By definition the only way to achieve binary compatibility is through virtualization, which is exactly what Microsoft has done in both cases.

      --
      All my liberal friends think I'm a conservative, all my conservative friends think I'm a liberal.
    21. Re:If there are patent issues by Dutch+Gun · · Score: 1

      I'm not defending Microsoft, nor justifying all their mistakes or missteps. I said they've *courted* developers, not always treated them perfectly. Do you know you can be immune from issues like that? Don't always go chasing after the newest, greatest technology, no matter how sparkling fresh and cool the MS evangelists make it sound. Maybe it's best to stick with tried and true for a while if you're betting your whole business on something.

      .NET is not a new thing at this point. It's been around for over a decade now, and it's pretty obviously it's going to hang around for a few more decades. In fact, thanks to Mono, it's actually out of Microsoft's hands whether they want to continue supporting it or not, because they don't *control* Mono. For people that have been burned by Microsoft abandoning support for products, they should feel a lot safer with Mono, I'd think.

      --
      Irony: Agile development has too much intertia to be abandoned now.
    22. Re: If there are patent issues by Dutch+Gun · · Score: 1

      A "shitty language"? Which language would that be? C#, Basic, F#, IronPython, COBOL, Perl, Java, Scala, Boo...?

      --
      Irony: Agile development has too much intertia to be abandoned now.
    23. Re:If there are patent issues by phantomfive · · Score: 3, Insightful

      You mean, the better language capable of running on the .NET CLR and utilizing the same set of proven, well-tested libraries available for all .NET languages? Getting that with a very low learning curve for existing VB developers?

      You utterly failed to respond to his point. The only question is whether you ignored it, or didn't understand it in the first place.

      Just in case you're not a troll, and you want to understand his point, here is the same thing restated. For your convenience, here is a relevant quote:

      If you spend the money to upgrade to VB.NET, well, you just spent a lot of money to stand still. And companies don't like to spend a lot of money to stand still, so while you're spending the money, it probably makes sense to consider the alternatives that you can port to that won't put you at the mercy of a single vendor and won't be as likely to change arbitrarily in the future. So as soon as people with large code bases start hearing that they're going to have to work to port their apps from VB to VB.NET with WinForms, and then they start hearing that WinForms isn't really the future, the future is really this Avalon thing nobody has yet, they start wondering whether it isn't time to find another development platform.

      That's why people stay away from Microsoft platforms.

      --
      "First they came for the slanderers and i said nothing."
    24. Re:If there are patent issues by phantomfive · · Score: 2

      .NET is not a new thing at this point. It's been around for over a decade now,

      Visual Basic had been around for a decade when it was abandoned.

      --
      "First they came for the slanderers and i said nothing."
    25. Re:If there are patent issues by Dutch+Gun · · Score: 1

      Anyone who thinks .NET is in danger of being abandoned is delusional. It's a core technology for MS at this point, and there's about as much chance of it being abandoned as the Windows API being abandoned. The fact that MS is actively promoting .NET as a cross-platform solution would also argue against the notion that it will be abandoned in the foreseeable future.

      I get your point, but Visual Basic and the .NET platform aren't even in the same league.

      --
      Irony: Agile development has too much intertia to be abandoned now.
    26. Re: If there are patent issues by shutdown+-p+now · · Score: 1

      LINQ is just sequence comprehensions combined with a very primitive form of AST-based "macros" (quoted because they're actually runtime). The latter is occasionally useful though not a proper substitute for true macros; the former is a hallmark of any sane language designed in the past 20 years.

    27. Re:If there are patent issues by phantomfive · · Score: 1

      I get your point, but Visual Basic and the .NET platform aren't even in the same league.

      Unless you were one of those companies who spent millions of dollars building VB software. If there's a change in wind, a change in management, whatever.....Microsoft will abandon .net. As mcrbids showed, they've done it multiple times throughout their history.

      I get the feeling that you rather don't want Microsoft to abandon .net, rather than having any kind of solid reasoning for it. Microsoft abandons technology. It's a thing they do. (And that's just addressing the overall platform, pieces can go away quicker. How much longer do you think asp.net will be around?)

      --
      "First they came for the slanderers and i said nothing."
    28. Re:If there are patent issues by shutdown+-p+now · · Score: 1

      And which of those that you've listed were open source, under a license that enables anyone to fork and continue developing them if they so wish?

    29. Re:If there are patent issues by shutdown+-p+now · · Score: 1

      The brand, yes. The language, not so much. VB3 -> VB4 was a huge breaking transition in just as many respects as VB6 -> VB.NET, and that was in 1995. VB4 -> VB5 was also breaking in quite a few things, largely because of Win16->Win32 move; and that was in 1997. VB6, the last version, was in 1998.

      So at most it was around for 3 years if you count VB4.

      Most importantly, large chunks of .NET are now open source, including pretty much all of the web/server stack. It won't go away even if Microsoft were to drop it.

    30. Re:If there are patent issues by shutdown+-p+now · · Score: 1

      It's not a patent licensing scheme, it's a disclaimer, which basically says that MS won't sue you for patents pertaining to the CLR if you implement the CLI spec.

    31. Re: If there are patent issues by hobarrera · · Score: 1

      By this time (w/ MS deliberately contributing to Mono no less) estoppel should quash any patent claims.

      it's a good thing proving that in court is inexpensive and that they have a moral integrity to not use their vast army of lawyers to just bleed you until you cannot afford to defend yourself.

      oh wait.

      By this time (w/ MS deliberately contributing to Mono no less) estoppel should quash any patent claims.

      it's a good thing proving that in court is inexpensive and that they have a moral integrity to not use their vast army of lawyers to just bleed you until you cannot afford to defend yourself.

      oh wait.

      If it came down to this, the PR hit on MSFT would be huge. They may win the trail, but they'll lose in image more than they can afford. Nobody would trust them again if they realize MS sues projects it actually collaborated with.

    32. Re: If there are patent issues by alex67500 · · Score: 1

      I came here for the LOLz: after seeing the title, it could only be a flame war. But 7 comments in and you've already made my day. Thank you.

    33. Re: If there are patent issues by xeoron · · Score: 1

      Yeah, besides their used different uncompilable CPU architectures, so they must either plan to use a translation layer or are getting developers to recompile their code.

    34. Re:If there are patent issues by melmut · · Score: 1

      Same for any project or technology by anyone.

    35. Re: If there are patent issues by kbg · · Score: 2

      You fail to consider that MS is a company and that means whenever a new person that has the ability to change policies get into office it means that it could start to enforce patent claims. It doesn't matter what the policies where in the past they can change at any time.

    36. Re: If there are patent issues by gbjbaanb · · Score: 1

      said the man whose SCM allows you to delete history!

    37. Re:If there are patent issues by gbjbaanb · · Score: 1

      there's about as much chance of it being abandoned as the Windows API being abandoned

      oh shit.

      (fortunately no-one cares about the new win API, and are still coding for Windows 7, but I do wonder what will happen when a critical mass are on Windows 10)

    38. Re:If there are patent issues by jandersen · · Score: 1

      You just shouldn't bother. It's not worth the risk.

      Good summary, but to elaborate a bit:

      - Mono is not quite .NET, so incompatible, and with Microsoft's history of making changes that break compatibility, mono is not likely to ever catch up.

      - .NET applications are so often not well designed, in my experience. I suspect it may be because of the combination of poor development skills and an IDE that makes it all too easy to make poor design choices. I don't know if it still is this bad, but last I worked with Windows development, the C++ IDE I used had encapsulated network protocols in classes that could then be placed on the application window. Very easy, but unfortunately the Windows desktop is not re-entrant, which means that it is a very bad idea to, in effect, wire a listener for an asynchronous background activity into it. All you need is two network packets right after each other and a slow update of the screen, and the whole things dies.

      - There does not seem to be an obvious need for .NET - we already have Java, which is universally available (IBM have even designed a dedicated 'Java CPU') and highly standardised. Just look at the heaps of acronyms: JMX, JNDI, ...

      - There are several, very good IDEs that support Java extremely well: NetBeans, JDeveloper, Eclipse and no doubt loads more. NetBeans, for example, comes with features that nag you into adopting a good programming style.

      And so on. .NET looks to me like a dead end. It may not be dead yet, but it is definitely not what you would call sprightly.

    39. Re:If there are patent issues by DoctorBonzo · · Score: 1

      Then just stop developing anything, period.

      There are patent issues with *everything*

    40. Re: If there are patent issues by jeremyp · · Score: 2

      It's not a language at all. It includes a C# compiler but you can use any language that has a translator to CLR code.

      --
      All I want is a secure system where it's easy to do anything I want. Is that too much to ask ~~ Randall Munroe
    41. Re: If there are patent issues by serviscope_minor · · Score: 3, Insightful

      There are no "shitty languages and implementations" only shitty developers and those trying to implement the shitty applications creations by those developers.

      That's absolute bollocks.

      Let try some reductio ad absurdum.

      According to you, the only problem with Brainfuck is "shitty developers".

      That is patently absurd.

      --
      SJW n. One who posts facts.
    42. Re:If there are patent issues by its.the.doc · · Score: 2

      Now days it's the other way around, java has been stealing from .net

    43. Re:If there are patent issues by its.the.doc · · Score: 1

      Oops, posted anon. That was me.

    44. Re:If there are patent issues by deKernel · · Score: 1

      Uhm....none of your arguments deal with the issue of patents. All of your arguments deal with MS abandoning technology which can be a pain but doesn't deal with the argument.

    45. Re: If there are patent issues by sce7mjm · · Score: 1

      mpe...none the wiser. I'll have to research it myself...

    46. Re: If there are patent issues by RavenLrD20k · · Score: 2

      Nobody would trust them again if they realize MS sues projects it actually collaborated with.

      Hi! You must be new to this earth; Welcome!

      Embrace, Extend, Extinguish, anyone? Microsoft has historically done more than enough to make it where "nobody would trust them again" on multiple PR fronts (the one that pissed me off and affected me more directly was what they did with MechWarrior, but there's a lot more than that). They seem to be doing fine... and there aren't many people or companies beyond Linux users who even know what the hell Mono is that matter in the eyes of Microsoft. For those companies that do happen to rely on Mono for Linux, you can bet that Microsoft would extend their own offering of a .NET platform for Linux using the remnants of Mono that they embraced. Companies that matter to Microsoft's world don't care about ethics, they only want solutions.

      Long story short: The PR hit on MSFT would be miniscule compared to other PR hits that the company has already taken throughout their history (even the Simpsons used the 3 E's as a gag for an episode, complete with Bill Gates as a guest star), and probably not even noticed by anyone who mattered.

    47. Re:If there are patent issues by Zalbik · · Score: 1

      Remember VB?

      Yes, I remember VB. It was the laughingstock of programming languages. I know very few developers who were anything but relieved when Microsoft put the final nail in the coffin of that abomination of a language.

      Remember Silverlight? The "Flash Killer",

      Yes, let's take terrible, proprietary, security-hole ridden technology and replace it with our terrible, proprietary, security-hole ridden technology. Netflix was utterly retarded for "betting the farm" on it. As such, it was never a particularly popular technology and was appropriately end-of-life'd when wiser minds at Microsoft realized there were much better ways to accomplish the same thing, and stopped investing in it.

      BTW, Microsoft supported VB for 10 years after it's final version. Silverlight is still supported

      I'm not sure what you are complaining about here

    48. Re:If there are patent issues by phantomfive · · Score: 1

      I don't know about any of you, but having developed buisness applications for various things in various languages, c#( in this case for me, but vb.net also qualifies) has been the fastest, easiest, best tool for the job hands down. I can whip out super complicated applications in almost no time, with almost no thought.

      I can see you're a .net fanboy.

      Software changes, and new technologies happen all the time. The worst thing you can do is be stagnent.

      But you still don't get it. Re-writing software because "something is new" is a lousy idea. I don't even know what to say to help you understand. Maybe your fanboyishness doesn't let you understand things. Do you understand why people still write in COBOL? Maybe thinking about that will help you.

      --
      "First they came for the slanderers and i said nothing."
    49. Re:If there are patent issues by phantomfive · · Score: 1

      The brand, yes. The language, not so much. VB3 -> VB4 was a huge breaking transition in just as many respects as VB6 -> VB.NET, and that was in 1995. VB4 -> VB5 was also breaking in quite a few things, largely because of Win16->Win32 move; and that was in 1997.

      That's a good point. VB was never known for being stable.

      Most importantly, large chunks of .NET are now open source, including pretty much all of the web/server stack. It won't go away even if Microsoft were to drop it.

      It doesn't really matter now, after the .net fiasco, most companies that could switched to web-based apps. This article goes into deeper detail.

      --
      "First they came for the slanderers and i said nothing."
    50. Re: If there are patent issues by Austerity+Empowers · · Score: 1

      The EFF has a lot of battles to fight that are more important than letting themselves be bled dry by a Microsoft booby-trap. MS can release it all to the public, for free, and, in writing, sign away their IP portfolio pertaining to mono, and it *may* be worth looking at. Short of that, avoid it like the plague. At best, it'll be another Java, free until someone buys the rights with more dubious intent. At worst, it's a sinkhole.

      Civil courts are a rich man's game. If it's worth doing, it's worth re-implementing better, for free. Otherwise just stay the hell away from poison.

    51. Re:If there are patent issues by phantomfive · · Score: 1

      No, you need to do better research if that's what you think. Or stay on your Microsoft stack, I don't care. The Linux kernel still runs binaries from the early 90s, and has a strong commitment to backwards compatibility, as one example. POSIX isn't going anywhere.

      --
      "First they came for the slanderers and i said nothing."
    52. Re: If there are patent issues by cyber-vandal · · Score: 1

      You do know that you can write Web apps in .NET don't you?

    53. Re: If there are patent issues by phantomfive · · Score: 1

      Fool! Last time I went to Microsoft, not even they were using asp.net. How long do you think before asp.net is abandoned?

      --
      "First they came for the slanderers and i said nothing."
    54. Re: If there are patent issues by cyber-vandal · · Score: 1

      Well they're releasing a completely rewritten version next month. Why would they have gone to all that effort if they're about to abandon it and what are they planning to replace it with?

    55. Re:If there are patent issues by LordLimecat · · Score: 1

      If Microsoft abandons Powershell, Im switching to Mac.

    56. Re: If there are patent issues by Gr8Apes · · Score: 1

      I agree, it was an awesome comment, I'd have modded it Funny if I could have.

      --
      The cesspool just got a check and balance.
    57. Re:If there are patent issues by praxis · · Score: 1

      Then just stop developing anything, period.

      There are patent issues with *everything*

      What are the patent issues with the C++ standard? Please, cite a specific patent.

    58. Re: If there are patent issues by Gr8Apes · · Score: 1

      Considering that MS tried writing portions of Windows Vista in it and failed, um... yes as far as C# is concerned?

      --
      The cesspool just got a check and balance.
    59. Re:If there are patent issues by Rasperin · · Score: 1

      First of all, this should be +5 informative. However I do have a bone to pick.

      What is so hard about making a wrapper sdk for 360 to xbox one? So that it's simply "recompile & redeploy"? I know I'm just a shitty java dev but most frameworks that are built if they aren't backwards compatible then those frameworks die due to being considered unstable (or simply never get updated due to costs).

      --
      WTF Slashdot, why do I have to login 50 times to post?
    60. Re:If there are patent issues by DoctorBonzo · · Score: 1

      There doesn't have to be any patent associated with any particular language.

      Patents can accrue to, among other things, "any useful method..." for X where X itself needn't be useful, and needn't be expressed in any particular language, computer or natural.

      It's entirely possible, if not actually likely these days, that in the process of developing anything useful, you'll wind up re-inventing something that's already been granted a patent, however obscure.

      It's not a good excuse to stop working altogether. You can at least hope that any patent has already expired or any infringement, deliberate or unintentional, will go unnoticed or unprosecuted. Worst case, you may have to pay for a license, but unless you're making a fair amount of money, that's unlikely.

    61. Re: If there are patent issues by shutdown+-p+now · · Score: 1

      I don't know when was the last time you went to Microsoft, but practically anything that Microsoft puts on the web for the past ten years is written in ASP.NET, or, lately, ASP.NET MVC.

    62. Re:If there are patent issues by MrSteveSD · · Score: 1

      It was a horrible mess, everything had to be re-written to be compatible because it was really an entirely new language. Developers were left in the lurch

      I worked for a company with large amounts of VB6 code, certainly over a million dollars worth of developer time. The company simply could not afford to do a rewrite. I still can barely believe that Microsoft would screw so many businesses by doing that.

      I vividly remember everyone gathering around as I used the project conversion wizard to convert from VB6 to VB.NET. I knew it wouldn't really work due to fundamental differences in the languages, but I felt we had to go through the motions. We sat there and watched the estimated time of completion climb and climb and climb. Eventually I think it just crashed.

      At the time we had a big meeting and I tried to convince the company that we should move away from Microsoft technologies to avoid similar pain in the future. However, such is the "Gravitational Pull" of Microsoft products, we ended up sticking with them.

      Of course, if there had been a compatible rival product (some kind of Borland VB) then it would have been much harder for Microsoft to abandon the language. This could be an issue if they try to abandon .NET due to the existence of Mono.

    63. Re:If there are patent issues by praxis · · Score: 1

      You did not answer my question. I asked "What are the patent issues with the C++ standard?". You answered that something one implements might infringe on someone else's patent, but that is irrelevant to the question.

    64. Re: If there are patent issues by RavenLrD20k · · Score: 1

      they would lose

      And to that they'd say, so what? It wouldn't be their first loss. It wouldn't hurt any more than a slap on the wrist. It wouldn't damage their worst PR damage. You also seem to miss the whole thing of embrace. They wouldn't be reneging on any their promises. They'd feed Mono with Microsoft dev mindshare. They would build it up to become a strong product house. They would then make moves to bring Mono development more and more in-house...if not outright buy all rights to the product and its name.

      It would then continue to develop and grow as Microsoft extends its functionality as an inhouse product. Finally, once they have deemed the project sunsetted, the product is extinguished.

      This is the path they took with Halo. This is what they did with MechWarrior. This is (essentially) what happened with Cygwin. Unless Nadella is being completely sincere about a New Microsoft (so far he seems to be, which is good...but, we'll have to see what kind of track record he holds on the very long term), this is something that I believe we can expect to see again with Mono.

    65. Re:If there are patent issues by melmut · · Score: 1

      Same thing, really. You can still run some DOS binaries from the 80s in latest windows, even if that's anecdotal. Nowadays, I wouldn't know which platform I could trust (= not just OS) to stay unchanged / compatible for years. Linux isn't a good example for that. BTW, I'm not on MS stack. Just wanted to be fair.

    66. Re:If there are patent issues by phantomfive · · Score: 1

      That's true, Microsoft used to be really good at that.

      Of course, IBM can run code from the 70s (though it uses emulation).

      --
      "First they came for the slanderers and i said nothing."
    67. Re: If there are patent issues by cyber-vandal · · Score: 1

      It's quite different but still backwards compatible from what I can see.

    68. Re: If there are patent issues by exomondo · · Score: 1
      I'm not sure why you think it's a "booby-trap", it's not as though this is patent litigation, at worst it would be an issue of promissory estoppel so what exactly is the "booby-trap"?

      in writing, sign away their IP portfolio pertaining to mono

      They have already released it under the community promise, it's a legally binding document written in no uncertain terms. Beyond that how exactly do you expect it to be written? Is it that you don't understand the legally binding nature of the way it has already been written?

    69. Re: If there are patent issues by exomondo · · Score: 1

      Embrace, Extend, Extinguish, anyone?

      This was a line used when they wanted to eliminate Java, the proprietary product competitor of their competitor Sun back around 1995 and it didn't work so what exactly have they "Embraced, Extended and Extinguished"?

      the one that pissed me off and affected me more directly was what they did with MechWarrior

      Which wasn't "Embrace, Extend, Extinguish" in any way, it was the well-known practice of platform exclusive games, nothing new there.

      Thinking it applies to platform exclusive games means you don't know the meaning of the term:

      "Embrace, extend, and extinguish", also known as "Embrace, extend, and exterminate", is a phrase that the U.S. Department of Justice found and was used internally by Microsoft to describe its strategy for entering product categories involving widely used standards, extending those standards with proprietary capabilities, and then using those differences to disadvantage its competitors.
      Wikipedia

    70. Re: If there are patent issues by petermgreen · · Score: 1

      git has it's own problems, in particular it has no good way to answer the.question "what code was in branch x of repo y at datetime x". Theres the reflog but that is considered more a disaster recovery feature than a proper history tracking feature.

      --
      note: i'm known as plugwash most places but i screwd up registering that here somehow in the past and now can't register
    71. Re: If there are patent issues by Gr8Apes · · Score: 1

      Your rant is interesting. I would argue C++ still allows you to shoot yourself in the foot just as badly as C. C# requires you go in unsafe mode, or pinvoke (still unsafe). Java truly prevents many of these things, until you start playing a little too heavily with dependency injection, reflection, or you abstract one too many layers with generics. Of course, none of those will have the same shotgun meets foot effect you can achieve with C/C++ unless you use JNI.

      --
      The cesspool just got a check and balance.
    72. Re:If there are patent issues by bondsbw · · Score: 1

      You utterly failed to respond to his point.

      And you utterly failed to read beyond my first paragraph, where I responded directly to his point:

      Remember that VB 6 never actually died. It just stopped being improved. If you moved your app from VB 6 to VB.NET, that was your own choice for your own reasons... but let's be clear, it wasn't because suddenly your app stopped working or you couldn't maintain it.

      Python also broke backwards compatibility, and it caused the exact same kind of issue for teams that were entrenched in version 2.x. So this certainly isn't a problem that exists only within the realm of proprietary software... Microsoft just gets a lot of blame because they have produced so many programming languages and frameworks that were in use for decades.

      Things have to improve over time, and the old ways have to be deprecated. Sometimes that can be done within the framework of the existing approach, but sometimes it cannot.

      --
      All my liberal friends think I'm a conservative, all my conservative friends think I'm a liberal.
    73. Re:If there are patent issues by phantomfive · · Score: 1

      Dude, there are trillions of dollars of software in use today, and it can't be rewritten just because "things have to improve over time, and the old ways have to be deprecated." A CTO would be negligent if he didn't look for a platform that is going to stick around for a while. That's why every time you make an ATM withdraw, it runs through COBOL code. Once companies got burned by .net, they generally moved away from Microsoft as a platform for business software.

      --
      "First they came for the slanderers and i said nothing."
    74. Re: If there are patent issues by Gr8Apes · · Score: 1

      Regarding LINQ. If I had time I'd go deeper, but the level of effort required to tune for performance compared to just writing your own custom data access layer appears to be about on par at best and still leaves you with potential performance pitfalls. If you understand data access layers and DBs, you should have no trouble writing a reasonably decent performing one with a fraction of the effort to get LINQ running equivalently. It'll have the additional advantage of having clear divisions of responsibility, and might actually be maintainable by the mere mortals that follow as well.

      --
      The cesspool just got a check and balance.
    75. Re: If there are patent issues by bondsbw · · Score: 1

      You seem to think that Microsoft has monopoly on deprecation, but you seem to ignore how often they are backwards compatible. As a counter-example, the C# and VB.NET teams have gone out of their way to not only keep from breaking BC, but also to help prevent the need to break it in the future. They even have open-sourced their next generation compiler platform for both C# and VB.NET.

      I don't blame someone for being cautious after seeing what happened with VB 6, but ignoring a well-supported and highly stable set of platforms completely--just because the company that produces them is the same one that killed VB 6 two decades ago--is foolish.

      --
      All my liberal friends think I'm a conservative, all my conservative friends think I'm a liberal.
    76. Re: If there are patent issues by phantomfive · · Score: 1

      You seem to think that Microsoft has monopoly on deprecation,

      Of course not. Other platforms have issues too, which is a negative for those platforms; but Microsoft is the topic here.

      but ignoring a well-supported and highly stable set of platforms completely--just because the company that produces them is the same one that killed VB 6 two decades ago--is foolish.

      If there were no other options, that would absolutely be true. .Net is one of a crowd.

      --
      "First they came for the slanderers and i said nothing."
    77. Re:If there are patent issues by datavirtue · · Score: 1

      My first time seeing the share button where the comment count used to be. Oddly...it has caused me to stop reading the comments. Slashdot will always be an awesome memory for me...sad to see it go....really sad.

      --
      I object to power without constructive purpose. --Spock
    78. Re:If there are patent issues by jopsen · · Score: 1

      That's a contract...hence, a license...

    79. Re:If there are patent issues by vilanye · · Score: 1

      Python also broke backwards compatibility, and it caused the exact same kind of issue for teams that were entrenched in version 2.x.

      Wrong, Python 2.x is still being developed. It is not like VB6 in the slightest. Python 2.7.10 was released just last month.

      Yeah, Guido should have called Python 3 something else, but it is not like the differences are that massive if you want to upgrade to 3.

    80. Re:If there are patent issues by vilanye · · Score: 1

      What?

      Joel is talking about moving your code to a new platform not updating your application.

      Moving your code to the new shiny means that you aren't moving and are spending a lot of time and money not moving.

      He is saying don't move to .NET, stick with VB6 so you can continue to add features.

      It is not that complicated.

    81. Re:If there are patent issues by bondsbw · · Score: 1

      VB 6 was still supported, and continued to have service pack releases, for several years after VB.NET was produced.

      --
      All my liberal friends think I'm a conservative, all my conservative friends think I'm a liberal.
  2. Why? by binarylarry · · Score: 1, Interesting

    Why use a Java clone instead of just using Java?

    I suppose there's the Oracle factor which sucks. But Mono is by Microsoft, so it's just as bad.

    --
    Mod me down, my New Earth Global Warmingist friends!
    1. Re:Why? by binarylarry · · Score: 1

      In before some pedant, .NET is by microsoft and mono is a clone of .NET.

      So it's a clone of a clone. Didn't we all see that Futurama episode?

      --
      Mod me down, my New Earth Global Warmingist friends!
    2. Re:Why? by aardvarkjoe · · Score: 4, Insightful

      Why use a Java clone instead of just using Java?

      Maybe because some people prefer C# to Java? They aren't exactly the same, after all: https://en.wikipedia.org/wiki/Comparison_of_C_Sharp_and_Java.

      --

      How can we continue to believe in a just universe and freedom to eat crackers if we have no ale?
    3. Re:Why? by binarylarry · · Score: 4, Insightful

      True but it seems kind of ridiculous to choose an entire platform based on some minor differences in syntax.

      I suppose if you're already really familiar with the Microsoft software stack, like you used to build VB apps and have already invested a great deal in Microsoft's tools it might make sense.

      But otherwise, it's a smaller ecosystem with fewer libraries, fewer developers, fewer choices, fewer large scale deployments to learn from.

      --
      Mod me down, my New Earth Global Warmingist friends!
    4. Re:Why? by naasking · · Score: 1

      True but it seems kind of ridiculous to choose an entire platform based on some minor differences in syntax.

      They aren't minor, and some of MS's libraries are unparalleled on Java because of the syntactic choices they made.

    5. Re:Why? by Anonymous Coward · · Score: 2, Funny

      Because it is better. The risk of getting sued by Microsoft is smaller than the risk that your project will fail because you use Java. Microsoft has said they guarantee that they will not guarantee that they will sue you. They guarantee there is a chance that they won't while if you use Java you are pretty much guaranteed to fail. It's just less risk.

    6. Re:Why? by MightyMartian · · Score: 2

      Care to quantify that risk for us? Go on, I'd like to see how you have done this assessment.

      --
      The world's burning. Moped Jesus spotted on I50. Details at 11.
    7. Re:Why? by Livius · · Score: 1

      It's actually a Delphi clone.

    8. Re:Why? by Giant+Electronic+Bra · · Score: 1

      In practice the differences are fairly trivial. They are both static strongly-typed languages which support reflection, introspection, inversion of control, and some degree of templating. There's really very little choose one over the other that amounts to anything at the level that architects should be thinking about. If you are considering other languages you should be considering maybe Erlang, Go, Rust, or one of the various JVM targeted languages like Clojure. Making C# an important point of distinction is pretty menial.

      --
      "Malo periculosam, libertatem quam quietam servitutem." -- Jefferson
    9. Re:Why? by Anonymous Coward · · Score: 2, Insightful

      it's a smaller ecosystem[citation needed] with fewer libraries[citation needed], fewer developers[citation needed], fewer choices[citation needed], fewer large scale deployments to learn from[citation needed].

      FTFY.

      I've been developing primarily in .NET for the last 8 years, after being a Java developer (primarily) for at least as long prior to that. At first, I was skeptical of .NET and especially of Microsoft. But over the last 8 years, I've realized that it's a tool that allows you to get work done. As such, I've found that it not only has as much of all of those things you mentioned, but it also has better quality in every area. Java still has that suck-it-and-see feel to it, while .NET seems to just get out of the way. And the tools available for .NET are about a million times better in every regard. I shudder when I think back about editing the ANT script to build and deploy a simple SOAP service. For .NET, that's a simple build/copy-the-DLL script, even without any formal deployment server setup.

      Back to the original topic, is all this true of .NET on Linux? Genuinely curious because honestly, most things on Linux have a suck-it-and-see feel.

    10. Re:Why? by subanark · · Score: 1

      And if you want to use some java library in .NET environment, IKVM will convert java library binaries into .NET binaries.

    11. Re:Why? by petermgreen · · Score: 2

      I'd say it's a mashup of the two. Like java it has garbage collection*, like Java it represents strings as immutable classes which require a reallocation for any modification.unlike delphi which classically* uses refcounted strings and will in-place modify strings that have a refcount of 1. It has operator overloading which is something that java does not have and something delphi only added relatively recently*. It has properties like delphi and unlike java. It has user defined value types like . It uses a C/C++ based synatax (like java) rather than a pascal based syntax (like delphi). It has "delegates" which are essentially equivilent to the "method pointers" in Delphi, Java also added something similar but only very recently.

      My big concern with mono is that they don't seem to have the resources to maintain it the same level that Java on linux is maintained to. In particular they implemented .nets main gui library windows.forms but then declared it unsupported. They were also very slow in adding properly working support for arm hard float systems.

      * AIUI there is now a version of delphi for .net which presumablly uses .net conventions on these things.
      **Disclaimer: I don't know exactly when delphi added it other than i'm pretty sure it was after the most recent version I used.

      --
      note: i'm known as plugwash most places but i screwd up registering that here somehow in the past and now can't register
    12. Re:Why? by binarylarry · · Score: 1

      I bet that "just works" in non trivial circumstances like a fine bottle of wine.

      --
      Mod me down, my New Earth Global Warmingist friends!
    13. Re:Why? by Dave+Emami · · Score: 1

      * AIUI there is now a version of delphi for .net which presumablly uses .net conventions on these things. **Disclaimer: I don't know exactly when delphi added it other than i'm pretty sure it was after the most recent version I used.

      That would be Oxygene, aka Delphi Prism.

      --

      "The Greens lynched a hacker in Chicago. Last month, but I think the body's still hanging from the old Water Tower."
    14. Re:Why? by subanark · · Score: 2, Insightful

      Java is designed to be cross platform. In this case instead of targeting an operating system, you are targeting another virtual environment. While not perfect, it works much more often out of the box than WINE does.

    15. Re:Why? by Rinikusu · · Score: 3, Interesting

      I hate to say it, but given the choice between ORACLE and Microsoft.. Fuck Oracle.

      --
      If you were me, you'd be good lookin'. - six string samurai
    16. Re:Why? by vux984 · · Score: 1

      True but it seems kind of ridiculous to choose an entire platform based on some minor differences in syntax.

      Wait, Is that why I should stop using c# and use Java? Or the other way around? I mean, your statement seems to have this built in assumption that java is the default choice; and not-java needs to justify itself relative to java. I really see no reason that Java is the default choice.

      If anything Java's big corporate sponsor is worse than Microsoft.

      But otherwise, it's a smaller ecosystem with fewer libraries, fewer developers, fewer choices, fewer large scale deployments to learn from.

      I dunno; the windows ecosystem is pretty darn big after all. c# bindings for pretty much everything exist. There are definitely lots of situations where Java makes more sense... but its hardly as one sided as you make out.

    17. Re:Why? by MightyMartian · · Score: 1, Interesting

      Yeah, Eclipse is just such a piece of junk...

      Oh wait, it isn't, and it's written in Java.

      Or to put it another way, fuck off MS shill. Java has had responsive GUI libraries for a decade now.

      --
      The world's burning. Moped Jesus spotted on I50. Details at 11.
    18. Re:Why? by shutdown+-p+now · · Score: 1

      From an architectural perspective, the differences may look small - an OOP language is an OOP language. But for those "coding in the trenches", they can easily add up to hours of saved time due to the ability to apply DRY more consistently, for example.

      Granted, Java has caught up on the most important piece, which is lambdas. But their generics still suck (which spills over into lambdas, because they use nominal function types), they don't have sequence comprehensions, and they don't have any syntactic sugar for continuation-style async programming.

    19. Re:Why? by inasity_rules · · Score: 1

      Mixed bag in my experience... Apart from a couple of 3rd party windows specific libraries I use, most of my code runs fine under mono.

      --
      I have determined that my sig is indeterminate.
    20. Re:Why? by jedidiah · · Score: 1

      The proof is in the pudding. If Mono were such a great thing for Linux users and Linux developers then it would already have some nice EXAMPLES to point to as to why you would want to use it. There would be apps out there saying "install Mono so you can run me".

      It would be much like WINE.

      A lot of droning on about rhetoric and marketing bullet points is really quite irrelevant.

      For what Mono is being overhyped over, it should sell itself easily.

      --
      A Pirate and a Puritan look the same on a balance sheet.
    21. Re:Why? by jedidiah · · Score: 1

      > If our legislation allows a company to claim copyright on an API, then it is the law that is wrong and not that company. Isn't it?

      Nice diversion there. It's specifically Oracle that's trying to push this atrocity. The fact that they can find civil servants stupid enough to go along with them glosses over the fact that they are the prime mover here.

      --
      A Pirate and a Puritan look the same on a balance sheet.
    22. Re: Why? by jedidiah · · Score: 1

      No. Microsoft just sues companies over nonsense like VFAT.

      --
      A Pirate and a Puritan look the same on a balance sheet.
    23. Re:Why? by geggo98 · · Score: 1

      Why use a Java clone instead of just using Java?

      I suppose there's the Oracle factor which sucks. But Mono is by Microsoft, so it's just as bad.

      As long as Java and .NET are both strong in the market, we can safely use them. As soon as either Oracle or Microsoft wins, the developers will start to loose. So as a Java user I will always advertise C#, not only because it is really a nice language (just think about LINQ, Async/Await and Rx), but also because its competition makes Java stronger.

    24. Re:Why? by Giant+Electronic+Bra · · Score: 1

      And you know what? We don't use any of that stuff, because we want our code to be COMPREHENSIBLE. Lambdas don't do anything for me that I can't do with a loop, and at least I can see instantly "Yep, that's a loop!" For the very few cases where it might be helpful, that's great, but its really VERY few cases. I have yet to write one.

      Java's generics are fine. They do the most important part of being generics perfectly well. Again, the things that you seem to want of them are things that negatively impact maintainability in most cases. Truthfully you are VERY rarely going to want to design your own generics. I've done it 5 or 6 times in the last 10 years, and at least 2-3 of those times were probably not good ideas. Consuming generics is great though.

      As for DRY... I'm at a loss why anyone would think that you'd repeat yourself in Java. There are all sorts of tools for avoiding that. I've got a million line code base, nothing that shouldn't be repeated is repeated. Application logic exists in one place, everything is highly modular, and I don't find it any more verbose than any other statically typed strict OO language. I think MS certainly looked carefully at Java and in some very minor ways improved on the syntax, but at worst the difference is small, and with Java's vast arrays of libraries, frameworks, and tools, its hard to beat. Chances are MUCH higher you'll end up doing more work in C# simply because you can't find exactly the tool you need. You might write 5 lines less application code, in theory, but you'll end up implementing some whole library that I got for free off apache.org.

      --
      "Malo periculosam, libertatem quam quietam servitutem." -- Jefferson
    25. Re:Why? by jcadam · · Score: 1

      You have got to be kidding me. Eclipse is a giant, steaming pile of poop. I've used a lot of development environments over the years (including a lot of obscure ones like Rational APEX and GPS), and words can not describe the anguish of being forced to work on a huge codebase in Eclipse (mandated by management, along with a long list of plugins that had to be installed). I actually quit my job because I couldn't take the project mismanagement and the horrible dev environment anymore.

      Now, during interviews I ask what IDE the team uses. The correct answer is "Whatever you want", though I might also accept IntelliJ, Netbeans, vim, etc. If I hear "We're an Eclipse shop" I run away screaming (Or I say, "Sorry, not interested" and then walk away).

    26. Re:Why? by PRMan · · Score: 2

      Sorry, but if you're coming from Visual Studio, Eclipse is a piece of junk.

      --
      Peter predicted that you would "deliberately forget" creation 2000 years ago...
    27. Re:Why? by PRMan · · Score: 1

      If it runs on Mono, yes.

      --
      Peter predicted that you would "deliberately forget" creation 2000 years ago...
    28. Re:Why? by PRMan · · Score: 1

      They never finished Windows Forms 100%, but I've never had an issue with anything I ported.

      --
      Peter predicted that you would "deliberately forget" creation 2000 years ago...
    29. Re:Why? by shutdown+-p+now · · Score: 3, Informative

      And you know what? We don't use any of that stuff, because we want our code to be COMPREHENSIBLE. Lambdas don't do anything for me that I can't do with a loop, and at least I can see instantly "Yep, that's a loop!" For the very few cases where it might be helpful, that's great, but its really VERY few cases. I have yet to write one.

      Yeah, yeah. We've heard this before. Back in the day, people were saying the same things about those new-fangled "for" and "while" loops. After all, we want our code to be comprehensible! A loop doesn't do anything for me that I can't do with a goto, and at least I can see instantly, "yep, that's a control flow transfer!".

      Meanwhile, people have embraced the new tools (which are the majority outside of the Java land - even the C++ guys have and use lambdas now), and they became idiomatic, and standard libraries were upgraded to rely on them - making them both more powerful and easier to read. As it happens, I use both C# and C++, and it's a rare day at work that I don't use a lambda anywhere. Looking at other people's [quality] code, it's mostly similar. And guess what? It's all still perfectly readable, so long as you take some time and learn how it works. In most cases, in fact, it's more readable than the code that it replaced, and more maintainable to boot (because DRY).

      Java's generics are fine. They do the most important part of being generics perfectly well. Again, the things that you seem to want of them are things that negatively impact maintainability in most cases.

      I was referring mostly to type erasure, obviously. How does getting read of that negatively impact maintainability?

      In the meantime, Java now has this beauty. Because they can't just say Func<T>, and have it work well for primitive types.

      As for DRY... I'm at a loss why anyone would think that you'd repeat yourself in Java.

      If you don't have first-class functions in a language, you'll be doing a lot of of DRY for that reason alone (yes, you can use anon classes instead, but no-one actually does because it's so verbose it defeats the point). If I have to explain how and why that works, then you should probably go read some FP tutorial.

      I think MS certainly looked carefully at Java and in some very minor ways improved on the syntax, but at worst the difference is small,

      You think wrong, and you didn't bother to investigate enough to make such a conclusion. This was kinda sorta true 14 years ago. It's not true now. Things that C# has that Java does not include e.g. dynamic and async/await, neither of which are "very minor ways".

      with Java's vast arrays of libraries, frameworks, and tools, its hard to beat.

      It's kinda like the iOS app store. Sure, it has 3 million apps, but in practice you need maybe 30 for any particular case, and 300 across everything. I won't dispute that Java has more libraries, but pretty much any mainstream language/platform these days, including .NET, has all the libraries that matter, for the simple reason that all of them have a fairly large community that will write or wrap one if they need it. I don't recall ever running into a situation where I couldn't find a library to do something that I needed to do, in any popular language.

    30. Re:Why? by CastrTroy · · Score: 1

      Personally if there wasn't some other major reason, I would choose .Net over Java for any project simply based on how well it handles dates, as well as the existence of the decimal data type. Simply having a base 10 decimal variable type solves so many problems. Java users will say, just multiply everything by 100 and store in an integer, or use BigDecimal. But those are just kludges that fall apart when you all of a sudden need to store 3 decimal places, or are cumbersome to use because Java doesn't have operator overloading, so you have to use function calls to do stuff like add two BigDecimal objects together.

      --

      Anthropic principle: We see the universe the way it is because if it were different we would not be here to see it.
    31. Re:Why? by tobiasly · · Score: 1

      Java is designed to be cross platform. In this case instead of targeting an operating system, you are targeting another virtual environment. While not perfect, it works much more often out of the box than WINE does.

      .NET also targets a virtual environment, called the Common Language Runtime. It's the same concept as the JVM. There is absolutely no WINE involved with running Mono apps on other platforms; they run on a native implementation of the CLR on that platform.

      Microsoft themselves only implemented the CLR on one platform, but that doesn't mean it wasn't also designed to be corss-platform. It even has means of querying the platform (usually via System.Environment) rather than assuming Windows-isms.

    32. Re:Why? by jp10558 · · Score: 1

      I'm no MS Shill, but I really hate Java. Mostly because for some reason people still use it on the web, but can't be arsed to update so it works with Java 8.

      Oh, and I hate that the installer and configuratior is almost impossible to successfully script - so managed deployments are a PITA. Somehow, going from java 7 to java 8 with what seemed a consistent, simple jre-bla-bla.exe /s REBOOT=Suppress make Java 8 unable to install. The only way to get it to work was to go find the javacpl.exe they hid in the Program Files (x86)/Java folder, run it, and manually uncheck "Enable Java in the browser". There IS NO CLI way to do this that I can find. Then you can install Java 8 and then get to go back and re-check that box.

      This is crazy.

      --
      Opera, Proxomitron-Grypen,GPG 0x0A1C6EE3
    33. Re:Why? by Giant+Electronic+Bra · · Score: 1

      Yeah, yeah. We've heard this before. Back in the day, people were saying the same things about those new-fangled "for" and "while" loops. After all, we want our code to be comprehensible! A loop doesn't do anything for me that I can't do with a goto, and at least I can see instantly, "yep, that's a control flow transfer!".

      Oh, good lord, its not even close to the same thing, there's nothing AT ALL obtuse about: for(String value : props.values()) { .... do something, which can easily be a call to another method, and probably should, lambda or not.... } I mean its fine to make realistic arguments, but calling for and while loops "just like goto" is preposterous.

      Meanwhile, people have embraced the new tools (which are the majority outside of the Java land - even the C++ guys have and use lambdas now), and they became idiomatic, and standard libraries were upgraded to rely on them - making them both more powerful and easier to read. As it happens, I use both C# and C++, and it's a rare day at work that I don't use a lambda anywhere. Looking at other people's [quality] code, it's mostly similar. And guess what? It's all still perfectly readable, so long as you take some time and learn how it works. In most cases, in fact, it's more readable than the code that it replaced, and more maintainable to boot (because DRY).

      "Its fashionable so you should do it too" is not an argument, its lazy. I am constantly, and always have been constantly, lauded for the extremely fine quality of code that I write. I refactor constantly and have many years of experience reusing and refactoring code. I don't know of ANY significant benefit in terms of code reuse of features that are present in C# and missing in Java. I could write the gospel on code reuse, believe me.

      If you don't have first-class functions in a language, you'll be doing a lot of of DRY for that reason alone (yes, you can use anon classes instead, but no-one actually does because it's so verbose it defeats the point). If I have to explain how and why that works, then you should probably go read some FP tutorial.

      Oh, good grief! I use these things all the time. They are quite explicit and you have the choice to use anonymous, inner, or outer classes, which is often quite nice and in more complicated UIs is what you often want to do anyway. Its just not a big deal, and there's again no impact on DRY unless you have some sort of incredibly lazy coders that should be kicked off the project or something.

      It's kinda like the iOS app store. Sure, it has 3 million apps, but in practice you need maybe 30 for any particular case, and 300 across everything. I won't dispute that Java has more libraries, but pretty much any mainstream language/platform these days, including .NET, has all the libraries that matter, for the simple reason that all of them have a fairly large community that will write or wrap one if they need it. I don't recall ever running into a situation where I couldn't find a library to do something that I needed to do, in any popular language.

      Well, mostly this is true. There's often a greater range of choices with Java libraries, which CAN be quite nice. In terms of larger assemblies of code there's MUCH more variety. Part of the reason being that Java didn't try to nail things like enterprise architecture down in the core system nearly as much. There are easily 8 different free high-quality containers for instance, many different persistence tools, etc. .NET tends to have what MS provided, or else a port of one or two of what is available in Java. Sometimes that's for the best, other times maybe not so much.

      Truthfully, procedural static highly typed OO languages were mostly perfected long before Java or C# got on the scene. Anything that has been added in the last 10 years is trivial compared to the huge advances of the 80's and 90's. I mean I

      --
      "Malo periculosam, libertatem quam quietam servitutem." -- Jefferson
    34. Re:Why? by Giant+Electronic+Bra · · Score: 1

      Doesn't seem like that big a deal to me. First of all, EVERYTHING, has some sort of scaling limitation, so if you are going to use the multiply trick, then just use a BIG number, one that will never be an issue.

      I hate operator overloading, and this is a point in favor of Java, they eschewed things of little value that add lots of coder overhead to sort out when they go wrong. The code base I maintain is financial code, handling transactions, and even more special than that it has to work in every currency and handle precision that varies from 2 to 7 decimal places (and that has to be configurable everywhere for each flavor of transaction and account). I don't know if this could even be handled by a BCD data type or not. Its not simply a matter of scaling, there are complexities around how different numbers are rounded, cumulative error, etc. These can be handled using BigDecimal and some additional bookkeeping, but even if C#'s decimal type would work, it would only save a pretty small amount of code. Its quite possible it wouldn't work anyway.

      I'm just not sure why people have problems with dates. I made an architectural decision a LONG time back, every date is a long milliseconds of Unix epoch, and never looked back. Client software can do whatever it wants with that. Javascript has a perfectly fine function to render that right into the browser's locale, and Java clients will format it by default into the local time format for output. My feeling is that the vast majority of date problems people have are because their data architecture is poorly chosen. In the few cases where you find yourself forced to say parse some random junk from some file, use GregorianCalendar, it works quite nicely and along with DateFormat you're mostly pretty much set. If you work with some horrible old code that tries to make the old Date object do the right thing, meh, well, we all bear the crosses of ancient mistakes.

      Now, don't get me wrong. In think MS took a good look at Java and made a few minor improvements. OTOH a lot of their libraries kinda suck too, so its a bit of a tossup. If we could take the both of best worlds I'd be thrilled. Whatever the result was, it just has to compile my millions of $ worth of existing code... ;)

      --
      "Malo periculosam, libertatem quam quietam servitutem." -- Jefferson
    35. Re:Why? by CastrTroy · · Score: 1

      What happens if you need to store a date before 1970? What if you need a date with more resolution than a millisecond?

      Also, perhaps operator overloading can be misused, but it comes in really handy when you have a class that actually represents a number. You probably don't want to start overriding the plus operator for objects that store XML documents or twitter messages, but that doesn't mean the feature shouldn't exist at all.

      And perhaps you should do some reading about the .Net decimal data type. It has 28 significant digits. That means that even if you need 8 decimal places (like for bitcoin) you still have enough digits left over to represent extremely large numbers. Basically it has enough range to cover just about every financial transaction most coders are likely to deal with. Most databases (all) have a decimal data type for storing binary coded decimal information. The programming language you're using should also support them.

      --

      Anthropic principle: We see the universe the way it is because if it were different we would not be here to see it.
    36. Re:Why? by Giant+Electronic+Bra · · Score: 1

      What happens if you need to store a date before 1970? What if you need a date with more resolution than a millisecond?

      But I never ever ever will. I know my problem domain. If I was writing code that was going to be used to measure picoseconds, then by gosh I'd use a different scaling. Since nobody will ever give a crud to more than a millisecond in my problem domain you would be asking me to carry a large amount of crap baggage around my code for some non-existing fairytale use case. Same for dates prior to 1970, I'm not doing archaeology here, I'm doing financial transactions. I will never see any date prior to NOW() ever again...

      Also, perhaps operator overloading can be misused, but it comes in really handy when you have a class that actually represents a number. You probably don't want to start overriding the plus operator for objects that store XML documents or twitter messages, but that doesn't mean the feature shouldn't exist at all.

      Eh, in my quite large amount of programming experience I've seen lots of quite ugly misuses of operator overloads. It MIGHT make some decimal arithmetic slightly cleaner, but I'd most likely have to surround the '+' with extra guards, check rounding and possible precision issues anyway, etc, so it wouldn't gain me very much. Maybe there are cases, in a math package or something, where it might be handy. I'm perfectly happy with the decision to not support it, as I benefit from that everyday in knowing what exactly '+' does and not having to worry about it. Again, its the real gain vs the hypothetical gain. IMHO KISS is the best policy.

      And perhaps you should do some reading about the .Net decimal data type. It has 28 significant digits. That means that even if you need 8 decimal places (like for bitcoin) you still have enough digits left over to represent extremely large numbers. Basically it has enough range to cover just about every financial transaction most coders are likely to deal with. Most databases (all) have a decimal data type for storing binary coded decimal information. The programming language you're using should also support them.

      And it does, with individually settable precision, rounding, and scaling. Its really quite good. Yes, you must perforce use the object method call notation to do your math, but you'd have to do that anyway for anything very complex, and its not like stopPx.add(orderMarkdown).setScale(inst.get("PRICEDIGITS") is that horrendous, or appears 1000's of times in code. So everything I need to do IS supported in a way that's usually reasonably clear and concise. If I generate an SQL query with a DECIMAL(M,N) valued column I get the corresponding BigDecimal representation, all nice and neat!

      --
      "Malo periculosam, libertatem quam quietam servitutem." -- Jefferson
    37. Re:Why? by CastrTroy · · Score: 1

      Oh, but they did reuse the plus (+) operator for string concatenating. What they did with the language was allow a very specific object to reuse an operator because it made sense, but at the same time decided that nobody could possibly come up with another instance where it would make sense to use operator overloading. Some languages use a completely different operator for string concatenation. I wonder why they didn't decide to do that in Java.

      --

      Anthropic principle: We see the universe the way it is because if it were different we would not be here to see it.
    38. Re:Why? by vilanye · · Score: 1

      Well if Oracle succeeds they will get sued because a fair amount of the method headers in the API's are exactly the same as function headers in C or C++.

      It is not implementation that Oracle is trying to protect, but function/method headers which are no different than a table of contents or an ingredient list in a recipe, neither of which of copy-writable.

    39. Re:Why? by vilanye · · Score: 1

      Lambdas are far more useful than simply abstracting loops, which are an abstraction itself. You can actually pass in code to other methods so you don't have to use retardation like Comparable and Comparator to endlessly repeat yourself for each search or sort you want to perform that differs from the default implementation. At least interfaces can have implementation, that is a small improvement.

      In Ruby because C# makes me feel dirty:

      array.sort #default sort
      array.sort {|l,r| rl} # reverse sort, pretending that reverse doesn't exist
      array.sort{|l,r| l.some_valr.some_value}

      Pre-Java 8, that was a painful thing to do. More usefully you can now use lambdas instead instead of the nasty boilerplate of anonymous classes to clean up your code for things like listeners.

      Spend some time in Scala or JRuby and find out that you can do a lot, cleanly, concisely, easy to maintain and in a tenth of the LOC that Java requires. It will make your Java code better.

      And no Java generics suck because of type erasure leading to this senselessness:


      ArrayList myStrings = new ArrayList();
      ...
      String tmp = (String)myStrings.get(0);

      What a joke.

      There are tools in IDE's to take care of the boilerplate but it still exists and still needs to be maintained.

      What cracks me up are Java accessors and mutators that don't do any thing other than store and retrieve a value.

      public void setIdiocy(SomeType idiot) {
      this.idiot=idiot;
      }

      Just make the fields public, it is the same thing.

    40. Re:Why? by vilanye · · Score: 1

      for and while loops are syntactic sugar for GOTO's.

      What do you think they compile down to?

      smh

    41. Re:Why? by Giant+Electronic+Bra · · Score: 1

      You've been able to supply a comparator to a sort, or to a collection with a concept of order, forever. I mean if I were to paste in an example it would seem a little clunky by comparison to Ruby, since it would require a bit of extra declaration, but its the same basic thing. I've got an entire order matching engine core class that utilizes this concept to implement multiple different selection criteria for orders. And nobody uses a loop for this sort of thing, you use currying, even in Java. Or at least you simply call a method that returns a list of results that match your criteria in some preferred order.

      I don't do a lot of anonymous class boilerplate, but then I don't write a ton of UIs in Java either. Outside of that particular use-case its not all that common. When I do have inner classes they are generally non-trivial, at which point a couple extra lines of boilerplate is a wash really.

      There's nothing wrong with Lambdas, but they're overhyped, and they can lead to some very unclear code.

      I don't think your example of type erasure is even relevant.


      ArrayList myStrings = new ArrayList(); ...
      String tmp = (String)myStrings.get(0);

      Isn't even good Java, the compiler WILL issue a warning about it. Your IDE should flag it as non-typesafe code too.


      List mystrings = new ArrayList();
      String tmp = myStrings.get(0);

      This would be the proper way to code this. There's no issue with type erasure here, although you CAN devise some dubious uses of a generic collection where C# or C++ would throw an error EARLIER during execution than Java will. Its hardly a huge big issue. If you use unsafe constructs or reflection to invoke generic methods, well, you may get what you deserved!

      What cracks me up are Java accessors and mutators that don't do any thing other than store and retrieve a value.

      public void setIdiocy(SomeType idiot) {
      this.idiot=idiot;
      }

      Just make the fields public, it is the same thing.

      No it isn't, and your failure to understand the difference betrays your lack of experience with maintaining large code bases over time in the face of constant refactoring. A public field exposes the implementation of the class, a public getter/setter does not. Maybe it doesn't matter to you today, but I code with a decade from now in mind, and the trivial overhead of small extra abstractions is worth it. Now, C#'s "it looks like a field but its really an accessor" is OK, but it can confuse the uninitiated. I prefer overall a lack of these sorts of features, it doesn't take being burned twice to eat up all the benefits such a thing will ever produce.

      --
      "Malo periculosam, libertatem quam quietam servitutem." -- Jefferson
    42. Re:Why? by vilanye · · Score: 1

      The comparator is a bad thing and something that is no longer needed.

      That is excess boilerplate which you seem to not understand.

      A mutator that does nothing than store the value passed into it is exactly like exposing public variables. There is no difference at all.

      Being able to hide the name of a variable is hardly of any value.


      String tmp = myStrings.get(0);

      The compiler will issue a warning because Java is as stupid as C++

      You keep proving over and over that Java programmers are no better than the PHP clowns, you're just a bunch of API monkeys.

    43. Re:Why? by vilanye · · Score: 1

      Damn slashdot ate my ruby code in my first post. Between the l and r is supposed to be the "spaceship" operator.

    44. Re:Why? by Giant+Electronic+Bra · · Score: 1

      Yeah, I see it screwed up my Java code too, bleh. Anyway, you shouldn't have issues with Java and generics WRT that sort of type safety. There's never a need to explicitly cast, unless of course for whatever oddball reason you create something like List<? Extends Foo> and I frankly have never found a reason to do that.

      --
      "Malo periculosam, libertatem quam quietam servitutem." -- Jefferson
  3. No, it's not enough by Anonymous Coward · · Score: 3, Insightful

    We have a LONG memory of Microsoft's past behavior.

    1. Re:No, it's not enough by Anonymous Coward · · Score: 2, Insightful

      We have a LONG memory of Microsoft's past behavior.

      And this is why people like you shouldnt be allowed anywhere near technology, your choices arent based on technical merit or legal principles but on how a company hurt your feelings a long time ago.

      Yes in the desktop wars and browser wars 20-odd years ago Microsoft said some nasty things about Linux, created proprietary plugins because of the limitations of HTML, then were ahead of the curve when they bundled a web browser with their OS (like everybody does these days) and had private APIs (like everybody does these days). But the world changed, the "EEE" idea of 2 decades ago failed every time and Microsoft has had to adapt (significantly changing its leadership personnel and strategy) to survive, litigating wasn't working so now they are releasing things as open source, they are reacting to customer feedback, the community promise is there (even if you dismiss it because you dont understand the legal principle), they have even had to make a serious effort at going multiplatform just like their competitors.

      They hurt your feelings and you will never forgive them, we get that and yes, I am sure the year of the linux desktop is right around the corner ... oh wait they have systemd so we can *never* forgive them for that, i guess its BSD all the way.

    2. Re:No, it's not enough by JoeCommodore · · Score: 2

      > but on how a company hurt your feelings a long time ago

      I think it was a lot more than feelings, you work months to years building technologies and then Microsoft just decides to drop platform X or technology Y and there you are with all this work that was good and successful, but with Microsoft's whim, now obsolete.

      After more than one such manuver, many have left for open source, where there is no single source of feature control or long-term licensing/activation/compatibility woes (not to mention fluctuating costs). Many have learned we cant depend on long term/cross platform stability with Microsoft, they are going to have to tread the long walk before they can regain respect.

      --
      "Enjoy what you're doing! If it becomes drudgery, you're doing it wrong!" - Jim Butterfield
    3. Re:No, it's not enough by penguin7of9 · · Score: 5, Interesting

      Apparently "we" don't have a long memory of Sun/Oracle's past behavior: Sun's repeated lies about making Java an open standard, their legal threats and lawsuits, the way they killed off independent implementations, and most recently, Oracle suing the pants of Google again. Microsoft played hardball on the business side, but Sun and Oracle have been dishonest, deceptive, and litigious. In the end, Java is both technically inferior and legally more risky than C#.

    4. Re:No, it's not enough by MightyMartian · · Score: 1

      Mono is open source!

      And, even if you believe MS's patent commitments, still a very crippled subset of .NET. With MS committing to bringing .NET to other platforms, I doubt Mono is even going to have a reason to exist.

      --
      The world's burning. Moped Jesus spotted on I50. Details at 11.
    5. Re:No, it's not enough by MouseTheLuckyDog · · Score: 1

      That's why I don't use either C# or Java.
      I will confess to Scala, but will also say that I hope it will eventually run on LLVM.

    6. Re:No, it's not enough by Anonymous Coward · · Score: 1

      the way they killed off independent implementations

      Oh, come on. Visual J++ was not an "independent implementation", it was just a tool made by microsoft trying to tie java to its platform and making it non portable.

      In the end, Java is both technically inferior and legally more risky than C#.

      Technically inferior? How? Please elaborate. And please don't give me this "but c# has properties! but c# has operator overloading!" BS.

    7. Re:No, it's not enough by Anonymous Coward · · Score: 4, Informative

      How about "C# has pointers" or "C# has unsigned types" or "C# has direct native code interoperability through function imports and exports" or "C# has proper reified generics" or "C# has allocated-on-the-stack value types" or "C# has a properly unified type system which means that you don't have to go out of your way to make an int behave like an Object or an array behave like a collection" or "C# has generator coroutines" or "C# has asynchronous coroutines" or "C# has deferred query comprehension" or "C# has transparent expression tree generation allowing for custom interpretation/execution of C# code on heterogeneous data sources" or "C# has dynamic dispatch".

  4. How is ... by PPH · · Score: 1

    ... Mono support for Xlib?

    --
    Have gnu, will travel.
    1. Re:How is ... by caseih · · Score: 3, Informative

      If you mean can you write graphical Linux programs the run on x11 out Wayland, the answer is yes absolutely. Gtk and Gnome bindings were some of the earliest tools for mono. In fact monodevelop is a gtk app, written in c#. Gtk turns out to be a pretty good fit for c#

    2. Re:How is ... by PPH · · Score: 1

      Nope. Can't use Wayland. It's not network transparent. We need native Xlib clients that can interoperate with remote X Windows servers.

      --
      Have gnu, will travel.
    3. Re:How is ... by caseih · · Score: 1

      Phone keyboard caused me to mistype. Gtk# works with X11 *or* Wayland. So if you wanted to use C# to make X11 applications you certainly could! Like I say they are just bindings to Gtk+, so things work just fine using whatever backends Gtk+ uses. There are bindings for Mono and C# for just about any Linux library out there also. So if you wanted to use C#, it would certainly work in your remote situation. Though personally I would just use Python.

  5. No assertion of patents? Really? by Microlith · · Score: 2

    Given Microsoft’s public commitment to open source, a patent war likely isn’t going to happen; that would make the company look bad at a time when it needs all the developer support it can get.

    So why don't they just relicense the .NET CLR and the rest of the packages under the Apache 2 license? It lets people use things as freely as the MIT/BSD licenses as everything else and contains the patent guarantees.

    Until then, anything not under Apache 2 is suspect.

    1. Re:No assertion of patents? Really? by penguin7of9 · · Score: 1

      Until then, anything not under Apache 2 is suspect.

      You mean like Java?

      So why don't they just relicense the .NET CLR and the rest of the packages under the Apache 2 license?

      Better question: why do people keep using and defending Java despite Sun's historical legal shenanigans and Oracle's litigiousness?

      I mean, I can see rejecting both Java and C# (I use neither anymore), but to argue that Java is somehow OK and C# isn't strikes me as completely backwards. C# might be legally OK and Microsoft might be benign, but Java is clearly legally not OK, and Oracle clearly is anything but benign.

    2. Re:No assertion of patents? Really? by penguin7of9 · · Score: 1

      The problem isn't the GPL, it's Oracle's patent portfolio, their claims to API copyrights, and their success at killing alternative implementations. And you can't live with that in the long run, because if you're a Java developer, Oracle has you by your balls.

      And why would you want to live with that anyway? Java is a shitty language with a shitty runtime and shitty libraries. The only reason it's still in use is because there is so much legacy crap in it and because so many people learned it in college in their intro CS class.

    3. Re:No assertion of patents? Really? by PRMan · · Score: 1

      Microsoft didn't sue Mono out of existence when it first appeared. In fact, they helped Miguel on many occasions. Oracle would have sued him into next week.

      --
      Peter predicted that you would "deliberately forget" creation 2000 years ago...
  6. We'll See by Prien715 · · Score: 4, Interesting

    While I have never work in C# myself, the ability stop code in a debugger, write some code, and then continue executing (compiling your code in real-time) seemed like a really awesome feature (as a C++ guy, we don't get to do this).

    The Unity engine is also quite popular and an increasingly popular choice is C# for use with it.

    Maybe Microsoft can make one useful invention every decade?;)

    --
    -- Political fascism requires a Fuhrer.
    1. Re:We'll See by Anonymous Coward · · Score: 1

      While I have never work in C# myself, the ability stop code in a debugger, write some code, and then continue executing (compiling your code in real-time) seemed like a really awesome feature (as a C++ guy, we don't get to do this).

      I've been doing this for years, and I'm a C guy. From replacing functions in VxWorks (and optionally calling them from Tcl) to hot patching with gdb.

    2. Re:We'll See by Megane · · Score: 3, Interesting

      (as a C++ guy, we don't get to do this)

      That's because you aren't using Clang. One of the reasons Apple ditched GCC was so that they could get live recompile for Xcode.

      --
      #naabhaprzrag, #sverubfr-000, #agi-fcbafberq, negvpyr[pynff*=' negvpyr-ary-'] { qvfcynl: abar !vzcbegnag; }
    3. Re:We'll See by Giant+Electronic+Bra · · Score: 3, Interesting

      Maybe, but you can do this in Eclipse these days too, in Java. Its not really all that unique.

      --
      "Malo periculosam, libertatem quam quietam servitutem." -- Jefferson
    4. Re:We'll See by phantomfive · · Score: 1

      Eclipse is much better than Visual Studio, unless you pay extra for the re-sharper plugin.

      --
      "First they came for the slanderers and i said nothing."
    5. Re:We'll See by shutdown+-p+now · · Score: 3, Interesting

      This is an IDE feature, not a language feature. VS can do it for C++ as well, by the way. But there's nothing stopping someone from implementing it for Java.

    6. Re:We'll See by BitZtream · · Score: 1

      Hum, VisualStudio has supported Edit And Continue on C and C++ since VisualStudio 6 at least. Before C# existed you could do it in c and c++.

      Still right now in VS 2013 you can do it if configured correctly

      --
      Persistent Volume manager for Kubernetes - https://github.com/dwimsey/openshift-pvmanager
    7. Re:We'll See by geggo98 · · Score: 1

      This is an IDE feature, not a language feature. VS can do it for C++ as well, by the way. But there's nothing stopping someone from implementing it for Java.

      Java already supports "hot swapping" of code (exchange code with a new version without stopping the program) for some time. The quality varies between different VM vendors and different development tools. E.g. the Oracle VM with Eclispe is quite limited regarding interface changes.

    8. Re:We'll See by Giant+Electronic+Bra · · Score: 2

      Could be. I use Eclipse because it does what I need it to do. There are definitely other toolsets out there that are really good. IntelliJ has a huge rep nowadays. NetBeans is really no slouch either. Still, for enterprise development Eclipse is a workhorse. There are plugins to do everything under the Sun. Many of them are kinda less than perfect, but they work, and there's tight integration with pretty much every OSS or 'community' sort of workflow tool you would ever want.

      --
      "Malo periculosam, libertatem quam quietam servitutem." -- Jefferson
    9. Re:We'll See by PRMan · · Score: 1

      No way. I've used both and you'll never convince me that Eclipse is better. Visual Studio is a Ferrari, Eclipse is a Yugo. I guess they'll both get you there...

      --
      Peter predicted that you would "deliberately forget" creation 2000 years ago...
    10. Re:We'll See by phantomfive · · Score: 1

      you'll never convince me that Eclipse is better.

      "None are more blind than those who are deliberately so."

      --
      "First they came for the slanderers and i said nothing."
    11. Re:We'll See by erapert · · Score: 1

      While I have never work in C# myself, the ability stop code in a debugger, write some code, and then continue executing (compiling your code in real-time) seemed like a really awesome feature (as a C++ guy, we don't get to do this).

      Visual Studio has been able to do this for about a decade now.

  7. it makes sense if... by Anonymous Coward · · Score: 1

    Using Mono makes sense if you have no memory for the past and no awareness of the problems caused by using other ecosystems primarily controlled by a single vendor.

    Seriously. There are WAY more cross platform options available, and without all the risks that come from using something like Mono.

    "Just say no" - Nancy Reagan

  8. Not efficient by jcdr · · Score: 4, Informative

    I work on a embedded Linux system running Debian Jessie armhf on a Cortex-A5 processor. At some point someone programmed a Web user interface for the system using Mono for Linux. The installation of Mono was difficult, requiring several hundred Mo of space on the filesystem and some trick to get the last package revision. Then the application was started and take all the processing load for almost 4 minutes. At his point it was eating near half the memory available on that embedded system. This was socking, especially for me that like to use qooxdoo for WebUI because it's basically a static file that need no compilation and have a very minimal memory footprint. Finally the guy switched to node.js for the WebUI on that system. The installation was easy, the startup compilation last now less than a single minute and the memory footprint is below 20%, all of that with a more complete demo that with Mono.

    1. Re:Not efficient by jcdr · · Score: 1

      1) We didn't know that Mono was the wrong tool for that job before doing the experiment.
      2) The install size is very large compared to almost anything you can actually install with a Debian Jessie main packages.
      3) The performance is way slower compared to Node.js.
      4) The memory footprint is a least twice the memory footprint of Node.js.

      Given the results, I doubt that Mono is the right tool for any new projects. It could maybe allow to run historical C# code on Linux that rely on some .NET infrastructure, but this outside of that purpose I don't see any advantage.

      Node.js has a clear and big advantage in term of installation size, processing performance and memory footprint. In addition Node.js has the sweet advantage to use the same Javascript language than on the browser client. Even if this is not simple to measure, this feature drastically reduce some kind of "brain footage" needed to deliver a project.

  9. Linux developers know C/C++, Python, Perl by postmortem · · Score: 4, Insightful

    The only reason to use Mono is really to get Windows developers onboard.

    But that's a long shot. Linux works because there are plenty of developers in mentioned programming languages that support it.

    Since Java isn't terribly popular in Linux, .NET has no chance.

    1. Re:Linux developers know C/C++, Python, Perl by Dynedain · · Score: 3, Insightful

      Since Java isn't terribly popular in Linux, .NET has no chance.

      Huh????? Most public facing Java service or site I've worked with as a developer have been running on a Linux box, normally RHEL or CentOS. Sometimes I've run into NetBSD, and occasionally HP-UX or Solaris.

      I cannot fathom how you equate a (non-real) lack of Java development on Linux as a reason why .NET has no future there.

      --
      I'm out of my mind right now, but feel free to leave a message.....
    2. Re:Linux developers know C/C++, Python, Perl by Code+Herder · · Score: 1

      I can just imagine the gp imagining the web running on all those windows boxes running Tomcat.

    3. Re: Linux developers know C/C++, Python, Perl by binarylarry · · Score: 1

      I assume he means the Linux desktop. There's pretty much only the big Java IDEs there, most apps are gtk, QT, etc.

      Java is probably the most common web application technology used on Linux servers today, as you noted.

      --
      Mod me down, my New Earth Global Warmingist friends!
    4. Re: Linux developers know C/C++, Python, Perl by shutdown+-p+now · · Score: 1

      I very much doubt many people care about the Linux desktop. As far as platforms go, the realities of the situation today is that it's below all other desktop platforms and all mobile platforms. Note that the Microsoft effort to port .NET to Linux (.NET Core) is concentrating solely on the server side stuff: web, REST etc. And Mono has done some UI stuff, but it was always much more of a crapshoot compared to their server components.

  10. The real question by JustAnotherOldGuy · · Score: 2

    What people really want to know is when will Mono incorporate systemd?

    --
    Just cruising through this digital world at 33 1/3 rpm...
    1. Re:The real question by serviscope_minor · · Score: 2

      What people really want to know is when will Mono incorporate systemd?

      I think you mean "when will systemd incorporate mono".

      --
      SJW n. One who posts facts.
  11. Re:So the only goot reason by OrangeTide · · Score: 2

    While I'm very much a vi and command-line guy, I'd like to point out that Visual Studio Code already supports Linux. While it mainly markets to people using ASP.NET and Node.JS today, it appears to have some support for C++, C#, Java, Python, Rust, Lua, Objective-C, Go and others.

    Don't confuse VS Code with full VS (not sure how to distinguish the two by name). You don't get all the business for doing projects from various predefined templates and build system. VS Code is more like a fancy text editor with some tools for refactor and lint.

    --
    “Common sense is not so common.” — Voltaire
  12. Reasons to use mono by Gravis+Zero · · Score: 2

    1) We haven't sued people for using it yet!
    2) it's cross-platform (as long as you only use certain parts)
    3) we have a single IDE!
    4) you can write games with it... as long as it's a Microsoft console.
    5) it's incomplete and buggy but were working on that!

    sounds just great but why not use C++ and Qt instead?

    --
    Anons need not reply. Questions end with a question mark.
    1. Re:Reasons to use mono by inasity_rules · · Score: 1

      Or basically anything that can run unity. Probably everything then... Including your toaster.

      --
      I have determined that my sig is indeterminate.
  13. The five bullet points by hsa · · Score: 4, Insightful

    1. C# Is a Great Language

    me: Yes it is.

    2. There's a Great Free IDE: MonoDevelop

    me: Finding a decent IDE is not a problem anymore. You can find something for every language.

    3. Mono Supports Mobile Development

    me: So does Java and Swift. Why does EVERY article out there think you have to pick just ONE language and be stuck with that choice forever???

    4. Mono Is Cross-Platform

    me: Python, Java, C, C++, Ruby, and many, many more are all cross-platform, too!

    5. Mono Powers Games Development

    me: The guy is totally right. He has some great examples, too.
    Please just don't think, that you MUST use C# to get into game dev. For example, you can have much faster prototyping with PyGame. You can really learn to code in Swift over a weekend, if you have mastered one similar language well.

    My advice to you is: pick any language, become good at it. Just don't do VB.NET or I will have to kill you.

    1. Re:The five bullet points by Dwedit · · Score: 2

      Fortunately, VB.NET can be decompiled as C# code.

    2. Re:The five bullet points by mrchaotica · · Score: 1

      IIRC, VB.NET is going away in the next version of .NET. (Good riddance, too!)

      --

      "[Regarding the 'cloud,'] ownership was what made America different than Russia." -- Woz

    3. Re:The five bullet points by shutdown+-p+now · · Score: 2

      No, it's not. In fact, they're still adding new features to the language (though largely in sync with C# now, and catching up in some cases).

  14. Re:Trollbait by MightyMartian · · Score: 3, Insightful

    Microsoft will do what it has always done; develop a technology, push it everywhere it can, then let it stagnate, and deprecate it in favor of the newest and bestest thing ever, before announcing that the next version of Windows will be the last to support it, so be sure to buy our new even more expensive suite of development and distribution tools while you can!!!!

    Java is a reasonably mediocre language with a mediocre set of standard libraries, but you know what, I'm fairly confident that the application I write in Java today will still be usable in a decade (heck, I've got Java utils running that I first wrote in 2002 to 2003). In other words, Java may be far from perfect, but it is an enormous ecosystem with enormous penetration, particularly in the enterprise world. Even if I bought into the notion that C# is lightyears better than Java (which I don't), it is almost never purely about objective or subjective technological superiority.

    Beyond that, if MS keeps to its word to port .NET over to other platforms, why on the hell would I want to use a crappy half-completed variant like Mono?

    --
    The world's burning. Moped Jesus spotted on I50. Details at 11.
  15. Yeah, that's always been my reaction by Giant+Electronic+Bra · · Score: 2

    There's about a billion times more library support for Java, particularly if you want to do anything that isn't related to Windows. And you have at least as much cross platform portability, you can reuse a lot of code for Android apps. iOS is a black hole for ALL VMs, so you really might as well just stick with Java, or else go the QT/C++ route.

    --
    "Malo periculosam, libertatem quam quietam servitutem." -- Jefferson
    1. Re:Yeah, that's always been my reaction by slack_justyb · · Score: 1

      I'll second the QT/C++ route. C++ skills are useful for more than just mobile development too! While I get that a lot of people don't like the syntax, I have to ask, which language is without sin let it cast the first stone. C++ in my most humble opinion is a really cool language and Qt (yes even with MOC) makes it even cooler. Java is alright I guess. The JavaFX seems pretty neat at the very least. C# seems like it was really popular a few years back, but now a day, I barely hear anything about it or the .NET platform for that matter. I'm surprised people are actually talking about it, but maybe I'm not hanging out with the right people or I'm just not in the right geographical region. Anyway, that's my 2 on the matter.

    2. Re:Yeah, that's always been my reaction by MightyMartian · · Score: 2

      Let's put it this way. People will be writing and maintaining C/C++ and Java applications in 20 years. C# and the .NET ecosystem will amount to some old books you see getting thrown in the dumpster outside your friendly neighborhood college library. Microsoft's record of dumping it's "latest and greatest" development tools is notorious. I remember back in the day coding in FoxPro after MS had bought it, because it was going to be the big prototyping/fast development platform, before Microsoft fell out of love with it and jumped to the VB version 4-6, before they jumped to .NET with C# and VB.NET. Remember when COM-based development was the wave of the future, and everybody in their dog was building applications that amounted to bits of VB or C glue linking ActiveX controls together? Let's talk about Silverlight, that was going to kill Flash.

      I guarantee you, whatever Microsoft dev platform you're using, unless your sticking to the C/C++ compilers on top of the Win core APIs, will be a distant memory, while Java and C++ with libraries like QT are still plugging along.

      --
      The world's burning. Moped Jesus spotted on I50. Details at 11.
    3. Re:Yeah, that's always been my reaction by Dutch+Gun · · Score: 1, Redundant

      No, that's absurd. .NET will be around for decades to come. There's too much infrastructure built on top of it, and there's no reason for Microsoft to abandon it, since it's still the modern way to write Windows applications, for both app store & full desktop applications. As long as Windows is around in its current incarnation, .NET will be around as well. Whether it will be around on *other* platforms is up for debate, but I suspect that it will at least be maintained at it's current level.

      BTW, COM is still supported, and you could write a new VB6 app even today if you really wanted to. And HTML5/JavaScript killed Silverlight, not MS. Hell, it killed *Flash*, so it's a bit hard to blame that on MS.

      --
      Irony: Agile development has too much intertia to be abandoned now.
  16. that's a lot of reasons by turkeydance · · Score: 1

    are there any good ones?

  17. And in another 5 years by Giant+Electronic+Bra · · Score: 1

    You'll be aged out of the developer pool, so who cares? ;)

    --
    "Malo periculosam, libertatem quam quietam servitutem." -- Jefferson
  18. Re:None by MouseTheLuckyDog · · Score: 1

    Oh my. Without you, how will we ever survive?

  19. Patent Wars? by sk999 · · Score: 1

    Why would anyone expect Microsoft to engage in such combat? Especially since the person in charge of Microsft's Open Source strategy famously wrote:

    http://www.informationweek.com...

    ".. our PREFERRED plan is to LICENSE ... versus LITIGATE."

    Gotta love Microsoft. Always thinking about our welfare. Or not.

    1. Re:Patent Wars? by bill_mcgonigle · · Score: 1

      ".. our PREFERRED plan is to LICENSE ... versus LITIGATE."

      Hey, don't you remember when the Ruby guys filed a lawsuit in Federal Court against the Perl guys for stealing their innovations?

      No, wait ... that's not how adults behave. Y'all can go piss in your kiddie pool if you want.

      --
      My God, it's Full of Source!
      OUTSIDE_IP=$(dig +short my.ip @outsideip.net)
    2. Re:Patent Wars? by shutdown+-p+now · · Score: 1

      Especially since the person in charge of Microsft's Open Source strategy

      Bill Hilf has left Microsoft two years ago.

    3. Re:Patent Wars? by bmo · · Score: 1

      Posting to remove fat-finger-mis-mod.

      --
      BMO

  20. .Net is for Windows and Windows only by Caesar+Tjalbo · · Score: 3, Insightful

    Late '90s software development for Windows sucked. And Windows sucked because it crashed for the slightest of reasons. And there was Visual Basic. And there was the latest hype in town: Java. Roll in .Net with C# and Visual Studio. Pretty neat and fairly idiot-proof IDE, decent set of libraries, managed execution to lower the amount of BSOD's and introduce a new language to extinguish both VB and Java.

    None of these reasons was relevant outside the MS world. Plenty of languages, IDE's, editors available on Linux, some say even too many. No BSOD's, no VB. Oh wait, there's one reason: that wanker Miguel de Icaza.

    --
    "I'm not much interested in interoperability. I want substitutability. I want to be able to throw your software out."
    1. Re:.Net is for Windows and Windows only by Anonymous Coward · · Score: 1

      Visual basic is not that bad. No doubt it cannot scale, has lots of problems (and bugs. I heard that VB developers don't use VB and that is the cause of the problems) and required VERY extensive used of win32 APIs but for small scale projects (the type for most small businesses), it works fantastically well.

      I was able to write a simple CRUD application in a day.

      VBA is great too. Some of my "greatest" works (greatest when I was young with not much real world programming experience) was done there and that was where I learn about win32 APIs programming.

    2. Re:.Net is for Windows and Windows only by Anonymous Coward · · Score: 1

      Late 90's windows development was awesome compared to early 90's windows development.
      When I was writing games for windows 3.11 I needed a computer that rebooted quickly to increase productivity.
      The development cycle was edit, compile, run, crash the os, reboot.

    3. Re:.Net is for Windows and Windows only by shutdown+-p+now · · Score: 2

      I assume you're talking about the modern incarnation of VB here (i.e. the managed one, what used to be called VB.NET), since the other kind is now ancient history and has been for a long time.

      Visual basic is not that bad. No doubt it cannot scale

      It can scale just as well as any other statically typed .NET language. Like, say, C#

      I heard that VB developers don't use VB and that is the cause of the problems

      Not true. All the VS IDE bits that are specifically related to VB are written in VB. There are fewer of them now that it's all based on Roslyn, but it's still there. A lot of generic WinForms-related stuff is also in VB.

    4. Re:.Net is for Windows and Windows only by Caesar+Tjalbo · · Score: 1

      The problem wasn't the (lack of) quality of VB or the popularity by its users. VB made Microsoft look bad and made it harder to attract new developers. C# was only partially an answer to things wrong with VB, perceptions from people other than VB programmers mattered a lot more.

      --
      "I'm not much interested in interoperability. I want substitutability. I want to be able to throw your software out."
  21. Re: So the only goot reason by binarylarry · · Score: 2

    Visual Studio Code is a rip off and reskin of github's Atom editor with some Microsoft tech bolted on.

    --
    Mod me down, my New Earth Global Warmingist friends!
  22. Re:None by XaXXon · · Score: 3, Insightful

    Why should I care if you do any linux dev?

  23. Xbox Live Indie Games by tepples · · Score: 1

    Please just don't think, that you MUST use C# to get into game dev.

    In the Xbox 360 era, C# was the only language in which to write Xbox Live Indie Games. (Technically they had to be written in verifiably type-safe CIL compatible with the .NET Compact Framework, but C# was the only major language that could compile to that.)

    For example, you can have much faster prototyping with PyGame.

    I've done some prototyping in Pygame, but I thought Pygame was a 2D framework, not a 3D one.

  24. An IDE? by nyet · · Score: 2

    An IDE is quite literally the least important feature of a language.

    What a joke.

    1. Re:An IDE? by Anonymous Coward · · Score: 1

      Unfortunately many software developers these days are completely lost without an IDE. For what they do, the existence of a program that will hold their hand as they develop is actually the most important thing.

      Sad, but true.

    2. Re:An IDE? by phantomfive · · Score: 1

      Unfortunately many software developers these days are completely lost without an IDE

      These are developers you really don't want to work with.

      --
      "First they came for the slanderers and i said nothing."
    3. Re:An IDE? by dwpro · · Score: 1

      I just can't fathom how anyone who has used IDEs with auto-complete, syntax error highlighting, method arguments and types displayed inline, following methods by jumping between files, step-through debugging, automatic compilling, etc. could ever go back to plain old text editor coding. That "hand holding" is fantastic, and to me _is_ the most important thing. The amount of time and mental energy wasted doing the busy work of orchestrating a project and fixing minor bugs that could be immediately seen or quickly tracked down by hand can make some coding not worth the effort. It does give me a kick though, to come to /. and hearing the crufties bitch about advanced tools. I hypothesize that you guys developed a command line fetish while watching the scrolling text of gentoo to recompiles and can't get jollies without it. I really can't explain the fascination otherwise.

      --
      Millions long for immortality who do not know what to do with themselves on a rainy Sunday afternoon. -- Susan Ertz
    4. Re:An IDE? by mvdwege · · Score: 1

      Then it's good neither the AC nor phantomfive were making that argument, now were they?

      If you read customer requirements as well as you show you read a two-line slashdot post, I shudder to think of what code quality your customers get.

      --
      "I know I will be modded down for this": where's the option '-1, Asking for it'?
    5. Re:An IDE? by Psychotria · · Score: 1

      They're the developers who get things done.

      You misunderstood the parent. They said:

      Unfortunately many software developers these days are completely lost without an IDE

      This is quite different to saying, for example, "Here is a developer who can continue to function without an IDE". I agree with the parent... many developers these days cannot function without an IDE; without one they have no clue where to start.

    6. Re:An IDE? by dwpro · · Score: 1

      if you guys would quit stripping down to show off your e-peens you've grown by not needing an IDE to develop, you might not get such a chill at a dissenting opinion.

      --
      Millions long for immortality who do not know what to do with themselves on a rainy Sunday afternoon. -- Susan Ertz
    7. Re:An IDE? by nyet · · Score: 1

      No, they're the developers I have to hand hold for hours at a time, and the ones whose code I have to fix because they're incompetent.

    8. Re:An IDE? by phantomfive · · Score: 1

      . That "hand holding" is fantastic, and to me _is_ the most important thing.

      What do you want me to say? You suck? Seriously, if your codebase is so complex that it can't be understood without autocomplete, I don't want to work with your code. Or you. Your code needs better organization, improve your skill.

      --
      "First they came for the slanderers and i said nothing."
    9. Re:An IDE? by dwpro · · Score: 1

      Do you actually know what autocomplete is? It has nothing to do with _understanding_ code. I bet you intended a more nuanced criticism but didn't have an autocomplete for the enumerated benefits so you just went with the first one. I'll try an organize my arguments better so that it matches your expected responses, improve my skill.

      --
      Millions long for immortality who do not know what to do with themselves on a rainy Sunday afternoon. -- Susan Ertz
    10. Re:An IDE? by phantomfive · · Score: 1

      Do you actually know what autocomplete is? It has nothing to do with _understanding_ code.

      Some people write code so bad that it can't be understood without autocomplete (and other IDE navigation tricks). You just can't find where stuff is without it, because the code is not well organized.

      Glad to hear your code is not like that.

      --
      "First they came for the slanderers and i said nothing."
    11. Re:An IDE? by mvdwege · · Score: 1

      I'm not bothered by dissenting opinions. I'm bothered by reflexively produced bullshit showing neither reading nor thinking ability.

      --
      "I know I will be modded down for this": where's the option '-1, Asking for it'?
  25. Re: So the only goot reason by OrangeTide · · Score: 1

    Well there's no Linux download for Atom. So I'm going to mark your comment off as hyperbole and move on with my life.

    --
    “Common sense is not so common.” — Voltaire
  26. Re:And the security is fundamentally broken by MightyMartian · · Score: 1

    Yeah. Nothing says "You're computer is going to be rendered unusable for a couple of hours" like .NET updates. I swear to god I think the HD LED is just going to burn out during .NET updates. In the time it takes a .NET update to go through, I can usually update a Debian kernel and core libraries for a system and have it rebooted and already running again.

    --
    The world's burning. Moped Jesus spotted on I50. Details at 11.
  27. Re: So the only goot reason by Anonymous Coward · · Score: 1

    Have you checked back this year, already? https://atom.io/
    Download .deb, Download .rpm, Build from source ...

  28. Suitability of Mono aside, he says by AmazingRuss · · Score: 3, Informative

    "Chief among them is MonoDevelop, which he claims is an excellent IDE; " ... which made my jaw drop.

    Monodevelop is a fucking awful, AWFUL piece of software. Bloated, slow, and broken hundreds of ways.

  29. Re: Trollbait by cyber-vandal · · Score: 1

    They've "abandoned" it even though they're about to release C# 6 and a complete rewrite of ASP.NET called vNext which is being released as open source. Or do you have secret insider knowledge that they're planning to rewrite ASP.NET again in Javascript?

  30. Chris Knight by ChadSmith4920 · · Score: 1

    "There are a lot of decaffeinated brands on the market today that are just as tasty as the real thing."

  31. If I want real cross-platform by Albu · · Score: 1

    I use Haxe http://haxe.org/.

  32. MonoDevelop is the key point here. by Qbertino · · Score: 1

    MonoDevelop/Xamarin Studio FOSS Edition is the key point here.

    I have to admit, I resent MS just as much as the next guy and I consider C# a half-assed cross between readability of C, speed of Java and portability of Visial Basic and unlike some MS fans do not consider the PL the second coming of Christ. ... But (you did see a big "but" coming up there, right?) I have to say that MonoDevelop is an impressive FOSS product. It works out of the box on Linux, OS X and Windows, it's actually a pretty good IDE and it makes getting up and running with C# GUI/client development a breeze.

    You can get from zero C# experience to an own feasible GUI app in a matter of hours.
    Something I can't say of other great toolkits, such as Qt.

    In a nutshell, MonoDevelop is the only reason I would actually even consider C# as a PL for a project.
    And now with major components of the .Net ecosystem available as FOSS, I wouldn't completely dismiss C# for non-trivial infrastructure and middleware either.

    My 2 cents.

    --
    We suffer more in our imagination than in reality. - Seneca
  33. Don't let Mono wean developers away from Linux by keneng · · Score: 1

    Microsoft is the Anti-Christ. This tool does not benefit the community. Using gcc/c++ benefits the community. Using Mono only benefits Microsoft because that encourages everyone to try Mono and then the developers end of feeling limited on the Linux MONO IDE because it is deliberately crippled with less bells and whistles than the MICROSOFT WINDOWS-BASED .NET IDE.

    The bottom-line long-term strategy for Microsoft is to suck money out of developers pockets on an ongoing basis. Their agenda about Linux was revealed years ago with the "halloween papers" their real strategy was "Fear, Uncertainty, Doubt" towards Linux;"Embrace, Extend, Extinguish" Linux. For as long as Linux afficionados remain vigilant, that's not going to happen if Linux developers continue to use gcc/g++. I clearly recommend ignoring all Microsoft offerings on an eternal basis. I look forward to the day that Microsoft is irrelevant in the software domain. Move on. Nothing to see here.

  34. What? Mono still exists? by walterbyrd · · Score: 1

    I thought that was gone five years ago.

  35. Reason not to: by slashdice · · Score: 1
    Miguel de Icaxaka is a known Microsoft acolyte (even in the Ballmer days). Furthermore, he's been known to eat his own dick cheese.

    He has done more to harm Linux than anyone, other than Lennard "systemD" Poetering.

    --
    Copyright (c) 1990 - 2014 Dice. All rights reserved. Use of this comment is subject to certain Terms and Conditions.
  36. Yeah, .NET won't die by Giant+Electronic+Bra · · Score: 1

    I don't think MS is going to 'stop supporting' .NET. Hell, Visual FoxPro 9 SP2 was released as late as 2007 and there were hotfixes released as late as 2010. Granted, MS hasn't really supported it in a big way in about 10 years, but it was a LOOOOONNNNNGGGGG time 'dying', and there are still quite a few users.

    Even if .NET were to follow VFP its going to have active support for AT LEAST the next 10 years. Given that MS has no other similar product or reason to ditch this one in favor of another, as well as various active ongoing technology programs that build on the .NET CLR it hardly seems likely to fade very fast.

    I think what MS has determined is that their boundless enthusiasm for managed code was a bit over-the-top. It makes sense as an approach for 'apps' and less-demanding or 'internal use' type applications. I think they've also realized that the real value of such an environment is in Java's niche, as a high performance platform-agnostic host for business logic. Unfortunately for them they'll never displace Java in that niche. That boat has sailed.

    Still, MS itself will in all probability continue to write .NET applications. C++ is a great language, but it takes a huge amount of effort to deal with memory management issues and such crap. C++ is also a language filled with lots of pitfalls. It is incredibly easy to write bad C++ code, and you really need to study the language itself for a few years just to be a truly competent coder. Frankly I just stick to Java, but if I was a .NET guy I'd just stick with that. Why not?

    I wonder about HTML5/Javascript. Personally I think Javascript is another terrible language. We're kind of stuck with it, but between the terribleness of HTML, the terribleness of the DOM, and the terribleness of JS writing UIs in that environment really is a pretty awful and expensive process. We've found that with JavaFX (and no doubt other equally good toolsets) we can write a UI in 1/2 or 1/3 of the time it takes to do the same quality of work in HTML/JS. While it is certainly not going anywhere in the near future I have to see this whole paradigm as ripe to fall. MS may think they've hitched their wagon to the final answer, but IMHO something much better will come along before too much longer.

    --
    "Malo periculosam, libertatem quam quietam servitutem." -- Jefferson
    1. Re:Yeah, .NET won't die by Dutch+Gun · · Score: 1

      C++ is a great language, but it takes a huge amount of effort to deal with memory management issues and such crap. C++ is also a language filled with lots of pitfalls. It is incredibly easy to write bad C++ code, and you really need to study the language itself for a few years just to be a truly competent coder.

      While the rest of your statements are true enough, C++ (as of C++ 11) is pretty easy to use in terms of memory management. As long as you use smart pointers and proper RAII techniques, memory management is almost as automatic as with a managed language. My new game / game engine was written in 100% modern C++, and I've had incredibly few memory issues. For the most part, as long as I properly manage object lifetime, I don't even have to think about memory management, which is quite a relief even for this long time C++ programmer.

      Unfortunately, there's a *huge* amount of legacy code out there that uses a lot of old and unsafe techniques that make it so difficult to use correctly and safely. It's going to be quite a few more years before we see a proper transition of these techniques, but if C++ has anything going for it, it's stubborn longevity.

      --
      Irony: Agile development has too much intertia to be abandoned now.
    2. Re:Yeah, .NET won't die by Giant+Electronic+Bra · · Score: 1

      Yeah, that's the problem. You never know what sort of bad code you're calling in some library. You can try to use only the latest and greatest stuff, but that comes with a price too, and a lot of really critical functionality only exists in really old code that will probably never get cleaned up.

      The other problem is that for people like me, who have done only limited amounts of C++ coding, the language is especially treacherous. Its great that it HAS ways to do things 'right', but it also has ever evil bad way to do it wrong, and learning the difference really does take years.

      --
      "Malo periculosam, libertatem quam quietam servitutem." -- Jefferson
  37. Suse Dropped Mono with SLED12 by perotbot · · Score: 1

    Suse used Mono in SLED 9-11 from several things, but specifically Novell's ifolder implementation. With SLED 12, mono is no longer available. Considering that Suse/Novell used to employ the most of the mono team. but no longer, it may be obvious that this is a dead end

    --
    ~corporate tool, but employed~
  38. GPL/LGPL are obsolete for platforms these days. by goruka · · Score: 1

    Nowadays, every language implementation and compiler has been released under a very permissive license. If the guys from Xamarin would try stopping making money out of Mono I'm sure it would become a lot more popular. For example:

    -LLVM (BSD)
    -Lua,Python, Ruby, etc. (BSD Style)
    -CoreCLR (MIT style)
    -Dalvik (for Java)

    Even GCC runtime license is more permissive. Mono is a dual licensed commercial product, so I'm surprised Slashdot is making publicity out of it.

  39. Because Microsoft already does Patent abuse? by coder111 · · Score: 1

    Ok, MS doesn't do patent abuse when it concerns .NET (yet).

    But all Android vendors have to pay up to Microsoft for all the Linux/Android based phones they sell, because of patents. This is extortion pure and simple, and it's Microsoft abusing patent system for monetary gain.

    --Coder

  40. Patents aren't my primary concern by Shaitan · · Score: 1

    Mono has and always will have a subset of the functionality and ecosystem available to .Net windows developers. If a developer builds their skills around .Net using mono it's only a matter of time before the benefits of using .Net on that platform outweigh the benefits of using Linux for that developer, that project, that company. Sooner or later more jobs being available for those with .net skillsets on windows or higher paying jobs will mean mono developers taking those jobs which leads to more professional experience on that platform and rinse and repeat.

    Mono is a sinkhole designed to drain developers away from Linux. Stay away from traps, use tools that provide superior capabilities on your already superior platform and build your skills and experience on those.

  41. Welcome by snadrus · · Score: 1

    Welcome to the vast variety of languages on Linux with the attributes you have. Unfortunately you're still an underperformer in:
    - Speed: Plenty of faster-running and faster-compiling (or not compiling) languages to chose from
    - Convenience: Python, Perl, Bash, PHP are all lighter-weight, easier setup, & ready-to-go
    - License: It matters to the free-software community.
    - Self-Competition: Killed D-Lang, Harmed Rust (Co-routines). You've got it (Microsoft CLR runtime) and we all know that's trouble.
    - Packaging: Installing Mono-based apps into a non-Mono box are huge.
    - Tooling: Experienced devs live here & expect standards. Leave the standards & you've left the community.

    So for every purpose there's a better tool (except running code from devs who won't leave Windows). Since devs are leaving faster than ever and universities have all-but-abandoned Windows in CS education, this category is too small to matter. As for legacy software, it'll stay on Windows for fears that it's not as platform-independent as people think (see Java @ 2005), so it's not even an exception.

    --
    Science & open-source build trust from peer review. Learn systems you can trust.
  42. Re:Trollbait by PPH · · Score: 1

    convicted monopolist

    Nope. They settled with the DoJ and consented to an agreement overseen by a FISA judge.

    So, lots of NSA backdoors. But no conviction.

    --
    Have gnu, will travel.
  43. Re:Trollbait by Gamasta · · Score: 1

    Sure they're still running, but just because java takes forever to execute.

    Knock knock. Who's there? (long pause) Java

    --
    reason defies logic
  44. Say no to Mono by chris_clay · · Score: 1

    With various GNU/Linux distributions, Mono support is spotty and therefore I'd steer clear of it entirely. Why do we need it? We don't. We're much better off with native frameworks that are better suited to the GNU/Linux OS itself. Such as Python for example.

  45. beats me! by Giant+Electronic+Bra · · Score: 1

    I wouldn't say Java is utterly consistent. Its pretty generic though, and I like that. If you know C you can pretty well understand the flow of code in a Java method, and if you have a general understanding of OOP then you will pretty much understand Java. I think the same can be said for C#.

    Frankly I was considering using a scripting language to write some test driver code. I figured it would be a little less tedious and easier, but what I found was that with a modern IDE it just wasn't worth the bother. Yeah, I could make my test harness a little simpler, and in theory I could even edit it without recompiling, but it was just plain easier to write the stuff in Java, its just not that hard to code in.

    I mean there are very definite use cases for scripting, but its not like the old days where it was much easier than coding in a compiled language.

    --
    "Malo periculosam, libertatem quam quietam servitutem." -- Jefferson