How can SQL Server compete with MySQL?There are two things missing from the modern development landscape, but the weirdest part of this is that people write ultimately write better software using substantially ropier tools.
Firstly, there is a lack of professional polish.
Whereas a Microsoft developer is used to slick installers, a non-Microsoft developer has to deal with hacking and slashing (no pun) with CLI.
js users don’t have wizards for installing certificates, and so on.
What Microsoft offered was a central vision.
Top down, the PM’s imposed that if you were going to build a toolchain, it all had to work a certain way.
This vision was all about enabling developers to just get going without having to hunt around and find the good stuff.
Modern software engineering doesn’t require that — if you need a library to do XYZ, find one, amend one that’s close, or write one from scratch.
Software engineers are just expected to hack together a toolchain that works for them.
That central vision came from investment into what was, to use a modern construct, an influencer marketing strategy.
The more developers you had, the more users you had, and the more licenses you sold, plus the more entrenched you became.
(Turns out this idea stopped working).
Google and Apple are never going to make that sort of influencer marketing investment, and in reality they do not need to.
Ten years into iOS and having without a doubt the worst developer experience possible in Xcode and Objective-C, iOS is still ridiculously popular.
People power through the crappy tooling because the end desintation is so valuable.
Same with Android, which has a toolchain so arcane and dependent on magic incantations using it is like trying to get straight A*’s in your OWLs at Hogwarts.
But, here’s the rub.
NET has never been dominant outside of line of business applications.
And today, far more people use software than they did back when The Cathedral and the Bazaar was written.
The software that we have built over the past ten years, software that everyone uses everyday like Facebook, Amazon, iOS, Android, and all the networking firmware in between is orders of magnitude better and more usable than when Microsoft set out how we should write software using .
It turns out that relying on our combined engineering ability to hack together software using whatever open source bits and pieces we can find doesn’t hold us back.
We won’t ever see anything like .
NET again (or Java, for that matter), but we likely won’t need it.