Would you choose the Microsoft stack today if starting greenfield?
6 points
2 hours ago
| 5 comments
| HN
Serious question.

Outside government or heavily regulated enterprise, what is Microsoft’s core value prop in 2026?

It feels like a lot of adoption is inherited — contracts, compliance, enterprise trust, existing org gravity. Not necessarily technical preference.

If you were starting from scratch today with no legacy, no E5 contracts, no sunk cost — how many teams would actually choose the full MS stack over best-of-breed tools?

Curious what people here have actually chosen in greenfield builds.

locusofself
1 hour ago
[-]
C# is a great language, and .NET is a really good runtime that is cross-platform.

I would personally chose it over Java, and I think it is more "batteries included" than Go.

If you need to write a business/web application that is fairly easy to maintain and has good performance, yes I would pick C#.

Also, while functional programming etc is possible in C#, all the code I've seen has been very Object-Oriented. Classes for days. Dependency injection, factories, and other "Design Patterns" aplently.

Obviously with Python or Node.js you'll likely have an easier time getting off the ground but the performance will be worse (if that matters)

source: SWE manager at MSFT, mostly C# stuff. 10+ YOE with other languages prior to joining

reply
al_borland
1 hour ago
[-]
I know it's not popular, but I think Powershell returning objects is quite nice. It seems much better/easier than trying to parse raw text in Linux.

That said, if I'm making something new, I never go with an MS stack. I just wish I had some Powershell type options in Linux from time to time.

reply
burntoutgray
1 hour ago
[-]
PowerShell is available for Linux and MacOS. Which means you can have the tool you like and run on a non-MS platform.
reply
al_borland
1 hour ago
[-]
I know it's available, but I always assumed it would be a 2nd class citizen.

I just tried to install in on my personal macOS system. I tried brew, as Microsoft gives instructions for it...

> Warning: powershell has been deprecated because it does not pass the macOS Gatekeeper check! It will be disabled on 2026-09-01.

It went on to do more and then prompted for my password, but I canceled out of it. I'm not looking to get started with anything that starts with a deprecation warning. This is what I'm talking about when I say it feels like a 2nd class citizen. I can only assume I can't use 100% Powershell to admin a system, like one could with Windows.

reply
burntoutgray
1 hour ago
[-]
I never chose MS, ever. Most systems have been based on Debian servers. Some special needs I've used Alpine Linux and NetBSD (yes it does run on older, limited hardware).

Of course, some potential clients demand MS based solutions. I simply decline those contracts and ring them up 12-18 months later to see if the CTO/CIO has been replaced.

reply
andsoitis
1 hour ago
[-]
TypeScript, C#, F#, Visual Studio, .NET, MAUI, Azure... lots to like and be super productive in.
reply
rekabis
1 hour ago
[-]
DotNet 10 allows me to create a single web application for all three major platforms, and to ship it with the runtime baked in. This allows me to host said application anywhere I want.

If talking about non-web desktop/mobile software, the big issue comes down to GUI framework. Maui is optimized for mobile, Avalonia is superior on desktop. But other than that, thanks to the baked-in runtime it is becoming trivial to build a single GUI program and have it just run anywhere without significant rework.

Plus, C# has become an absolute pleasure to work with, and makes Java look practically obsolete. Hell, Java had to roll back its own implementation of string interpolation in 2024 because they just couldn’t make it work. C#? Working beautifully since 2015, and improved several times to even greater effect.

And if C#’s functional programming rustles your jimmies, you can easily use F# in the same project without complaint.

Finally, while Blazor webassembly might not be entirely ready for world+dog prime time just yet, it works great in an intranet where thick pipes are guaranteed, allowing me to give a hearty middle finger to everything JavaScript.

Honestly, while I will always evaluate every project to ensure that the programming platform is the best one possible, and have chosen other languages for good reasoning plenty of times. But anything which falls in the “anything will work well enough, generally speaking” bin has me reaching for DotNet almost every time.

reply