Slashdot Mirror


Microsoft Introduces .NET Core

New submitter I will be back writes: Microsoft's Immo Landwerth has provided more details on the open source .NET Core. Taking a page from the Mono cookbook, .NET Core was built to be modular with unified Base Class Library (BCL), so you can install only the necessary packages for Core and ship it with applications using NuGet. Thus, NuGet becomes a first-class citizen and the default tool to deliver .NET Core packages.

As a smaller and cross-platform subset of the .NET Framework, it will have its own update schedule, updating multiple times a year, while .NET will be updated once a year. At the release of .NET 4.6, Core will be a clear subset of the .NET Framework. With future iterations it will be ahead of the .NET Framework. "The .NET Core platform is a new .NET stack that is optimized for open source development and agile delivery on NuGet. We're working with the Mono community to make it great on Windows, Linux and Mac, and Microsoft will support it on all three platforms."

30 of 187 comments (clear)

  1. Re:why would I write to that? by CastrTroy · · Score: 2, Interesting

    I write web applications in .Net, and as far as I'm concerned, nothing else I've see comes close for large projects. There was a bunch of hype about Ruby, so I tried that. For anything beyond basic CRUD applications, it was quite painful to use. The .Net API has amazing amounts of built in functionality. I can't think of any language that comes close. It amazes me how people write stuff in Java without having a decent "Date" data type. Why should I have to use a third party library to get decent date support?

    --

    Anthropic principle: We see the universe the way it is because if it were different we would not be here to see it.
  2. Re:why would I write to that? by MightyMartian · · Score: 2

    Whatever the merits of the .NET API, the fact is that if you want maximum number of platforms, even after this project reaches fruition, supported platforms will still be a fraction of Java's.

    Java has no lack of flaws, but it's out there and has been for fifteen years now, and is the bedrock of some very large open source and proprietary solutions.

    --
    The world's burning. Moped Jesus spotted on I50. Details at 11.
  3. Re:Minor revision? by I+will+be+back · · Score: 4, Insightful

    Java is still in a first major version. Latest release is 1.8.0_xxx

  4. Re:Minor revision? by Njorthbiatr · · Score: 4, Funny

    They used up all of their version increments when they went from Windows 8.1 to 10.

  5. Re:why would I write to that? by FatdogHaiku · · Score: 4, Funny

    Once burned, twice shy. Sorry MS, your time is past.

    But, they now embrace open source!
    Let us all extend them common courtesy...
    We don't want to extinguish the good will they are now showing...

    --
    You have the right to remain sentient. If you give up the right to remain sentient, you will be elected to public office
  6. Re:Minor revision? by gregmac · · Score: 4, Interesting

    .NET Framework is really two parts: the "built in libraries" and the CLR (common language runtime). When you install a Framework version, it installs only the CLR version it depends on, and not earlier ones (at least this is true at time of writing).

    .NET Framework 1.0 runs on CLR 1.0, and .NET Framework 2.0 runs on CLR 2.0. Okay, this makes sense and is easy to follow.

    Where it gets confusing is .NET Framework 3.0 and 3.5 -- both still run on CLR 2.0.

    .NET Framework 4.0, 4.5, and 4.5.1 runs on CLR 4 (they actually just call it "4", not "4.0").

    Source: http://msdn.microsoft.com/en-u...

    What's makes this stupidly confusing is the compatibility: If you have .NET 3.5 installed, you can run a 2.0 application. If you have .NET 4.5 installed, you can run a 4.0 application, but you can't run a 3.5 application.

    IMHO, if they had just used 2.1 and 2.2 instead of 3.0 and 3.5, this could be much less confusing: .NET 4 apps run on .NET 4, and .NET 2 apps would run on .NET 2. Maybe they're doing this from now on, but the fact that 3.x is really 2.0 has screwed this up. I also don't get why they skip to .5 but that's far less of an issue.

    That said, this is the company that thinks 95+1 = 98, Vista+1 = 7, and 8+1 = 10.

    --
    Speak before you think
  7. Re:Minor revision? by PhrostyMcByte · · Score: 2

    .NET Core is the redesign.

    .NET Framework (the full big monolithic install like we've got now) remains backwards-compatible and so 4.6 is appropriate.

  8. Re:why would I write to that? by lgw · · Score: 3, Interesting

    I'd say the only platforms that really matter when languages like Java or C# are on the table are "Linux servers", "Windows servers", "Android phones", and "iPhones" (and tablets similar to the phones). If C# becomes easy to run on those platforms (which is clearly MS's plan, but we'll see) there's just no reason not to use it.

    C# development is worlds easier than Java. If I can write for Linux servers with it easily, it will be my first choice for professional development. If I can easily write C# code that runs both on MS desktops and Android mobile, it will be my first choice for personal development. I wish MS the best of luck here, but they really need to hit this one out of the park - a half-assed effort isn't going to cut it.

    --
    Socialism: a lie told by totalitarians and believed by fools.
  9. Death knoll for Java by Urkki · · Score: 2, Insightful

    I have to work with Java after a long while, and it is just... Suffocating. Archaic. Kludgey. Oracle. Ask! toolbar. trWTF.

    C#, please come and rescue us! F#, deliver us from evil! MS has a chance to do some real good on the backend/server side landscape here. Let's hope they'll somehow manage to not screw it up!

    I don't wish for Java to disappear or fail, mind you, I just wish I don't need to work with it in future...

    1. Re:Death knoll for Java by bondsbw · · Score: 2

      I am definitely in the .NET camp. But if you are interested in functional programming and you have to work in the JVM, you might want to consider switching to Scala. It's pretty good stuff.

      --
      All my liberal friends think I'm a conservative, all my conservative friends think I'm a liberal.
    2. Re:Death knoll for Java by gameboyhippo · · Score: 2

      Migrate to Java 8. I think that both languages are excellent, but I must say that Java 8's "stream" API is much easier to understand and work with than LINQ.

    3. Re:Death knoll for Java by Opyros · · Score: 2

      Death knoll for Java

      So, this is the hill which Java chose to die on? <ducks and runs>

  10. Haters gonna hate by MobyDisk · · Score: 3, Interesting

    Those who have decided MS is eternally evil will never accept .NET. But you gotta admit that Microsoft is doing this right. This isn't the Gates / Balmer company any more. It seems that Microsoft realized that the Wintel & MS Office monopolies are dead, and that the bazaar is defeating the cathedral.

    Their new hope is Azure. All this open-sourcing of .NET is to entice people to use .NET and thus use Windows Azure. By eliminating the stigma of being closed and proprietary, they eliminate the #1 objection to using .NET. Note that this door is open both ways: not only is .NET opening, but Azure is supporting other stacks: node and LAMP for example. They don't care what tools you use anymore, they just want your hosting business.

    1. Re:Haters gonna hate by Anrego · · Score: 2

      Yup.

      I personally don't think I'll ever trust Microsoft as a company. Microsoft may seem somewhat benign these days, but they did some pretty damn evil stuff back in their day. The spirit of Microsoft past, which left a trail of corpses behind it back in the 90s and early 00s and put things in place to bolster their business which still cause grief to this very day is still in there. To them anti competitive practices were practically a religion, and just about everything they did had an end goal of crushing someone or at least locking future competitors out.

      It's pretty much impossible for me to read a Microsoft announcement and not immediately assume malicious intent. I suspect I'm not the only one either.

    2. Re:Haters gonna hate by phantomfive · · Score: 4, Funny

      Windows changes too much and too often for any real long term use.

      Stability is the reason Windows is the #1 platform right now.

      --
      "First they came for the slanderers and i said nothing."
    3. Re:Haters gonna hate by ilsaloving · · Score: 3, Insightful

      I don't think stability is the word you mean. Backward compatibility. Microsoft really did bend over backwards to make sure old stuff would still run on newer versions of OS, even when it was to Microsoft's detriment.

      Stability, however, is exactly the word I *wouldn't* use for Windows. ;)

    4. Re:Haters gonna hate by gronofer · · Score: 3, Informative

      Never say never. But how about they stop extorting royalties from software patents first? That's pure evil by many programmers' standards. I'd also like to be clear that they are no longer in the business of inventing "standards" that are intended to make their own products incompatible with anything else. I see that their office software still doesn't use the Open Document format by default.

  11. Re:why would I write to that? by AaronLS · · Score: 4, Insightful

    "There is no large scale .NET app I know of"

    Ever heard of stackexchange?

  12. Re:why would I write to that? by gameboyhippo · · Score: 3, Informative

    It amazes me how people write stuff in Java without having a decent "Date" data type. Why should I have to use a third party library to get decent date support?

    Java 8 introduced a new date time API. Admittedly I haven't used it as all of my code uses the old API. As far as the old API, one would use a Calendar when they are working with social dates and times and use a Date when working with an exact point in time. It isn't difficult.

  13. Re:why would I write to that? by PhrostyMcByte · · Score: 4, Insightful

    Why should I have to use a third party library to get decent date support?

    I've questioned that myself while working in .NET. Ever needed to write time zone aware code?

    Date libraries, as it turns out, are rather monstrously difficult to make. While .NET did a great job for the common stuff, uncommon things can be painful, error prone, or impossible.

    The fullest solution I've found so far is Noda Time, which is actually based on the Joda-Time Java library. It feels out of place with a number of Javaisms still in it, but it provides a much richer functionality and better separation of concerns.

  14. Re:why would I write to that? by bondsbw · · Score: 3, Insightful

    A point of open source is to remove the ability to "extinguish". Microsoft doesn't want it any more? Who cares what they think, the community will decide if it lives or dies.

    --
    All my liberal friends think I'm a conservative, all my conservative friends think I'm a liberal.
  15. Re:why would I write to that? by phantomfive · · Score: 2

    Java to pick up all of the bells and whistles (nor do I think it should).

    Absolutely not. Java has a niche among semi-competent developers, preventing them from making a huge mess of things, and it serves that niche well. Adding bells and whistles ruins that niche.

    --
    "First they came for the slanderers and i said nothing."
  16. Re:why would I write to that? by Kielistic · · Score: 2

    Contrasted with Java which is a kitchen sink language also but has a whole in it to helpfully keep it from filling up with usefulness.

  17. Re:why would I write to that? by HiThere · · Score: 2

    What's the license?

    Sorry, eventually I may consider .NET, now that it's officially been opened, but I'll need to see how the community development goes. If nobody but MS can touch it, I won't trust it.

    FWIW, even though Java is mainly FOSS licensed, I don't trust it, and that's BECAUSE Oracle is such a bastard. Suing over API interface identity? Sorry, but how can I trust you? I know they lost the suit (at one level...did they appeal?), but that they would even consider it makes me dubious about them. OTOH, the GPL is pretty strong, so I still feel reasonably comfortable with the parts of Java that are covered by the GPL. But if I were to publish I'd generate the documentation with Doxygen rather than javadoc.

    As for .NET ... I'll wait and see how it develops. In some ways C# looks interresting, but nothing dramatic, and I don't develop for the web, so... What's in it for me?

    --

    I think we've pushed this "anyone can grow up to be president" thing too far.
  18. Re:First.... by hairyfeet · · Score: 2

    DaFuq? Its not about FOSS "winning" anything, its about getting a new CEO that doesn't think its 1995 and understands that no everything is better with a WinFlag.

    You look at Balmer's entire reign and it was all about making a copy of EVERYTHING that was even slightly popular and planting a WinFlag on it. Java popular? MS Java and when that got knocked down .NET. Flash Popular? Silverlight. Hey Apple got a hit with iPod? Buy the rights to the Beat and stick a WinFlag on it and call it Zune. iPad/Surface, Playstation/Xbox, it was all about sticking WinFlags even when it made no fucking sense.

    Nadella seems to be the polar opposite, he seems more concerned with...get ready, its a shocker...making products that people actually want to buy! he also seems to get that you don't make money off of languages by sticking WinFlags but by selling support and since FOSS is pretty much designed around the support model? It just makes sense to use it in this case.

    --
    ACs don't waste your time replying, your posts are never seen by me.
  19. Re:/. GETS HACKED (READ LINK INSIDE) by sexconker · · Score: 4, Informative

    Some identity providers (the "Log in with Twitter" bullshit) stupidly allowed people to authenticate with accounts that had unverified emails.
      1: Create Twitter account with victim's email address.
      2: Use "Log in with Twitter" bullshit on site.
      3: Be granted access despite the email address associated with the Twitter account never being verified.

    Some sites stupidly used the associated email address of the "Log in with Twitter" bullshit to match against existing users.
      4: On such a site, you are granted access as the user with the email address you used in step 1.

    There are three approaches to fixing this:
    3: Twitter, Facebook, etc. should not provide identity services for accounts with unverified emails.
    2: Sites should not trust (or even look at) the email address provided by an identity provider.
    1: Site should simply NOT use this "Log in with Twitter" bullshit.

  20. Re:why would I write to that? by lgw · · Score: 3, Insightful

    Useful syntax sugar is the only difference between any two Turing-complete languages.

    --
    Socialism: a lie told by totalitarians and believed by fools.
  21. Re:why would I write to that? by Westley · · Score: 2

    Glad you've liked Noda Time - but if you could drop a line to the mailing list or raise an issue for any "Java-isms" you've found, I'd be grateful. I've tried to make it as idiomatic to .NET as I can, other than where doing so would be harmful.

  22. Re:why would I write to that? by Westley · · Score: 3, Informative

    "It either works or it doesn't" - or it works for all but one or two hours of the year, around a time zone transition. Or it works so long as you're in a time zone which doesn't skip 00:00 when it transitions forward by an hour. Or it works so long as you're not in time zone which skipped a whole day once. How sure are you that all your code works in all of those conditions? How *clear* is your code in terms of which values are meant to be local, which are meant to be in UTC, and which are meant to be local in some other time zone?

    You say that date manipulation in .NET is really not hard - but I've seen an *awful* lot of subtly-broken code using DateTime, and even correct code isn't always *obviously* correct, mainly because `DateTime` doesn't represent one single concept.

    I looked at the .NET DateTime functionality *very* hard before deciding to write Noda TIme - and now, 5 years later, I'm still convinced that it was the right thing to do.

  23. Re:why would I write to that? by beakerMeep · · Score: 2

    You're talking about the embrace step. Certainly there should not be any OS lock-in there. That would be by design (assuming the worst of EEE for argument's sake). Platform lock-in comes with platform specific extensions, features, APIs, and libraries beyond the core. A very nefarious thing to do would be to introduce subtle bugs in other platform versions of the core or extensions. But that would be ridiculously hard to prove and I use it mostly just to dramatize how EEE could work.

    I'm not saying MS is doing this, I am saying they should be watched with a very skeptical eye. Again... "be wary of your 'extended' dependencies".

    --
    meep