What a mess
no wonder Windows is dying.
At its Build developer event under way in Seattle, Microsoft announced .NET Core 3.0, coming in 2019, with support for Windows desktop applications. .NET Core is the open source, cross-platform version of Microsoft’s .NET technology, allowing developers to use languages including C#, F# and Visual Basic on Windows, Mac and …
It's dying. Consumer PCs arent even a thing anymore, who even has a PC at home??? Microsoft had to give windows 10 away, and where I work (~3k employees), the move away from Windows and it's toxic nature is well underway, going towards are much simpler web based, platform agnostic solution for most of the company that can (about 5% are truly hard to migrate from Windows)
They can't even keep the version numbers consistent. Why do we have .NET framework at 4.7 and .NET core at 3.0?
We have enough problems with our users getting the right .NET framework on their PCs. Now we need to think about a similarly named library but with an old version number.
Oh, great, more wasted disk space, and what if the copy has an exploitable bug? It's just going to repeat the issues seen in Java.
There's already a "framework" deployed and kept updated, and that's Win32... still MS is obsessed with its Java clone.
"We have enough problems with our users getting the right .NET framework on their PCs. Now we need to think about a similarly named library but with an old version number."
What? In what way do you have issues with users getting the right version on their PC? That's not an issue we've had for 10+ years.
Also if you read the article .net core doesn't require the framework to be installed on the users machine as it can be deployed alond with the application.
Yeah, everybody knows that since 2002 everybody switched to Linux, Google really isn't evil and Chromebooks took over, and Apple went out of business by not charging enough. Oh yeah, also, nobody needs a large screen, keyboard and mouse any more; we can do everything on our phone.
"How long before core becomes windows only? Wasn't the whole original point of original dotnet that it could and would be cross platform?"
That hasn't changed. All they are saying is that they are offering original framework software a path to move to DotNet Core using the existing UI technology. This allows them to transition *away* from non-cross-platform to Core.
if "the Core" is windows-only, then Micro-Shaft won't be able to CRAM UWP UP OUR A DOWN OUR THROATS on Linux, Mac, and "anything else you can imagine".
Remember, it's about WORLD DOMINATION, a lock-in to THEIR tech, so they can enforce SUBSCRIPTION models. If UWP is free *NOW* it's because it hasn't been monetized... yet.
They're doing the Embrace Extend Extinguish dance, all over again. "Embrace" Linux, with SQL Server and ".Not Core". "Extend" Linux with full-blown (2D FLUGLY) UWP "CRapps", _SO_ convenient for developers! Then, when end-users are CALLOUSED to the 2D FLUGLY LIMITED UI CRAPWARE, *EXTINGUISH* the "free" part of "Free Software" by INTRODUCING A SUBSCRIPTION MODEL. You know "pay up or it won't run".
Either that, or they COERCE the world into having NO other alternatives but THEIR CRAP.
Imagine Windows 10 running with Linux underneath. Powershell instead of bash. And _YOU_ paying a MONTHLY FEE in order to USE YOUR OWN COMPUTER.
Brain Bleach? That way --> http://freebsd.org/ http://linuxmint.com/
(while we still have control over our own choices)
You WILL see windows running on linux in the short term.
Currently MS is spending hundreds of millions maintaining a full os, but you see all there other kit
MSQL, 365, is migrated to linux, but just not available for the "public" yet.
as the billions start to roll in from 365 and MSQL cloud integration they will gradually move everything to offsite, possibly keep some onsite AD+skype engines for speed.
Then all they have to do is shove some massive pipes up the ass of every user and start pumping the cash out, since everyone will be so tied it it will make 50 shades of grey look like a childs bedtime story.
ack - there are several manufacturers who build computers without pre-installing windows. Sometimes the linux-capable versions cost MORE, though.
and there are also the 'netbook' variety computers, if all you want is something with a screen and keyboard and USB for mouse [and maybe a simple touch pad] for "el cheap".
So yeah Linux is out there, but doesn't have the marketing capital being shoved at it like MS does for windows. Also Wine is pretty much "not good enough, still" to run any windows application, so people with legacy applications [or those that REQUIRE windows, shame on you devs who STILL do that] will end up paying the MS Tax, and getting stuck with "the boar that has lipstick on the non-oinky end" known as Win-10-nic.
If I had the capital, I'd complete a cross-platform toolkit that would allow developers to create both C and C++ applications that are truly cross-platform, using a reasonably low-level API [so as NOT to have a boatload of shared libraries that it depends upon]. But as it's me funding myself doing the work, I still have to pay bills and so can't devote sufficient time to get it all done fast enough. Dammit.
You already have several versions of Linux running on Windows - and installable from the Windows Store!
Rather oddly, their integration into Windows is actually pretty good. Given a full Ubuntu/SUSE edition of Linux sat inside a Windows 10 OS for gaming and mainstream apps, you have a pretty good setup.
No confusion.
The old (full fat) framework is Windows/Mono only and now a dead end.
The new (Core) framework is cross platform and builds self-contained releases.
The only change in regard to WinForms etc is to allow DotNet Core to use it in the same way as the full fat one does, allowing Windows-only software to be moved on so the full fat one can be deprecated.
What they really need is to port winforms stuff to be cross platform - then old full fat apps could be happily ported.
Even some new development on desktop will be full fat as commercial companies with deadlines will be using known tech rather than learning curve of UWP (& UWP far too limited for some seriously complex apps) or the Xamarin WPF approach
I won't miss you, you've just been a big hole in the network.
.NET All it means to me it's '.NOT' (dot not) the program won't run on my computer, as over the years more often than not I have uninstalled and hand removed it. I still get updates for it but kill off much of it with a .net remover I found years ago.
Many apps that really don't need to but do have it, have been com-piled with it into their program because they either left it and they're too lazy take it out or to get the alternative non-dot-net module that does exactly the same thing normally.
"they're too lazy take it out"
In DevStudio 2010 you have to go through and "un-check" a bunch of things (for an MFC C++ application, anyway) but [unfortunately] you STILL need a damned 'manifest' to avoid your application NOT being compatible or being treated with UAE when you don't want it to. At least, from DevStudio 2010. I don't like any of the later DevStudios as they're all oriented towards that 'UWP' crap and have 2D FLATSO user interfaces. 2010 is the LAST DevStudio I'll evar use, probably. And I'll target Win 7 if I ever have to write another winders application.
But yeah, if you jump through the hoops [there are a finite number] and turn OFF all of that "shared MFC" and "shared runtime" and "framework" and other CRAP, you can produce something that only has the windows API as a dependency. That's right, JUST AN EXECUTABLE! Amazing concept, huh?
[who needs all of those DLL HELL libraries anyway, just static link and be done with it - it'll load faster, too]
Welcome to the 21st century, where pretty much EVERY computer nowadays has GIGABYTES of RAM, and TERABYTES of hard drive storage, and if you pack around 256kbytes of "what COULD be shared libs" in every application, it's a drop in a bucket [and probably will load/run faster too].
ok someone will ask: how can it RUN FASTER? Well, if you do static link optimization tricks, you can get functions that "call each other" to be located within the same block(s) of memory, which helps to make L# cache more efficient, with a smaller code footprint in the cache, and more likely to get various CPU-driven optimizations to happen, yotta yotta. And of course, LESS PAGING ACTIVITY when the system demand is high. And did I mention it would LOAD FASTER?
This article is one of the very few technology articles ever read that is totally confusing and disjointed as regards road map and plans for Microsoft going forward.
Just yesterday thje company announced Aps for Apple iOS and Android that "supposedly" provides a "Windows-like" experience for users of those mobile devices.
Cannot Microsoft understand that they "LOST OUT" in Mobile /Social Media computing and large data center worlds and every week more and more Linux, BSD UNIX-like and other Free/Open Source Software (FOSS) is being integrated into Azure Cloud and Windows 10 desktop.
I cannot believe the reports - even from credible tech media - that Microsoft now has it's own Linux distribution.
What's Next, Windows 10 or 11 or 12 discovered running exclusively on their new Linux base?
The company is sick, and needs to see a shrink!
Why are you insulting Donald Trump that way? [I think he's the best president since Reagan, and want 6 more years with Trump at the helm - SERIOUSLY!]
A big thumbs DOWN to your post. And the topic. And the horse you rode in on.
Microsoft is more like an EVIL FASCIST COMMUNIST DICTATOR than anything else. And "they" want to micromanage YOU and your computer and everything you do online and in your life, and MONETIZE it all, because the ENDS JUSTIFY THE MEANS. That's more like OBAKA if you ask me...
MS are porting everything they have to Linux so that they can run it on Linux in Azure (and presumably the Azure fabric on-premise stuff) so everything is being moved to .Net core. In the meantime, most .Net shops are running windows so need a path off the .Net framework platform and onto .Net core over time.
you have something like Lazarus, where you can easily build Windows GUI apps... you can compile to native code on any major desktop platform. It'll even look native everywhere as it's using the native GUI components.
And unlike .net you get a statically linked executable.
"And unlike .net you get a statically linked executable."
that's something I've been (slowly) working on for a few YEARS now (for C, C++). mostly done for X11, but I keep running into things that end up requiring major re-writes of a portion of the API [like how X11 handles true type fonts vs standard X11 fonts].
But yeah, that should be the goal: to easily and rapidly develop an application that can be shipped in source or binary form and installed on any platform, with minimal dependencies. Too bad Lazarus is pascal...
Doing that sounds like a good idea, but it isn't one. The UI should always follow the native platform's way of doing things, so it's best tailored to each platform, using as much native services as possible.
But that doesn't mean you've got to write everything from scratch on each. And this is where having .Net Core as the one basic library of Xamarin*, WPF and UWP is useful...
I write everything functional (the application Models and Viewmodels) to the .Net Core APIs, and then use UWP for Windows, or Xamarin for other platforms. The UWP or Xamarin layer contains the parts of the code that need to be different to work right on each platform, plus those features that are unique to specific platforms (e.g., live-tile interaction on Windows), and interfaces to platform-specific functions (media playback, NFC, etc...). Everything else, the bit written in .Net Core, is headless control code that is exactly the same on every platform.
This makes it easy to ensure functional correctness across platforms without having to port changes across multiple codebases.
[ * strictly, Xamarin is still based on Mono, but Mono is committed to tracking .Net Core, and .Net Core is itself an open source project these days. ]
.NET Core was always going to replace .NET Framework (Originally it was going to be .NET Framework 5), but the rewrite was so ambitious that it's taken util now to support desktop apps.
Wow, are there ever a lot of hilarious comments here. It seems like there is a lot of misplaced nerd rage, interspersed with people failing to read the article.
"Wow, are there ever a lot of hilarious comments here. It seems like there is a lot of misplaced nerd rage, interspersed with people failing to read the article."
Yeah and they're all probably typing all that mis-informed open source nerdy cr*p on the fruity one's closed hardware running closed software, just because they feel trendy doing so. Lemmings? Who mentioned lemmings??