Will Microsoft's Ongoing Push Draw Java Developers to Azure?

"We use more Java than one can imagine," Microsoft says on the Microsoft Build of OpenJDK website. The marketing hyperbole notwithstanding, Redmond has been promoting Java to its developer community vigorously for a while now, but it recently began pumping up its Java push on several fronts, including promoting new guidance for devs using the popular programming language on its Azure cloud computing platform.

The company created the Java Engineering Group within its Developer Division in 2019, acquired jClarity to optimize Java workloads on Azure, expanded its participation in the Eclipse Foundation to become a Strategic Member, and established its own port of the OpenJDK. Microsoft's latest developer team newsletter demonstrates an unambiguous Java-on-Azure focus with multiple tutorials and other guidance.

The company's heavy use of Java and continuing promotion of the language for Azure computing comes even though the language is similar in many ways to its own flagship programming language: C#. The comparison between the two languages was detailed in the 2019 article "Key differences and similarities between C# and Java."

Here's what the article, published on the Western Governors University site, says about the two languages:
Java and C# are both object-oriented languages heavily influenced by C++. Their syntax and features have a lot of similarities, although C# has more features because it is newer. But while both languages depend on third party frameworks and reusable components, it is fair to say that Java has more frameworks than C# and is slightly more portable.

These languages have been around for a long time, and it is important to understand that any application built using one language, can generally be built using the other language as well. But, when building applications in .NET framework, the language of choice usually is C#. So, for an application developer the choice of language depends on the need and the application’s platform.

However, when the application's platform is the cloud instead of on-premises .NET running on Windows as is typical in the Microsoft-centric dev camp, things change. Here, Microsoft champions Java. The reasons for this come in the Java on Azure site, which in reply to the "Why Java on Azure?" question lists these answers saying that developers can:

  • Develop using tools and frameworks you love: Build, debug, and deploy Java applications on Azure using your favorite IDEs, including Eclipse, IntelliJ, and Visual Studio Code for Java. Use build and automation tools like Maven, Gradle, and Jenkins for your continuous integration and continuous delivery needs.
  • Ship faster with fully managed services: Focus on building business applications, instead of managing your infrastructure. Take advantage of Azure App Service, Azure Spring Cloud, Azure Kubernetes Service (AKS), and Azure Red Hat OpenShift for hardware and software infrastructure management.
  • Extend your Java applications: Quickly add services and capabilities, including managed MySQL, PostgreSQL, and SQL databases, performance monitoring, and secrets management. Connect your applications with integration services like Azure Service Bus with Java Message Service (JMS) support and Azure API Management.
  • Take advantage of the Microsoft partner ecosystem: Get best-in-class solutions to bring your existing Java workloads to Azure and extend the functionality of your applications. Access a growing portfolio of Java-focused solutions, from unique managed hosting options with joint development and support to Azure Marketplace images for popular Linux distributions.

Of course, the web is rife with Java-vs.-C# (or.NET) comparisons, with many discussions taking place in a cloud context. A quick search shows three such cloud computing comparisons that all include Java and either C#/.NET/ASP.NET. The top-five rankings are:

  • 1) Java, 2) PHP, 3) .NET, 4) Python, 5) Golang -- see here
  • 1) Python, 2) Golang, 3) Ruby, 4) Java, 5) ASP.NET -- see here
  • 1) Java, 2) ASP.NET, 3) PHP, 4) Python, 5) Ruby -- see here

So Java seems to be a safe bet for Microsoft, though the company of course hedges its bet with Azure for .NET developers guidance that focuses on the Azure SDK for .NET, along with offering SDKs for Java, JavaScript, Python, C++, Embedded C, Android, iOS and Go.
Java gets the lion's share of attention in the latest developer newsletter from Microsoft, with guidance such as:

The newsletter is also available in a web page where interested developers can find many more articles, events and learning opportunities on a variety of topics, including some focusing solely on Java and some focusing solely on Azure and some no doubt at least mentioning both. Developers can keep track of Java at Microsoft at the same-named DevBlog and Twitter account, with the latter listing 3,342 followers as of this writing.

About the Author

David Ramel is an editor and writer for Converge360.