5 ms·
pjmlp has it right, but I'll add some further clarifications. One of the most important aspects of Microsoft's success is network effect. People use Windows an
by InclinedPlane 12y ago
pjmlp has it right, but I'll add some further clarifications.
One of the most important aspects of Microsoft's success is network effect. People use Windows and Office because other people use Windows and Office.
But network effect also works on the development/platform side. Devs write apps in the technologies they know and are comfortable with, and those tend to be the technologies they've used for personal or work projects. Today, far fewer of the top tier (even the top 50% really) of developers are using Microsoft technologies, or are even familiar with them. The "cool kids" code in Ruby or Python or Scala or Golang, or mobile specific languages. If they want to get things done to pay the bills they might fall back on java or PHP. But the idea of using C#, .NET, or coding Windows Apps? Far fewer devs under 30 are doing that than they were 10 or 20 years ago.
With fewer devs coding on your platform that means there will be fewer apps, especially the most desired ones, and eventually that will impact the user base as well and weaken the entire business. The era where nobody cares whether a computer runs windows is on the horizon today, even though it may be many years away. If you look at the big apps and systems from the last 5 years you see that a lot of them are either web based or mobile (specifically android/iOS as well).
Microsoft used to understand this and it was a major reason why they invested in Visual Studio for all those years when it was unprofitable. But they've had a period of unrivaled market dominance which has only recently been challenged, so they lost their way for a while.
Catering to devs is how you maintain market relevancy with your platform, which is something Microsoft desperately needs.
Additionally, improving the relationship with the dev community and attracting more devs to your platform makes hiring easier (especially hiring talented folks). It's almost impossible to objectively quantify the benefit of that but it's an enormous factor. Microsoft has been bleeding talent for years and has been starved of a lot of talent for a long time because they were perceived as being old and boring and requiring a completely different set of proficiencies to work there. If Microsoft wanted to they could turn that around and start paving a road back to relevancy in the dev community again.
- pron 12y ago> But the idea of using C#, .NET, or coding Windows Apps? Far fewer devs under 30 are doing that than they were 10 or 20 years ago. Except I'm not sure MS is still betting on Windows apps, and they're not making money off of .NET either. Of course, it's very prestigious to have your own dev tools/platform/language and all the big kids have them, but none of them are making money.
- toyg 12y agoThere are tons of enterprise apps that MS desperately wants to keep shackled to Windows. And of course, there's Windows Phone. MS without Windows and Office would die very quickly, they have to keep the platform alive.
- tonyedgecombe 12y agoYet they keep pronouncing cloud first, mobile first. This kind of implies desktop last.
- josteink 12y agoIndeed. For Visual Studio and their development-server (Team Foundation Server, TFS for short) they have had a significant shift over the last few years. TFS is available online under the name Visual Studio Online (a web only offering), with first class integration with Azure. Development is done there first, and then later, every now and then, a on premises release is available that organizations can install on their server. And the last updates have had significant features available only through the TFS web-portal. They were not made available via the Windows-components, like the intergrations for Visual Studio on the desktop. If you wanted the improved features you had to go the web-portal. I'm starting to question whether Microsoft themselves see any value in developing a Windows-parallel to what is already a good enough web-solution. And if they can't be bothered, why should anyone else?
- tacos 12y agoThere are certainly more devs now than 20 years ago, and certainly more types of projects where the C#/.NET stack isn't appropriate, but I'm not sure your argument is valid beyond that. Microsoft's also making plenty of money off .NET! Dev tools alone is a billion dollar business for them. The ecosystem around SharePoint alone (which sucks!) is larger than that of every tech on the HN homepage right now. Spend five minutes in Visual Studio and it's clear that this is a massive ongoing engineering investment. I do an enormous amount of cross-platform development -- Mac, iOS, Linux, embedded systems -- and frankly everything else is caveman tools by comparison.
- nawitus 12y agoI'd like to add that a lot of "cool kids" code in TypeScript, which is a Microsoft project.
- nailer 12y agoI love TypeScript, and I wish it was more popular outside Microsoft, but it isn't.
- nawitus 12y agoI'd say it's relatively popular. It's also growing quite quickly: http://blog.javascripting.com/2014/07/28/fastest-growing-new-languages-on-github-are-r-rust-and-typescript-and-swift/ http://blog.javascripting.com/2014/07/28/fastest-growing-new...
- nailer 12y agoThat's good to hear (and better data than my anecdotal evidence - I suspect I may live in a bubble of conference going JS devotees) - I stand corrected.
- rjbwork 12y agoUnder-30 dev here. Been programming in C# for the past 3.5 years now, and loving every minute of it. I find VS and the associated tools be a far more productive and enjoyable experience than the Linux/Unix toolchains I was forced to use in undergrad, and C# to be a completely amazing language. The two warts, for me, are MSBuild (powerful, but obtuse at times, but still better than make) and PowerShell (again, powerful, but obtuse at times). I also really like how .NET has first-rate libraries for the Azure ecosystem. It really makes doing some very technically difficult/interesting things easy on Azure. As for others, I work with 2 developers who have made the jump from Java/JavaScript to working in C#/.NET because it is just a plain-old better experience. As for relevancy and devs, C# is huge in enterprise, as I'm sure you know. I don't think they're really fighting to maintain relevancy there, and I would suggest that since the advent of MVC and Azure, they are growing in relevancy in the SaaS space.
- pmelendez 12y ago>"Under-30 dev here. Been programming in C# for the past 3.5 years now, and loving every minute of it." Mid 30's here. I work mostly on C++ but I have to jump into C# code once in a while. I agree that C# is a very productive language and I love how it never gets in your way ("Do you say you don't want to use a common interface for your generics? Use dynamic!"). My only "complaint" is that C# is so indulgent that it gets boring at times, which might actually be a feature.
- to3m 12y agoC# is oft underrated, in my view. It's very quick to code in, is part of a large (if Windows-centric) ecosystem, and has been generally fairly tastefully designed. Compared to other languages you might compare it to, its designers aren't afraid to be a bit avant garde at times (unlike Java), it's got static typing (unlike Python), it's got garbage collection (unlike C), and... well, I know Go programmers hate it when people drop the G-bomb. But it's got that too. Unlike Go.
- pmelendez 12y agoG-bomb?