Microsoft Introduces .NET Core
187
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."
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."
Minor revision? (Score:2)
Re: (Score:2)
That's because it is a minor version bump - the main difference is in how projects consume it.
Re:Minor revision? (Score:5, Funny)
They used up all of their version increments when they went from Windows 8.1 to 10.
Re:Minor revision? (Score:5, 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).
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... [microsoft.com]
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.
Re: (Score:2)
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.
That's not just confusing, it's unacceptable. .NET 3.5 will still run all former versions' applications, at least, the ones I've tried... since it keeps the old runtimes around.
Re: (Score:2)
That is not quite right, either. .NET 1.x was a separate runtime; installing 2.0 does not install 1.1, you have to install it separately.
2.0 will not run 1.x applications, unless you override their target runtime in the manifest.
Re: (Score:2)
Boy, it's a good thing Linux avoids this kinda bullshit entirely!
Now, which Python distribution did I need to install for this app versus that app again....?
Re: (Score:2)
Most likely a really old one. New Pythons have been coming out for a long time, but nobody uses them.
Re: (Score:2)
That has not been my experience, based on user-reported bugs for the Python IDE that I'm working on. 2.x is still more popular in production, but 3.x is growing steadily.
Re: (Score:2)
6 years since release, and the nicest thing that can be said for it is that it's growing steadily.
Re: (Score:2)
Sure. Given the usual inertia when going against something very entrenched, this is always how it is going for a new contender. But so long as it is actually meaningfully growing, time will inevitably come when it overtakes.
The big part to it was the libraries. It took a long time for all the big players to embrace 3.x, but this is the case now - Django, scipy stack etc are all here now. So, when starting a new project, there's pretty much no reason to go 2.x anymore. This hasn't been true even two years ag
Re: (Score:2)
You apt-get install the app, and it'll install the requisite Python version automatically as a dependency. And all Linux distros that I've seen handle 2.x and 3.x installed side by side just fine, as well.
Re: (Score:2)
Re: (Score:3)
.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.
Re: (Score:2)
.NET Core will now use semantic versioning [semver.org]. I'm not sure if .NET Framework will do the same... I don't know of anything planned for 4.6 that violates the rules of semantic versioning.
The overall synchronized release of .NET will now be labeled by year, e.g. ".NET 2015".
Re: (Score:2)
They mentioned the .Net Core is already used in ASP.NET 5 and .Net Native but yeah... it still sounds like a major version change. I wander if they are thinking extending .Net to Mac OS, Linux, IOS, and Android this way is going to allow them to eventually replace java.
Re:Minor revision? (Score:4, Insightful)
Re: (Score:2)
Java is still in a first major version.
Latest release is 1.8.0_xxx
Sort of. They've kept the internal version numbering like 1.8.x, but the public name since 1.5 has been "Java 5" and counting.
Re: (Score:2)
... which isn't confusing at all, right?
Re: (Score:2)
Re: (Score:2)
First.... (Score:2)
First they ignore you, then they laugh at you, then they fight you, then you win.
Took long enough. So long that "winning" no longer matters.
Re: (Score:3)
Re: (Score:2)
iPad/Surface
Ihe rest are fine but that is more than a little unfair.
Ms have been beating on tablets for years. In 2005 the HP-Compaq TC1100 was almost the flagship for Windows XP tablet edition (it was a fantastic machine, ran Linux amazingly well and I still wish I had one, but faster). In fact if you read the insane iPad patent carefully, you'll see that because it only includes the exterior case and anything away from the edge is "just for illustrative purposes" and not normative in the patent, the TC110
Re: (Score:2)
What you describe is the implementation details. The end result is that Microsoft is jumping onto the F/OSS bandwagon, which was long overdue. So yes, it's definitely a win for F/OSS - finally the last major OS and development tools maker is fully acknowledging that the model is not only valid, but preferred, at least for some types of applications.
That it is also a win for Microsoft is orthogonal to all that.
Death knoll for Java (Score:3, 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...
Re: (Score:3)
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.
Re: (Score:3)
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.
Re: (Score:2)
LINQ, or the Enumerable extension methods? Results (can be) similar, language is very different.
The enumerable extension methods plus lambdas is more similar to Java's stream API, but only an insane person would prefer Java's implementation. As for LINQ (the DSL for working with the same methods), it's FAR less common. I rarely see it in practice, and I don't generally prefer it.
Re: (Score:2)
I honestly wasn't aware of the Enumerable extension methods. I haven't used C# is quite awhile, so I haven't kept up with my C# knowledge. I was comparing the DSL style to streams. Looking at the article the AC posted above, it looks like the enumerable extension methods and streams would be a fairer comparison. In which case, they look very similar.
Re: (Score:2)
LINQ the DSL was the big news when it was released, but in the real world, it has gotten very little traction. The Enumerable extension methods that are the plumbing behind it, however (after all, the DSL simply gets translated into calls to this stuff by the compiler), are quite common.
Re: (Score:2)
Thanks for the article. It's been awhile since I've had the opportunity to work with C#. To be fair, when I worked with LINQ last time it was brand new and I was less experienced of a developer. Looking at it today, it looks very similar to Java 8's streams except with the benefit of C# having extension methods and being a bit more mature.
Re: (Score:3)
So, this is the hill which Java chose to die on? <ducks and runs>
Re: (Score:2)
I have to work with Java after a long while, and it is just... Suffocating. Archaic. Kludgey.
Have you actually worked with C# much? It's basically the same as Java.......
Re: (Score:2)
Re: (Score:2)
Haters gonna hate (Score:4, 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.
Re: (Score:3)
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
Re: (Score:2)
Microsoft may seem somewhat benign these days,
u wot m8?
Benign?
They forced their dreadful, but patent encumbered exFAT filesystem right into the SD card spec. Never mind that it means that one has to pay royalties for a bad filesystem where the standard, royalty free and already implemented everywhere UDF wold have been a better choice.
In fact a compliant SD card controller won't even nexessarily allow raw block access to the device unless it's exFAT formatted. So you can't even put a better filesystem on
Re:Haters gonna hate (Score:5, 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.
Re:Haters gonna hate (Score:4, 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. ;)
Re: (Score:2)
Good to know you bother installing those monthly security patches. What was your IP again? :P
Re: (Score:2)
I realize you're just a trolling AC, but I'm biting. Try looking up what "backward compatibility" actually means, then post again.
Re:Haters gonna hate (Score:4, 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.
Re: (Score:2)
Speaking of "Windows Azure" - it's not that anymore, the "Windows" bit is gone. It's now just "Microsoft Azure".
Which should also tell you something.
Slashdot wins, dammit! (Score:2)
Maybe it isn't everything you could hope for, but it is a huge concession to the idea that the Slashdot crowd set out in favor of so long ago. Proprietary software steadily lost ground on the merits and now MS has to release code for many aspects of their whole ecosystem. You can all tip a wine glass and scrub your monocles, it is Progress.
Re: (Score:2)
Why would I write to that, when anything it can do, can also be done by non-Microsoft controlled APIs, that are portable to more than just the three platforms they list?
Mono is available on more platforms that those listed, so they will presumably do the same for .NET Core. From Wikipedia [wikipedia.org]:
Mono can be run on many software systems including Android, most Linux distributions, BSD, OS X, Windows, Solaris, and even some game consoles such as PlayStation 3, Wii, and Xbox 360.
It also later list iOS as a targeted platform (I don't know why the summary didn't mention it).
Re:why would I write to that? (Score:5, 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...
Re:why would I write to that? (Score:4, 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.
Re: (Score:2)
I think you misunderstand how embrace, extend, extinguish works.
http://en.wikipedia.org/wiki/E... [wikipedia.org]
Extend provides them with the platform lock-in, extinguish is only when extend has provided them enough market share that by being a de facto standard, they can steer the tech as they wish. They can let it languish. Or provide cosmetic updates, or add more platform lock-in.
Note that this framework is called "core" -- a perfectly normal name in most situations, but interesting when looked at from the perspectiv
Re: (Score:2)
So given that there's specifically no OS lock-in here (runs everywhere), and it's impossible to lock into .NET itself once it's open source (anyone can just fork it and go their own way), how exactly do you expect EEE to work?
Re: (Score:3)
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
Re: (Score:2)
Like this: http://en.wikipedia.org/wiki/F... [wikipedia.org] ?
I hope you realize it is not FUD to bring up a company's own former strategy (EEE) and own past bad behavior.
Re: (Score:2)
Microsoft has not open sourced .NET. They have open sourced a subset which is not quite enough to do anything meaningful. To write an actual application, you have to use libraries that are not part of .NET Core.
The open sourcing process is not complete yet, but the stated goal is to open source the complete server stack - i.e. everything that is needed to run an ASP.NET vNext application. It's kinda messy in that it's spread across several GitHub repos right now, but look at this [github.com] and this [github.com].
Re: (Score:2, Interesting)
Re: (Score:2, Troll)
Why should I have to use a third party library to get decent date support?
Hey now, a Java Calendar object is roughly half a kilobyte (really), surely there must be some useful functionality in there somewhere! Right? Well, I can't parse a string into a date using Calendar, I can't add any sort of "duration" object to a Calendar, though I can do "add(Calendar.DAY_OF_MONTH, -5)", so there's that.
Java doesn't support List, doesn't have a in-built String.IsNullOrEmpty, doesn't have C#'s wonderful "??" operato
Re: (Score:2)
Gah, Slashcode accidentally half my post at least I should fix:
*Java doesn't support List<int>
Re: (Score:2)
I'd complain more about Java generics being an illusion to begin with, which is annoying but not the end of the Earth. Considering that all generics were overlayed the java 'Object' typing model of which runtime/language primitives like int/float/etc.. are not a part of, it isn't surprising that primitives were left out of the generics system as well.
isNullOrEmpty is a trivial single-line method, which is generally why nobody who develops in java cares about this or any other nit picking problems. Why not b
Re:why would I write to that? (Score:4, Insightful)
Useful syntax sugar is the only difference between any two Turing-complete languages.
Re: (Score:2)
Re: (Score:2)
And now you can have nulls anywhere in your list, so you really should check for those. Even more fun with Maps, where null means "either we didn't find it, or it was null, guess which!".
Re: (Score:3)
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.
Re: (Score:3)
Re:why would I write to that? (Score:4, 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.
Re:why would I write to that? (Score:5, 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 [nodatime.org], 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.
Re: (Score:2)
TimeZoneInfo.ConvertTimeToUtc( local ) and ConvertTimeFromUtc( utcDate, TimeZoneInfo.Local ) seem to do the trick, introduced in the framework in .Net 3.5. And you can use a stock name from GetSystemTimeZones to convert to any standard time zone, or roll your own with CreateCustomTimeZone
And more importantly they are all backward compatible for dates before 2007 when the US congress mucked with the daylight saving rules.
Re: (Score:2)
Merely needing to convert time zones is a trivial requirement. Work with them any other way and it's a nightmare. My first exposure to it was when implementing a crontab-like scheduling software, which on proper implementations has defined behavior to not fall on its face when daylight savings time wreaks havoc on the world. I couldn't find a way to do this reliably in .NET, but Noda made it possible.
Don't take my word on why Noda should be used though... read from it's blog [nodatime.org] for plenty of examples for why t
Re:why would I write to that? (Score:4, 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.
Re: (Score:2)
Well, DateTimeOffset isn't a class to start with - it's a struct. But it's still not the panacea some people seem to think it is. There are plenty of situations where what you want *isn't* a DateTImeOffset. Its inclusion was definitely an *improvement* on the state of the date/time API in .NET (as was TimeZoneInfo, for sure) - but that doesn't mean it brings it up to a decent state, IMO.
Re: (Score:2)
They're not too bad if you have only the U.S. to deal with, but throw awareness of time zones worldwide into the code and it becomes a mess quickly because of all of the 30 minute, 45 minute, etc. changes. I had to write a separate date library for an airline reservations system many years ago simply because the stock C++ libraries wouldn't deal properly with Australian time zones. Maybe that's changed since then.
Re: (Score:3)
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.
Re: (Score:2)
Indeed. The annals of The Daily WTF are littered with tales of those who decided to hand-roll their own date class.
Re: (Score:2)
FYI Java 8 includes a new date [oracle.com] library, so that problem is fixed.
Re:why would I write to that? (Score:5, Insightful)
"There is no large scale .NET app I know of"
Ever heard of stackexchange?
Re: (Score:2)
How does the fact that the author used a language he knew invalidate the language being successfully used on a large and busy site?
Do you advocate that all projects be written in a language completely new to the authors, to avoid 'bias?'
Re: (Score:2)
There is no large scale .NET app I know of
Microsoft Exchange is written in C#.
Re: (Score:2)
This is an enterprise level, SaaS-ready BI stack that includes in-memory analytics and able to connect to over 20 data providers (OLAP, SQL, Excel, Access, SAP, GA, etc.) written in ASP.NET with a HTML5 + JS front end: Dundas BI [dundas.com].
You don't know what you're talking about.
Re: (Score:2)
Aye! This scotsman [wikipedia.org] agrees.
Re: (Score:2)
Admittedly, I don't know who Bennet Hasselhoof is. I guess I haven't been paying attention. ?
Re: (Score:2)
.NET source is freely available. If that's the standard we are measuring by.
Here's the entire web stack for example:
https://github.com/ASP-NET-MVC... [github.com]
Compiler is open source to, and they are putting the BCL into an open source license as well (source code has been available, but under a non-open license previously for few years).
Bennet is this guy who writes lengthy rambling opinion pieces that slashdot repeatedly posts every week or so and despite a large outcry of how ridiculous that it is that he gets to
Re: (Score:3)
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. O
Re: (Score:2)
I feel you're ignoring Mono, which exists and generally works. Microsoft doesn't have total control of all implementations.
Re: (Score:2)
What's the license?
As stated on the Microsoft GitHub [github.com] page, they use MIT or Apache 2 licenses for most of their projects.
Re: (Score:2)
What's the license?
Uh it's right there, in the link under the aptly named "License.txt".
Copyright (c) Microsoft Open Technologies, Inc. All rights reserved. Microsoft Open Technologies would like to thank its contributors, a list of whom are at http://aspnetwebstack.codeplex... [codeplex.com].
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or
Re: (Score:2)
To what does that license refer?
Sorry, but when I checked the article I didn't see anything about the release of .NET core under any particular license. There was a link to GitHub where they had released some libraries, to which I presume your response applies, though I'm not sure. (Yes, I could have checked that, but I didn't, and don't intend to unless it becomes important. It's basically irrelevant unless I adopt the approach, and if I do I'll probably get the code from a standard system repository.
Re: (Score:2)
The link to the repo was NOT reported as being the link to .NET Core, but to a set of libraries that could be used with it. This makes it irrelevant unless I decide to use Mono.
Re: (Score:2)
What's in it for you is C# is a very good language.
I wouldn't agree. There's a lot of things in the C# and C++/CLI (aka Managed C++) world that are just ass-backwards. If I wanted the advantage of what the .NET CLR gives me - supposed platform independences - then I'd write Java.
As it is, I don't write Java b/c Java is a major PITA with no advantages over C++ or Python.
.NET CLR/C#/etc is that it is heavily optimized for the Windows environments so its gets a boost that other frameworks (e.g Java) cannot take advantage of. But that, aga
Only advantage of
Re: (Score:2)
I can name alot [blogspot.ca] too.
Re: (Score:2)
Re: (Score:2)
I think AC is trying to say they dislike both Java and .Net because of lock-in.
But if everything's Open Source, you're just as free to fork Java or .Net as, say, Ruby on Rails. (Well, assuming you don't infringe trademarks... and ignoring copyright/patent lawsuits...)
Re: (Score:2)
Re: (Score:2)
Re: (Score:3)
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.
Re:why would I write to that? (Score:4, 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.
Re: (Score:2)
If C# becomes easy to run on those platforms
You could run it on those platforms for years through mono and Xamarin.
Re: (Score:2)
NETMF runs on microcontrollers, has for years. Has been Apache licensed for years.
Re: (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.
And yet there's one platform that is notably missing from the list of ones supported by Java: iOS. And that one is kinda a biggie lately.
Re:/. GETS HACKED (READ LINK INSIDE) (Score:5, 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.
Re: (Score:2)
Oracle's proprietary binaries are still the most common way of installing Java on operating systems without a package manager.
Red Hat were planning on contributing resources to the Windows port, iirc.
Re: (Score:2)