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."

16 of 187 comments (clear)

  1. 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

  2. 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.

  3. 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
  4. 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
  5. 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.
  6. 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 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."
    2. 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. ;)

    3. 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.

  7. 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?

  8. 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.

  9. 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.

  10. 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.
  11. 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.

  12. 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.
  13. 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.