Why Microsoft systematically abandons its own technology?

Juan Carlos RR 51 Reputation points
2023-01-11T19:37:04.3466667+00:00

I understand that they are not going to answer me, I also understand that perhaps this question does not correspond to this place but it is something that worries me, for some time I have noticed that Microsoft is focusing a lot on Linux but not in the correct way, before all its web spaces and services were built with aspnet, but now 90% are built in java, for example this website is built in java, the main microsoft website is built in java, all microsoft products have stopped using windows server to use azure, does this mean that it is not safe or profitable to use microsoft products? Another point to take into account is that it sponsors products that you do not use or at least not at a public level, they have xamarin to create android and linux applications, and more recently they launched maui , they have two multi-platform frameworks and they use kotlin, they developed net core but they do not implement it correctly, it does not allow the creation of graphical apps claiming that there are too many environments s graphics to create a consistent api, but this is not true, for example mono allows this regardless of the graphical environment used, java also allows it, so why create something that is not going to be used?

.NET
.NET
Microsoft Technologies based on the .NET software framework.
3,338 questions
ASP.NET
ASP.NET
A set of technologies in the .NET Framework for building web applications and XML web services.
3,241 questions
C#
C#
An object-oriented and type-safe programming language that has its roots in the C family of languages and includes support for component-oriented programming.
10,192 questions
{count} vote

3 answers

Sort by: Most helpful
  1. Chris Posada 51 Reputation points Microsoft Employee
    2023-01-12T23:53:42.71+00:00

    Hi!

    I work at Microsoft, and I helped build this site. I'm sorry you're feeling frustrated about Microsoft's involvement in many things - we're a big company, and we do a lot! So I want to help clear up some things for you.

    Yes, Microsoft is focusing a lot on Linux. I'm not sure what the correct way is or if there is a right way, but we're always open to suggestions.

    This site is built in dotnet core and runs on Azure (which is Microsoft's cloud offering). We haven't moved to Java, which wouldn't make sense to us. We use Azure because, for a company our size, it doesn't make sense to have a copy of Windows Server installed on a physical machine somewhere whenever we need to host a service- we're too big! Many of our virtual machines use Windows Server; we have not stopped supporting it and will continue to do so!

    We build frameworks like Xamarin and Maui because we recognize that Windows is not the only operating system people use. Most people use more than one if you consider your mobile device. These frameworks help developers who want to develop cross-platform applications.

    We did build net core, and now you're using a 100% dotnet core application. As for UI applications- see my above point!

    I hope this helps you understand some of the things we do, and sorry if sometimes we are frustrating! I work here, and I get frustrated at us too!

    But we're always looking for feedback so thanks for that, and we hope to hear from you soon!

    7 people found this answer helpful.
    0 comments No comments

  2. Bruce (SqlWork.com) 54,711 Reputation points
    2023-01-12T18:57:06.1533333+00:00

    Microsoft has a lot of groups and produces a lot of products. Also technology and market forces change.

    At one time SOAP was king, and WCF was the premier api. But SOAP lost to rest/json, and WCF was not a great platform for implementing this, so it lost support. The WCF contract niche is now being replaced in the marketplace by gRPC an open source framework that depends on HTTP/2

    vb.net is a similar story. they have a small team and can not keep up with the changes required to properly support asp.net core. they focused on MAUI support instead.

    asp.net core, not java, is replacing asp.net (and node) for Microsoft websites. I don't know where you got the idea java has become popular at MS.

    the azure team started with linux, node and python as the main dev tools. this is because linux servers cost less to run, and in cloud services running costs are everything. now that core is performance competitive with node, it getting more use. obviously open source java frameworks are still java.

    the mobile world is more complex. the best user experience can only be achieved via native apps built with the native toolkits. IOS apps can only be built, signed and deployed via Xcode and must be native code. Currently SwiftUI is only callable from Swift (as it's really a swift domain language), so it can not be used by Maui. Android runs on the java vm, and the build system is either groovy or Kotlin.

    there are cross platform graphic apis, but no one likes them due to performance (can not be used for games, the biggest graphic user). on windows you want direct/x, on Mac/IOS you want quartz and on Android you want the graphics driver. if your performance requirements are modest, then use a cross platform api. see:

    [https://learn.microsoft.com/en-us/dotnet/core/compatibility/core-libraries/6.0/system-drawing-common-windows-only

    windows server may be replaced by cloud servers (where you do not care about the O/S), but there are still lots of reasons to use windows server for on-prem until then.

    1 person found this answer helpful.
    0 comments No comments

  3. Bruce (SqlWork.com) 54,711 Reputation points
    2023-01-12T23:54:40.49+00:00

    if you are just comparing java libraries to c# libraries, then it not fair yet.

    java went cross platform in 1995. as the java language fell behind (after Sun's demise), new languages that targeted the JVM where produced. This allowed libraries to be written in new languages but still callable from java and cross platform. The JVM has been stable for a long time.

    c# (.net core) only went cross platform in 2016, but was probably not competitive until 2019 (3.1) when library compatibility was worked out. NET 6 (late 2021) is the first full featured runtime version.

    local servers and desktops are not the future for MS. Their future is cloud with open api's callable from multiple platforms. The cloud is blurring the o/s. now you just supply framework callbacks, rather than applications.

    docker containers hosting a server app make more sense than a full blown O/S. unfortunately windows kernel api design makes windows containers much more difficult to host.

    the web has pretty much killed desktop. look at codespaces, CodeSandbox, etc to see the direction app development is going.

    0 comments No comments