История изменений
Исправление sanyo1234, (текущая версия) :
Вообще с Microsoft нужно быть предельно осторожным в плане оценки перспектив развития той или иной технологии, а так же мотивации компании относительно своих действий.
Одно из мнений по этому поводу:
First of all every division at Microsoft needs to be cash positive. At DevDiv (developer devision) the main bread maker is Visual Studio. .NET is free and makes no money. VS Code is free and makes no money. OmniSharp is/was free and made no money. ASP.NET is free and makes no money. It's mostly SQL and Visual Studio licenses which pay the salaries of the .NET team. For that reason Microsoft can never let it happen that a free and open .NET extension can make VS Code a good enough experience for the vast majority of .NET developers. It's not by accident that despite Microsoft owning C#, .NET, VS Code and OmniSharp the C# experience on VS Code was the worst of its kind in comparison to any other programming language. It's by choice in order to push developers to use Visual Studio.
Another big reason is that Microsoft needs to keep a tight grip around their .NET developers, because .NET is the main driver to Azure adoption. Azure is an extremely unattractive product to any other development community. Azure is slow, it breaks, it over promises and under delivers and it is almost twice as expensive to AWS or GCP once you actually establish feature parity. It's mainly .NET devs who get cleverly pushed to Azure and siloed away from anything non-Microsoft by Microsoft. The world runs in the cloud nowadays and the cloud is a unix based environment. Microsoft has felt the bleed of its traditional Windows centric developer base migrating away to macOS and Linux and becoming more wise about their technology choices. In order to stop the bleed Microsoft tries hard to convince its remaining Windows developers to remain in the Windows/Azure silo by giving them just enough sugar coating so they never step outside. WSL, the new unix-like terminal in Windows, Windows containers, etc. are all attempts to keep Windows folks on Windows and therefore closer to Azure.
The irony with all of this is of course that if you are a software developer, you'll have a MUCH MUCH better experience with Microsoft owned products (GitHub, VS Code, etc.) if you choose any programming language which is NOT .NET, because (at least for now) they will not try to come after you to lock you into their Windows/Azure based silo.
For instance take GitHub Co-Pilot as an example. Microsoft made it available to JetBrains IDEs for every programming language except .NET. Initially the GitHub team was forced (by DevDiv management) to implement a switch so it can be disabled for Rider, effectively making GitHub Co-Pilot only unavailable to .NET developers unless they use Visual Studio. Luckily there were some other forces at play which ended up reverting this switch, but it's a great example where Microsoft is prepared to harm only .NET developers and no other community in order to keep them locked in.
My advice is to pick a different programming language if you want to be truly free and have fun writing code. We all became programmers because we have a passion for writing code and nobody wants to deal with this BS if there are so many options available that make life as a developer easier.
EDIT:
People are asking why would Microsoft harm itself in the long term like this? The truth is they have no choice. Microsoft currently struggles to compete based on merit. The big fear is that if .NET developers become free spirited cowboys like the JS or Go or Rust or Java community then they will slowly start exploring products outside the Microsoft ecosystem. It starts small and then snowballs from there. If .NET devs start deploying more to AWS then new hires will come from the AWS community. Those new tech leads/CTOs/etc. will also have more experience with other non Microsoft technologies and possibly migrate long standing Microsoft shops further away from the traditional Windows/Azure/Office/SharePoint stacks. So what does Microsoft do in order to prevent this from happening? Bundle everything so people find it harder to convince themselves to explore other tools. Give things away for free which otherwise couldn't compete based on merit (e.g. Teams vs Slack/Discord). Deeply integrate Office into Windows, bake Teams into the start menu of Windows 11, give users 20 prompts a day to install Internet Explorer Edge or to use Bing. Even if you change your default browser settings Windows will open every URL from within Windows in Edge and plaster Bing search bars everywhere so users end up using these things even if they don't want to. The goal is of course that at some point users will give up and just adopt the Microsoft tools because it gets too tiring to fight against it. It's a good enough strategy to keep people locked into the Microsoft system until they find a way to make their products so good that people want to use them.
It is the same with .NET and Visual Studio and Azure. Microsoft cannot control Rider so Rider eating huge shares of the .NET IDE market is a big problem. JetBrains has no stake in Azure so they will not actively promote deployment options or project templates which are geared towards Azure. VS Code is owned by Microsoft but they cannot exert their power as freely with Code as they could with Visual Studio. If Code was to ignore people's default browser setting then all the non Windows and non .NET developers who currently use Code would quickly leave that IDE. Same if Code was to bake Azure features everywhere into the product people from Java, Go, JS, Rust, PHP, etc. would get pissed off and leave. So in terms of Code Microsoft rather plays nicely with all those communities just to keep them a bit closer to themselves and at least collect a lot of intel on them with forced telemetry. However, they can make the .NET experience on Code extremely lacking in comparison to Visual Studio and then advertise Visual Studio as the best development experience for C#. In Visual Studio Microsoft can do whatever they want and heavily push their own products down on unsuspecting C# developers. This is the strategy and no complaining on this GitHub issue or anywhere else will change that, because Microsoft has no option.
https://github.com/dotnet/vscode-csharp/issues/5276#issuecomment-1157074523
Итого: они заинтересованы качать бабло через Windows софт и Azure, а Linux якобы для заманилова и изучения территории конкурентов (JVM, etc.).
IMHO было бы неплохо, если бы они портировали с Windows на Linux свою настоящую полную студию VS.NET и постепенно портировали и остальные продукты типа Office, etc. Сделали бы для них обычную ценовую политику без всей этой своей Windows bloatware.
И в Azure на серверах, наверно, могли бы постепенно тоже избавиться от наследия Windows.
Исправление sanyo1234, :
Вообще с Microsoft нужно быть предельно осторожным в плане оценки перспектив развития той или иной технологии, а так же мотивации компании относительно своих действий.
Одно из мнений по этому поводу:
First of all every division at Microsoft needs to be cash positive. At DevDiv (developer devision) the main bread maker is Visual Studio. .NET is free and makes no money. VS Code is free and makes no money. OmniSharp is/was free and made no money. ASP.NET is free and makes no money. It's mostly SQL and Visual Studio licenses which pay the salaries of the .NET team. For that reason Microsoft can never let it happen that a free and open .NET extension can make VS Code a good enough experience for the vast majority of .NET developers. It's not by accident that despite Microsoft owning C#, .NET, VS Code and OmniSharp the C# experience on VS Code was the worst of its kind in comparison to any other programming language. It's by choice in order to push developers to use Visual Studio.
Another big reason is that Microsoft needs to keep a tight grip around their .NET developers, because .NET is the main driver to Azure adoption. Azure is an extremely unattractive product to any other development community. Azure is slow, it breaks, it over promises and under delivers and it is almost twice as expensive to AWS or GCP once you actually establish feature parity. It's mainly .NET devs who get cleverly pushed to Azure and siloed away from anything non-Microsoft by Microsoft. The world runs in the cloud nowadays and the cloud is a unix based environment. Microsoft has felt the bleed of its traditional Windows centric developer base migrating away to macOS and Linux and becoming more wise about their technology choices. In order to stop the bleed Microsoft tries hard to convince its remaining Windows developers to remain in the Windows/Azure silo by giving them just enough sugar coating so they never step outside. WSL, the new unix-like terminal in Windows, Windows containers, etc. are all attempts to keep Windows folks on Windows and therefore closer to Azure.
The irony with all of this is of course that if you are a software developer, you'll have a MUCH MUCH better experience with Microsoft owned products (GitHub, VS Code, etc.) if you choose any programming language which is NOT .NET, because (at least for now) they will not try to come after you to lock you into their Windows/Azure based silo.
For instance take GitHub Co-Pilot as an example. Microsoft made it available to JetBrains IDEs for every programming language except .NET. Initially the GitHub team was forced (by DevDiv management) to implement a switch so it can be disabled for Rider, effectively making GitHub Co-Pilot only unavailable to .NET developers unless they use Visual Studio. Luckily there were some other forces at play which ended up reverting this switch, but it's a great example where Microsoft is prepared to harm only .NET developers and no other community in order to keep them locked in.
My advice is to pick a different programming language if you want to be truly free and have fun writing code. We all became programmers because we have a passion for writing code and nobody wants to deal with this BS if there are so many options available that make life as a developer easier.
EDIT:
People are asking why would Microsoft harm itself in the long term like this? The truth is they have no choice. Microsoft currently struggles to compete based on merit. The big fear is that if .NET developers become free spirited cowboys like the JS or Go or Rust or Java community then they will slowly start exploring products outside the Microsoft ecosystem. It starts small and then snowballs from there. If .NET devs start deploying more to AWS then new hires will come from the AWS community. Those new tech leads/CTOs/etc. will also have more experience with other non Microsoft technologies and possibly migrate long standing Microsoft shops further away from the traditional Windows/Azure/Office/SharePoint stacks. So what does Microsoft do in order to prevent this from happening? Bundle everything so people find it harder to convince themselves to explore other tools. Give things away for free which otherwise couldn't compete based on merit (e.g. Teams vs Slack/Discord). Deeply integrate Office into Windows, bake Teams into the start menu of Windows 11, give users 20 prompts a day to install Internet Explorer Edge or to use Bing. Even if you change your default browser settings Windows will open every URL from within Windows in Edge and plaster Bing search bars everywhere so users end up using these things even if they don't want to. The goal is of course that at some point users will give up and just adopt the Microsoft tools because it gets too tiring to fight against it. It's a good enough strategy to keep people locked into the Microsoft system until they find a way to make their products so good that people want to use them.
It is the same with .NET and Visual Studio and Azure. Microsoft cannot control Rider so Rider eating huge shares of the .NET IDE market is a big problem. JetBrains has no stake in Azure so they will not actively promote deployment options or project templates which are geared towards Azure. VS Code is owned by Microsoft but they cannot exert their power as freely with Code as they could with Visual Studio. If Code was to ignore people's default browser setting then all the non Windows and non .NET developers who currently use Code would quickly leave that IDE. Same if Code was to bake Azure features everywhere into the product people from Java, Go, JS, Rust, PHP, etc. would get pissed off and leave. So in terms of Code Microsoft rather plays nicely with all those communities just to keep them a bit closer to themselves and at least collect a lot of intel on them with forced telemetry. However, they can make the .NET experience on Code extremely lacking in comparison to Visual Studio and then advertise Visual Studio as the best development experience for C#. In Visual Studio Microsoft can do whatever they want and heavily push their own products down on unsuspecting C# developers. This is the strategy and no complaining on this GitHub issue or anywhere else will change that, because Microsoft has no option.
https://github.com/dotnet/vscode-csharp/issues/5276#issuecomment-1157074523
Итого: они заинтересованы качать бабло через Windows софт и Azure, а Linux якобы для заманилова и изучения территории конкурентов (JVM, etc.).
IMHO было бы неплохо, если бы они портировали с Windows на Linux свою настоящую полную студию VS.NET и постепенно портировали и остальные продукты типа Office, etc. Сделали бы для них обычную ценовую политику без всей этой своей Windows bloatware.
Исходная версия sanyo1234, :
Вообще с Microsoft нужно быть предельно осторожным в плане оценки перспектив развития той или иной технологии, а так же мотивации компании относительно своих действий.
Одно из мнений по этому поводу:
First of all every division at Microsoft needs to be cash positive. At DevDiv (developer devision) the main bread maker is Visual Studio. .NET is free and makes no money. VS Code is free and makes no money. OmniSharp is/was free and made no money. ASP.NET is free and makes no money. It's mostly SQL and Visual Studio licenses which pay the salaries of the .NET team. For that reason Microsoft can never let it happen that a free and open .NET extension can make VS Code a good enough experience for the vast majority of .NET developers. It's not by accident that despite Microsoft owning C#, .NET, VS Code and OmniSharp the C# experience on VS Code was the worst of its kind in comparison to any other programming language. It's by choice in order to push developers to use Visual Studio.
Another big reason is that Microsoft needs to keep a tight grip around their .NET developers, because .NET is the main driver to Azure adoption. Azure is an extremely unattractive product to any other development community. Azure is slow, it breaks, it over promises and under delivers and it is almost twice as expensive to AWS or GCP once you actually establish feature parity. It's mainly .NET devs who get cleverly pushed to Azure and siloed away from anything non-Microsoft by Microsoft. The world runs in the cloud nowadays and the cloud is a unix based environment. Microsoft has felt the bleed of its traditional Windows centric developer base migrating away to macOS and Linux and becoming more wise about their technology choices. In order to stop the bleed Microsoft tries hard to convince its remaining Windows developers to remain in the Windows/Azure silo by giving them just enough sugar coating so they never step outside. WSL, the new unix-like terminal in Windows, Windows containers, etc. are all attempts to keep Windows folks on Windows and therefore closer to Azure.
The irony with all of this is of course that if you are a software developer, you'll have a MUCH MUCH better experience with Microsoft owned products (GitHub, VS Code, etc.) if you choose any programming language which is NOT .NET, because (at least for now) they will not try to come after you to lock you into their Windows/Azure based silo.
For instance take GitHub Co-Pilot as an example. Microsoft made it available to JetBrains IDEs for every programming language except .NET. Initially the GitHub team was forced (by DevDiv management) to implement a switch so it can be disabled for Rider, effectively making GitHub Co-Pilot only unavailable to .NET developers unless they use Visual Studio. Luckily there were some other forces at play which ended up reverting this switch, but it's a great example where Microsoft is prepared to harm only .NET developers and no other community in order to keep them locked in.
My advice is to pick a different programming language if you want to be truly free and have fun writing code. We all became programmers because we have a passion for writing code and nobody wants to deal with this BS if there are so many options available that make life as a developer easier.
EDIT:
People are asking why would Microsoft harm itself in the long term like this? The truth is they have no choice. Microsoft currently struggles to compete based on merit. The big fear is that if .NET developers become free spirited cowboys like the JS or Go or Rust or Java community then they will slowly start exploring products outside the Microsoft ecosystem. It starts small and then snowballs from there. If .NET devs start deploying more to AWS then new hires will come from the AWS community. Those new tech leads/CTOs/etc. will also have more experience with other non Microsoft technologies and possibly migrate long standing Microsoft shops further away from the traditional Windows/Azure/Office/SharePoint stacks. So what does Microsoft do in order to prevent this from happening? Bundle everything so people find it harder to convince themselves to explore other tools. Give things away for free which otherwise couldn't compete based on merit (e.g. Teams vs Slack/Discord). Deeply integrate Office into Windows, bake Teams into the start menu of Windows 11, give users 20 prompts a day to install Internet Explorer Edge or to use Bing. Even if you change your default browser settings Windows will open every URL from within Windows in Edge and plaster Bing search bars everywhere so users end up using these things even if they don't want to. The goal is of course that at some point users will give up and just adopt the Microsoft tools because it gets too tiring to fight against it. It's a good enough strategy to keep people locked into the Microsoft system until they find a way to make their products so good that people want to use them.
It is the same with .NET and Visual Studio and Azure. Microsoft cannot control Rider so Rider eating huge shares of the .NET IDE market is a big problem. JetBrains has no stake in Azure so they will not actively promote deployment options or project templates which are geared towards Azure. VS Code is owned by Microsoft but they cannot exert their power as freely with Code as they could with Visual Studio. If Code was to ignore people's default browser setting then all the non Windows and non .NET developers who currently use Code would quickly leave that IDE. Same if Code was to bake Azure features everywhere into the product people from Java, Go, JS, Rust, PHP, etc. would get pissed off and leave. So in terms of Code Microsoft rather plays nicely with all those communities just to keep them a bit closer to themselves and at least collect a lot of intel on them with forced telemetry. However, they can make the .NET experience on Code extremely lacking in comparison to Visual Studio and then advertise Visual Studio as the best development experience for C#. In Visual Studio Microsoft can do whatever they want and heavily push their own products down on unsuspecting C# developers. This is the strategy and no complaining on this GitHub issue or anywhere else will change that, because Microsoft has no option.
https://github.com/dotnet/vscode-csharp/issues/5276#issuecomment-1157074523