22 ms·
> Part of me also thinks the problem might be inter-generational: a lot of Gen-Z programmers will have started-off with the NodeJS ecosystem and I imagine they
by com2kid 3y ago
> Part of me also thinks the problem might be inter-generational: a lot of Gen-Z programmers will have started-off with the NodeJS ecosystem and I imagine they also have less overall exposure to C/C++ - and probably even less experience with Win32/COM/COM+/DCOM, which is the foundation of Outlook.
My team around 2014 in Microsoft had problems finding people who wanted to learn COM, I think at one point we literally drew straws for who'd have to learn it.
The Office org has plenty of Win32 C++ people, but even there they are outnumbered now days thanks to all the other platforms.
FWIW I spent a year in the Office org, and while the code is impressive in many ways, doing anything in it is very hard. Not necessarily because the code is bad, it is just that it is big, with lots of history and layers, so doing simple things like getting an image passed around through various parts of the code means jumping through lots of hoops.
The other issue is that now days Windows programming skills are basically non-transferable. It used to be everything ran on Windows, so if you spent some time at Microsoft learning the depths of Win32, you were easily employable as a senior/principal engineer at a ton of other companies.
Nowadays the number of C++ Windows development positions is so low that unless a developer wants to spend their entire life at Microsoft, learning native Windows development is basically wasted time on the resume.
- DaiPlusPlus 3y ago> The other issue is that now days Windows programming skills are basically non-transferable. It used to be everything ran on Windows, so if you spent some time at Microsoft learning the depths of Win32, you were easily employable as a senior/principal engineer at a ton of other companies. > > Nowadays the number of C++ Windows development positions is so low that unless a developer wants to spend their entire life at Microsoft, learning native Windows development is basically wasted time on the resume. And it's a negative-cycle too: competent (let alone expert) desktop app developers will become a rare-breed as the capabilities of the web platform (i.e. Chromium) keep on growing, year after year. I figure that eventually even the most web-unfriendly and nativist of native desktop applications (e.g. Photoshop, AutoCAD, et cetera) will end up as WASM blobs rendering to a <canvas> as their UI slowly shifts from whatever in-house Win32 wrappers they have to HTML+CSS. I don't think Tim Berners-Lee could have ever imagined that. ...and this is all because MSFT couldn't put together a consistent and coherent modern desktop development story after VB6 got killed in 2001. If you're some wide-eyed kid in 2012 who wants to make a simple form/window/app that plays fart sounds when you click a button it's 100x easier to do that in HTML+JS than in WinForms/.NET (whereas in VB6 it might even be easier than in HTML+JS, tbh). The biggest shame here is that as everything moves to the web and off from desktops, we'll lose control over our own data: what incentive would 2033's Adobe have to let you download your own PSD files from the WASM-only Photoshop of the future?
- sirwhinesalot 3y agoThe shitshow that was Win32 -> Windows Forms part 2 (non native "Strip" controls) -> WPF -> WinRT -> UWP -> WinUI 2 -> WinUI 3 pretty much killed any chance at a nice cross platform native-UI library developing. Even Qt tells people not to use the native windows theme anymore since you don't even get a dark mode.
- com2kid 3y agoHold on now, WinForms is really nice to use. Several years back I needed to prototype a website, so I spent less than a day putting something together in WinForms that had all the functionality I needed. I hadn't used WinForms for several years at that point, but Visual Studio made it really easy to hook up the many, many, data bound fields I had. Over 2 months later I had a React version of the app working. Sure the React site was cross platform, and worked on mobile and desktop, but holy cow, 1 day versus 2 months. WinForms along with Visual Studio, is an amazing combo for productivity.