Slashdot Mirror


Is Microsoft 'Reaping the Rewards' From Open-Sourcing Its .NET Core? (infoworld.com)

An anonymous reader quote InfoWorld: Two years ago Microsoft did the unthinkable: It declared it would open-source its .NET server-side cloud stack with the introduction of .NET Core... Thus far, the move has paid off. Microsoft has positioned .NET Core as a means for taking .NET beyond Windows. The cross-platform version extends .NET's reach to MacOS and Linux...

Developers are buying in, says Scott Hunter, Microsoft partner director program manager for .NET. "Forty percent of our .NET Core customers are brand-new developers to the platform, which is what we want with .NET Core," Hunter says. "We want to bring new people in." Thanks in considerable part to .NET Core, .NET has seen a 61% uptick in the number of developers engaged with the platform in the past year.

The article includes an interesting quote from Microsoft-watching analyst Rob Sanfilippo. "It could be argued that the technology generates indirect revenue by incenting the use of Azure services or Microsoft developer tools."

39 of 257 comments (clear)

  1. Re:not quite correct by NotInHere · · Score: 5, Insightful

    The reality is that javascript is the universal language at the moment of 'get stuff done'

    It is, but javascript is a gigantic mess, and therefore shouldn't be used for teaching, just like C++ (which is a mess too, but a smaller one).

  2. It worked for us... by Anonymous Coward · · Score: 3, Insightful

    This move allowed us to deploy C# code to all kinds of platforms, not just Windows machines, which is becoming much more important in enterprise and research fields. Our developers enjoy working in C#, and we can make good use of it across our enterprise-sanctioned systems, so advanced tools like Visual Studio (which is still a very nice IDE), become higher-value investments.

    1. Re:It worked for us... by EvilSS · · Score: 2

      In fact the various interoperability would have been immediate because anything with a web browser could run it.

      Yes, because in real life it totally works like that.

      --
      I browse on +1 so AC's need not respond, I won't see it.
    2. Re:It worked for us... by ZenShadow · · Score: 2

      It's a great way to deploy software... until your 'net connection dies.

      Then you're fucked.

      I'll stick with my local tools, thanks.

      --
      -- sigs cause cancer.
    3. Re:It worked for us... by CustomSolvers2 · · Score: 3, Insightful

      until your 'net connection dies

      There seems to be quite a few misconceptions in Slashdot when talking about .NET, which I will try to address in this post. Before going ahead with the clarifications, note that I have been developing in .NET (both C# and VB.NET, mostly in desktop and web for Windows and Linux under different formats) for some years already. During the last months, I have also been contributing to the open .NET projects. I think that it (+ Visual Studio which, despite some of its last versions have become a bit too heavy, I still think that is the best IDE ever) is a very programmer-friendly framework and that's why I tend to use it when possible. I am not a Microsoft (or any other brand) fan, but live in the real world where Windows is the most-widely-used OS. After this introduction, what matters here:

      * The .NET Framework has been the main Microsoft programming environment since some years ago. Note that one of the most relevant Windows updates is precisely the .NET one. Since the beginning, it included two main languages, C# and VB.NET (different syntaxes, but virtually identical functionalities and generating the same CIL), although additional ones have been added/further-supported during the following years (e.g., F# or C++); these languages can be used in many different sub-classifications taking care of virtually any scenario (desktop, web, games, mobile, etc.; each of them with various sub-alternatives). I think that the .NET name is quite bad and misinterpretation-prone, because it seems to indicate the (non-existent) requirement of a net connection/internet. Additionally, bear in mind that all this was traditionally meant to be only run on Windows, but also appeared some alternative versions for other OSs; the most important one was Mono/Xamarin which has been recently bought by Microsoft.
      In summary, all what you need to run a .NET program/web/game/mobile-app/etc. is having installed the .NET Framework (included in Windows by default) or a compatible alternative like Mono on the given machine.

      * .NET Core (or further new classifications like .NET Standard) wasn't the original reason for open-sourcing .NET. This is just one additional layer of the (IMHO, too complex already) .NET+non-Windows-compatible reality being used by different languages, under different scenarios and on different OSs. These new attempts try to put together the multiple sub-versions + open-source essence but, as what usually happens with .NET, aren't the only option and you don't need to develop in .NET Core (although, as a newer format, it is encouraged and, for example, you need it lately to test the open-source versions).

      In summary, .NET (understood in its widest sense) is huge and that's why generic conclusions about it are usually faulty. From a Slashdot-friendly point of view, this fact translates into: better than saying "I hate .NET because X", you should say "I hate .NET Winforms/WPF for this OS because X" or "I hate ASP.NET because X" or "I hate Unity (for games) because X", etc. :)

      --
      Custom Solvers 2.0 = Alvaro Carballo Garcia = varocarbas.
  3. what's so "unthinkable"? by ooloorie · · Score: 5, Interesting

    Two years ago Microsoft did the unthinkable:

    I don't see what's so "unthinkable" about it; Microsoft has been pretty honest and well-behaved when it comes to .NET since the start: they created open standards, made legal commitments not to assert any patents, and have supported Mono. That is... unlike that other company and its platform.

    1. Re:what's so "unthinkable"? by ooloorie · · Score: 3, Interesting

      Oh man, that's worthy of a spit take. This is Microsoft we're talking about, not a reformed heroin addict. Nothing has changed. This is classic embrace, extend, extinguish.

      Why would they need/want to "embrace, extend, and extinguish" a platform that they themselves created?

      Furthermore, what objectionable things has Microsoft done over the last decade?

      Over the last decade, in what way has Microsoft been worse than Oracle/Sun or Apple? How does anything Microsoft has done compare to the major fuck up represented by Oracle/Sun's API copyright claims?

      Seriously, I understand the Microsoft hatred; they badly misbehaved in the 90's, but that time has long since passed. They have lost their monopoly and they are struggling, and they are behaving accordingly.

    2. Re:what's so "unthinkable"? by SuperKendall · · Score: 5, Interesting

      Microsoft has been pretty honest and well-behaved when it comes to .NET since the start:

      That's pretty amusing considering .Net started because they got sued for forking Java, so they make a Java clean-room clone and went with that.

      That said .Net has gone it's own way and Microsoft has been much better behaved lately. But to say it's been so "since the start" of .Net is a massive retcon.

      --
      "There is more worth loving than we have strength to love." - Brian Jay Stanley
    3. Re:what's so "unthinkable"? by ooloorie · · Score: 3, Interesting

      That's pretty amusing considering .Net started because they got sued for forking Java, so they make a Java clean-room clone and went with that.

      Sun had originally promised to make Java an ANSI/ISO standard, and they broke that promise, turning Java into a proprietary standard with an open source implementation. Sun had also promised to make Java a good platform for GUI applications, something else they utterly failed at. I think Microsoft was completely justified in doing what they were doing with Java, and Sun was confirming how dishonest and untrustworthy they were with their lawsuit.

    4. Re:what's so "unthinkable"? by phantomfive · · Score: 3, Interesting

      I don't see what's so "unthinkable" about it; Microsoft has been pretty honest and well-behaved when it comes to .NET since the start:

      Because it's completely a reversed position from what they had before. See the "halloween letters" for example. It took a long time for the Open Source virus to infect Microsoft, but it's there now.

      --
      "First they came for the slanderers and i said nothing."
    5. Re:what's so "unthinkable"? by ooloorie · · Score: 3, Interesting

      Sure, if you have been in a coma for 20 years and just woken up, this change in position may surprise you. To the rest of us, it's been a pretty gradual development.

    6. Re:what's so "unthinkable"? by gtall · · Score: 4, Interesting

      Sun's problem with GUI applications is that they didn't understand them. They had a big machine mentality, not small PC mentality. They never caught on that GUIs are quite like realtime apps, and response at the keyboard and screen really matters. Their notion of creating and freeing "graphic objects" was guaranteed to make GUIs look like they were swimming in molasses.

    7. Re:what's so "unthinkable"? by MightyMartian · · Score: 4, Insightful

      OOXML.

      --
      The world's burning. Moped Jesus spotted on I50. Details at 11.
    8. Re:what's so "unthinkable"? by drinkypoo · · Score: 2

      so Microsoft Visual C++ dilutes the "c++" brand? Microsoft Visual Basic the "Basic" brand?

      C++ and BASIC aren't branded.

      AFAIR Microsoft called their own Java version "Microsoft Java", running on the "Micosoft Java Virtual Machine" (MSJVM).

      And yet, Java was still a registered trademark. I can't just go forth and sell Martin Espinoza's Coca-Cola, or drinkypoo's Disney On Ice.

      --
      "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
    9. Re:what's so "unthinkable"? by angel'o'sphere · · Score: 4, Insightful

      Java is probably one of the best, on par with Qt, 'technologies' for GUI applications, and that since far over a decade.
      You must be living under a rock. (Or must have a pretty weird idea how 'good gui programming' looks like.

      I think Microsoft was completely justified in doing what they were doing with Java, and Sun was confirming how dishonest and untrustworthy they were with their lawsuit.
      That is bollocks. M$ did the embrace, extend, extinguish tactics with Java by "adding" unportable extensions. Java programs written for the MS platform where no longer 'compile once run everywhere' hence Sun sued: rightfully, both in legal as in moral sense.

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    10. Re:what's so "unthinkable"? by MightyMartian · · Score: 2

      Have you got amnesia? They stacked the committee with their "partners" to gain passage for a deliberately terrible document format. I don't give a flying fuck what Sun did or didn't do. The fact is that Microsoft played its same old game of undermining a standard, so I have no interest in using any of its technologies to underpin any of my work. Microsoft is fucking evil, always has been evil, and always will be. Last time I checked, I don't need .NET for anything, so I feel no reason whatsoever to use any development platform that Microsoft has any influence over. Microsoft can go get fucked.

      --
      The world's burning. Moped Jesus spotted on I50. Details at 11.
    11. Re:what's so "unthinkable"? by phantomfive · · Score: 2

      No ECMA/ISO/ANSI standard,

      How does that relate to patents at all? MP3 has an ISO standard, and you still need to license the patents. Being an open standard isn't neither here nor there.

      Also your knowledge of patent law is weak, a patent can be unenforced for years, and then later begin to be enforced. So whether Microsoft has done so in the past is not relevant to what they will do in the future. It may be an indication of how 'nice' Microsoft is, but that's not the question: the question is how safe you are legally if Microsoft stops being nice.

      Is that all you have, or do you have something more? At this point we can conclude there is no particular difference in the strength of the legal protections provided by Oracle and Microsoft. Unless you can do a better job defending that assertion.

      --
      "First they came for the slanderers and i said nothing."
  4. Re:Maybe it's people fleeing Oracle? by johannesg · · Score: 4, Insightful

    The first thing I thought about the "Oracle is going to start shaking down developers" article from yesterday was that it was a boon to C#.

    -scott

    If you flee from Oracle into the warm embrace of Microsoft, expecting everything will be fine, you deserve everything you are going to get. We'll read about it on slashdot in a few years: "Microsoft demands licensing fees from .NET developers", and some of us will be thinking "phew, I dodged another bullet there".

    But hey, if decades of experience with a company means nothing to you, by all means lock yourself into Microsoft's walled garden.

  5. Is Microsoft reaping benefits here? by mmell · · Score: 4, Interesting

    I sure hope so. They're a corporate, profit-making entity, a fact which they've never attempted to hide or disavow. If there is a benefit to be had from open source, they'll take full advantage of that benefit - hopefully to the mutual benefit of their bottom line and the open source community.

  6. int vs float vs double by gl4ss · · Score: 4, Insightful

    look, if you use javascript for teaching then you will get pupils graduating without knowing the difference between basic data types - or really anything. even basic would be better, really, for teaching basics.

    --
    world was created 5 seconds before this post as it is.
    1. Re:int vs float vs double by Anonymous Coward · · Score: 5, Insightful

      > Wouldn't you say that the same problems wrt. type-lessness applies to Python? It not, why?

      No, because Python has strong typing and Javascript doesn't.

      Python: 1 + "2" => error

      Javascript: 1 + "2" => "12"

    2. Re:int vs float vs double by murdocj · · Score: 4, Interesting

      Definitely. If javascript is the first language, people have no clue how to structure things, what types are, that an object is more than a collection of stuff... it's a great glue language if you want to bang out a few lines, it's a disaster if you want to write solid production code. Just look at all the "add-ons" like typescript that adds in concepts like type checking that you get for free in any decent language.

    3. Re:int vs float vs double by Wootery · · Score: 2

      Bzzz. Python isn't typeless, it's dynamically typed.

      If you want typeless, look at assembly languages, or FORTH.

  7. Re:not quite correct by sg_oneill · · Score: 5, Interesting

    No. Hell no. Higher education is about teaching concepts and proper practices. A gutted mess of a language simply isn't appropriate for good education. Python is an equally 'easy' language but has far superior constructs for abstraction, sensible error handling , structured and OO design, and so forth. Its duck typing goes easy on new students, but doesn't fall into the traps offered by languages like Javascript or PHP's weak typing.

    Beyond that Java (or C#, the two are almost interchangeable here, and with Java rapidly becoming radioactive thanks to oracle, it might be the better choice) , C/C++, Clojure and Haskell all provide proper computer science training whilst still remaining job market viable.

    And if someone is unlucky enough to end up in a javascript shop, well theres always whisky and the blues.

    --
    Excuse the Unicode crap in my posts. That's an apostrophe, and slashdot is busted.
  8. Re: not quite correct by lgw · · Score: 2

    C# on Unity works across all relevant game platforms - PC, console, mobile, VR. I'm not sure how much .NET is in there, though.

    Xamarin gives you C# and .NET on mobile platforms, which may be where his gaming company sells.

    There is nothing you can do with it today you can't do faster with native code

    So, if you're writing a game engine, yeah, not C#. But for most of the actual work of game development, C# is worlds better than LUA, which is the default choice today.

    --
    Socialism: a lie told by totalitarians and believed by fools.
  9. Re:not quite correct by Dutch+Gun · · Score: 4, Interesting

    In the videogame industry at least, C# is extremely popular for tool development and scripting, while C++ is largely used for engine and game code. It's a clean, well constructed language, is similar enough to C++ to train up programmers easily, and integrates well with native C++ code. JavaScript is occasionally used as a scripting solution and for web integration (or web games, of course), but it's not quite as popular for general purpose use, from what I've seen. Lua is still used for runtime scripting as well, while various other languages like Python or Java contribute in minor ways with tools and automation.

    So, once again, a language pissing match is completely pointless unless you specify what you're actually developing, and how it will be used and deployed. How often do I have to say this? Different languages, different strengths.

    --
    Irony: Agile development has too much intertia to be abandoned now.
  10. Re:Maybe it's people fleeing Oracle? by Guspaz · · Score: 5, Insightful

    We're 16 years into C# and 14 years into .NET, and they've gone from "will not sue" licensing to full blown opensource and multiplatform, with alternate GPL'd implementations if you don't like Microsoft's. How long do we need to wait before you'll move beyond blind religious zeal?

  11. Re:not quite correct by Anonymous Coward · · Score: 2, Funny

    Javascripts ability to handle objects/functions and array dynamic push/pop...

    I see you set the bar extremely high! Wow, a push AND pop.
    Functions as well? That does it. I officially declare javascript as language of the century!
    If it only had objects... Ow, it does? oooh aaah.

  12. Re:not quite correct by DrXym · · Score: 4, Interesting
    No. Javascript is a terrible teaching language. It doesn't enforce programming discipline in any way, doesn't care program structure or types, is grossly inefficient, doesn't actually DO anything by itself because it is a scripting language (the program it runs against has that functionality), and is all around just a bad language. Yes we're stuck with it because it's used by browsers and is convenient in other places like NodeJS but it's not a teaching language unless you want to turn out another generation of Visual Basic programmers.

    At the very least it would be better to teach in Typescript that addresses some of the shortcomings in JS, but then someone would moan that it's Microsoft again. But better yet, programming would be taught on a structured, forgiving, well designed standalone language. There are plenty to choose from. Scripting and other concepts would be introduced once the basics were learned.

  13. Re:Mono by Gadget_Guy · · Score: 4, Insightful

    Mono is still a patent trap

    Have you been saying that for over 12 years? That's a long time to keep calling that the sky is falling. In that time, Microsoft have made good on their promise not to sue regarding patents and Mono. They have also acquired Xamarin and then contributed the Mono Project to the .NET Foundation (the independent organisation incorporated by Microsoft to foster OSS development with .NET).

    What more can they do to shut up the nay-sayers who keep crying that the big bad wolf is going to sue us if we use Mono?

  14. Re:not quite correct by hvdh · · Score: 4, Informative

    The reality is that javascript is the universal language at the moment of 'get stuff done'.

    Only if your platform is a browser. These are the things i lately worked on, and Javascript would be of no use in any of them:
    - Embedded board doing hard realtime IO signals (100us response time) and Ethernet/IP communication on a 8bit CPU with 4KB RAM
    - Windows device driver for a special PCIe card receiving continuous 80MB/s data from an image sensor into system RAM.
    - soft real-time image sensor processing the stream data with latency below 3ms: interpolate dead pixels, normalize gain, apply 2d band stop filter
    - soft real-time image post-processing on 60MB/s stream, with latency below 20ms: illuminated area & motion detection, spatial and temporal noise reduction, multi-resolution non-linear detail enhancement processing, adjust contrast & brightness

    Above processing must run on a desktop quad-core with max 40% CPU load.
    It required manual threading and hand-written vector code (SSE intrinsics) to reach the performance.

  15. Re:not quite correct by shutdown+-p+now · · Score: 2

    It has been supported for a while now. The most recent version of F# tooling for VS also supports Core projects.

  16. Re:Microsoft is positioned for success with c# by Anonymous Coward · · Score: 4, Interesting

    http://answers.unity3d.com/questions/9675/is-unity-engine-written-in-monoc-or-c.html

    "The Unity runtime is written in C/C++. [...] The editor is built on the Unity runtime and additionally includes editor-specific C/C++ binaries."
    --AngryAnt (Emil Johansen), Ex Unity Technologies

    "Unity is written in C++, with the following exceptions: [...] There is hardly any functionality in UnityEngine.dll, the only thing it does is relay your c#/javascript calls into the C++ part of Unity. Without the C++ part there is nothing."
    --Lucas Meijer, Unity

  17. Re:Maybe it's people fleeing Oracle? by Z80a · · Score: 2

    The current team of the .net is good and smart, but if some higher up decides that "they should focus more on getting direct profits", they might get forced to revert all this and go full oracle.
    Just look at the damage they did to Windows.

  18. It's a trap by kbg · · Score: 3, Funny

    It's a trap!

  19. Re: not quite correct by Anonymous Coward · · Score: 3, Funny

    JavaScript not only has objects, it has the best buzzwords for its objects. They are duck typed with prototypes!

    Which mostly means that you can never be sure that the duck you put in your garage won't act like a bulldozer when you take it out.

  20. Re:not quite correct by BenJeremy · · Score: 2

    Did I miss something when I installed node.js on my OS? I was under the impression that javascript code I ran with that is browser-agnostic (though built on Chrome's V8 tech)

  21. Re:Maybe it's people fleeing Oracle? by johannesg · · Score: 4, Insightful

    We're 16 years into C# and 14 years into .NET, and they've gone from "will not sue" licensing to full blown opensource and multiplatform, with alternate GPL'd implementations if you don't like Microsoft's. How long do we need to wait before you'll move beyond blind religious zeal?

    You are actually ready to trust the company that gave us Windows 10, then? And that might next year very well decide that _all_ Windows applications need to go through the Windows Store?

    Windows 10 has shown us there is no limit to the level of idiocy they are willing to commit to. And if you believe your future is in good hands with them, I can only wish you good luck.

  22. How much is because of Oracle? by ilsaloving · · Score: 3, Insightful

    I'd be willing to bet that a large part of the popularity doesn't have anything to do with .Net per se, but rather because Microsoft has positioned .Net as a competitor to Java, while at the same time Oracle is hell bent on making Java as distasteful to use as possible.

    Java is second only to C/C++ in terms of platform stability. Java is, quite simply, what you use when you need to write an enterprise-level app and you don't want to be forced into the Windows ecosystem.

    But Oracle happily poisons everything they touch. They destroyed OpenOffice. They destroyed MySQL. They have ruined pretty much everything that they got from Sun, and while Java has still been able to hang on, it has been despite their best efforts. Every bit of news that has Oracle and Java in it, is almost exclusively negative, where Oracle is trying to screw someone out of money. Hell, they're even squeezing Java developers, who are the primary reason the platform is even viable.

    When .Net was open sourced, people (including me) were shouting "It's a trap!", because Microsoft doesn't seem to do anything without an ulterior motive. Sometimes it's transparent, sometimes they do the long play, but at no point is "Microsoft" and "trust" used in the same sentence. But now we're at the point where you have two options. A possible "It's a trap" scenario with Microsoft, and Oracle's "We're gonna fuck you till you're dead, and then we'll fuck the corpse."

    So yeah, when those are your options, .Net definitely becomes a whole lot more attractive.