9 ms·
.NET Core 3.0 was major achievement for Microsoft and I like the air surrounding the project and some around it like Visual Studio Code and Windows Subsystem fo
by jug 7y ago
.NET Core 3.0 was major achievement for Microsoft and I like the air surrounding the project and some around it like Visual Studio Code and Windows Subsystem for Linux.
The teams working for Windows development are overall on a roll these days and it's both sad and a little mysterious how Windows 10 is still struggling with QA issues, decisions like dismantling their internal testing teams, dual control panels and inconsistent design.
I've heard Windows devs speaking up off the record that it is hell to work on with so much boilerplate and ceremony both in practice and politics and with few understanding all the ins and outs of building for their Windows 10 desktop, many restorting to copy & pasting because "it's just supposed to be like that". That makes it a little easier to understand why their aforementioned old control panel is still around even after five years of work on a new one.
I wish they could somehow restructure and streamline and come back to also be able to share the excitement like the .NET Core team are doing right now. Maybe if Windows 10X is a success? Maybe Windows is indeed just getting too big for its own good and the Win32 apps are best just put into one fat virtualized environment for backwards compatibility, like in that upcoming evolution of Windows.
Then write the Windows user land in .NET Core.
- donedealomg 7y agoThere are rumors that the WindowsNT kernel will be replaced in the future with a Linux Kernel with a Windows Desktop code on top of it. Can't wait for it. I know 2020 is going to be the year of the Linux Desktop... but....
- mtgx 7y agoNadella has made it pretty clear, whether explicitly or implicitly, that Windows is a dead-end product for them. You could've also deduced this from how they selected their CEOs (cloud guy vs product/software guy or even a sales guy like Ballmer was). When you've already decided a product is a dead-end, you ignore it and don't spend as much in Q&A. You also try to squeeze your customers for all of their worth, even if that pisses them increasingly more, because you know the product has no future anyway so might as well maximize the revenue at all costs - which is also what Nadella has been doing with all the Windows 10 tracking.
- pjmlp 7y agoWindows userland is being rewritten in COM since Vista, as the Windows team picked up the Longhorn ideas and used them in COM after winning the WinDev vs DevTools politics, I doubt they will change route. The best we can hope for is that with the new AOT/JIT infrastructure, it gets more equal footing with C++/WinRT in platform APIs. After all, it has won the UI, MFC is legacy and XAML/C++ doesn't have much uptake as most companies rather do C++/COM and then consume them from .NET for the UI part.
- zaphirplane 7y agoHey for people that don’t follow windows internals and politics closely, what did the devTools champion ? What are the longhorn ideas that are getting into windows ?
- pjmlp 7y agoLong story short, that you kind have to assemble from blog posts, forum comments, between the lines articles and so on. Longhorn was to be built on top of .NET and there were lots of issues, regarding performance, stability and what not. Apparently it was more a thing of WinDev (owner of Windows and C++) and DevTools (owner of VS and .NET) each pulling to their side instead of collaborating. As proven later by Singularity and Midori it was an achievable goal, when everyone on the team believes on the end goal. Instead Sinofsky team took over, several ideas were dropped, others were reborn in .NET 3.x like WPF, and Vista came to be. Many of the .NET (Longhorn) libraries reappeared in Vista and Windows 7 as COM libraries. See Project Hilo sample, https://blogs.msdn.microsoft.com/jasonz/2010/06/06/project-hilo-a-complete-c-windows-7-sample-application/ https://blogs.msdn.microsoft.com/jasonz/2010/06/06/project-h... Later WinRT was born, which is an improvement over COM, using IInspectable alongside IUnknown, and .NET Metadata instead of the old COM type libraries. Curiously similar in concept to Ext-VOS, which was in the genesis of .NET, before CLR came to be. https://blogs.msdn.microsoft.com/dsyme/2012/07/05/more-c-net-generics-research-project-history-the-msr-white-paper-from-mid-1999/ https://blogs.msdn.microsoft.com/dsyme/2012/07/05/more-c-net... So WinRT (Win 8.0), eventually became UAP (Win 8.1) and now it is UWP (Win 10). Contrary to many Windows 10 haters belive, UWP isn't tied to the store and each Windows 10 release brings more Win32 "legacy" APIs into UWP. The next generation COM based runtime with interoperability across C++, .NET, JavaScript, Delphi and every other language capable of understanding COM projections. Ah, and thanks to the contributions initially started by Kenny Kerr, which ended up joining the Windows team, the C++/CX language extensions got replaced by C++/WinRT a C++17 framework for UWP.
- gnud 7y agoI love it every time I get the 'old' control panel. It means I know where the switches are, and more importantly, what they do. The new UIs change with every minor update. Layout, labels and semantics. It's truly horrible. Please don't encourage Microsoft to mess it up even more.
- jug 7y agoYes, if things keep changing around or is hard to find, that's annoying but I see this as a separate problem from a bad pace and inconsistency. Nothing here in particular hinders good and well researched design.
- y4mi 7y agoI could find stuff in the old panel without knowing where it is. I can't in the new one. Either because the options are missing entirely or because they're too well hidden. My biggest gripe is not being able to directly open the old settings... Always having to open "control panel" and then clicking on the correct category gets old fast, but is nonetheless more effective than fruitlessly searching in the new panels until I give up.
- pantalaimon 7y agoNot to mention that the 'old' control panel has a lot more options!
- simonh 7y ago>It means I know where the switches are, and more importantly, what they do Or even more importantly than that, that they even exist in there somewhere.
- AndrewDavis 7y agoMy goodness. Recently I went to play a game on my laptop, something i don't normally do. I'm not even normally a windows user. It has this 'feature' where if a key is pressed then it disables all mouse clicks for X number of seconds. This is to prevent a forearm from tap to clicking on the touchpad while typing. Absolutely makes sense. Only... I had a mouse plugged in. It disabled a physical USB mouse from clicking after a keypress. Even after disabling the touchpad entirely it continued this behaviour. After some Googling there should have been a switch in the modern Windows 10 style mouse config. But it wasn't there. More Googling, "go edit this registry key" but i didn't have that registry key. More Googling, the registry key depends on your touchpad driver. More Googling finally found a way to disable it globally with regedit. #1 Why was the switch not available in the mouse settings #2 Why was it applied to a usb mouse #3 Why did the registry key differ depending on mousepad driver. Just a nightmare.
- dvfjsdhgfv 7y agoI can sum up the situation with two sentences: I hate writing Win32 apps, but I love using them. I love writing .NET apps but I hate using them. The problem with Win32 apps is that although they look ugly, in general they're blazing fast and work basically everywhere. The problem with .NET apps is although they're aesthetically pleasing, they require the relevant version of the framework to be installed. I remember fighting with installing a .NET-based driver installer that insisted on installing an ancient version of .NET that Windows wouldn't allow to install. Win32 support is still universal.
- platz 7y agoCore apps can be deployed standalone
- gameswithgo 7y agoWith .NET Core 3, you can deploy them standalone, and performance is much improved. So you might have a happy middle ground available now. And when I say performance is improved, there are two fronts to that. First, the compiler/jit are just better now, core library functions are sped up a ton, so just running ported old .NET Framework code will be a lot faster. But also, C# has added new features in recent years that give you further control over memory usage/layout, and now even SIMD Intrinsics, so the performance ceiling is much higher if you want to optimize your own code.
- huzaif 7y agoPiggy backing on this a bit.. You can now publish a .net core 3.0 app that is: 1- Ready to Run: Part AOT compiled app for the platform. 2- Trimmed: Tree shaken down to only necessary bits from the framework. 3- Single File: Self contained app. This combination of features provides a really decent balance between size, performance and distribution.
- mumblemumble 7y agoThis oldie seems relevant: http://moishelettvin.blogspot.com/2006/11/windows-shutdown-crapfest.html http://moishelettvin.blogspot.com/2006/11/windows-shutdown-c... 1 year to build Windows Vista's new shutdown menu, with a total of 43 people somehow involved in its design. If this is how Windows developers still have to work, it's no wonder. That said, I would readily believe that the roots of this story have more to do with the complexity of modern OSes than any particulars of Microsoft culture. In terms of software quality, OS X peaked about 15 years ago, and has been steadily getting flakier ever since. And the Linux community has been struggling for virtually its entire existence, without success, to deliver a well-polished desktop experience.
- crazysim 7y agoChromeOS? Is that a success? Lots of concessions there I guess though.
- shawnz 7y agoThe old control panel can never be removed, because a significant amount of legacy software integrates itself into the old control panel and therefore wouldn't be usable if they removed it.
- teddyuk 7y agoThey also contain decades of bodges and quick fixes to get stuff to just work - working out what they need to keep and throw away must be a nightmare.
- cptskippy 7y agoMicrosoft is gradually porting what's necessary out of the Control Panel in a controlled manner. Rather than offering 1:1 functionality to existing items in the Control Panel, they're examining and rethinking everything. The new Settings App is a cross platform legacy free future. Certain elements will likely never be ported, like Phone and Modem, but will remain forever in the Control Panel. And the Control Panel will probably be a platform specific feature of x86/AMD64 based Windows installs.