News

.NET and Java Grow Organically

When Forrester Research Inc. surveyed platform software decision makers in large North American and European enterprises recently, the IT industry analyst firm found that 59 percent of those surveyed use .NET and 48 percent use Java or Java EE. While those numbers add up to 107 percent, it underscores the fact that a good number of shops develop in both platforms.

As many as one in four shops may be using both .NET and Java as their application deployment platforms, according to Forrester senior analyst Jeffrey Hammond, who bases that on a variety of research.

It's commonly presumed that the increasingly pervasive .NET-Java enterprise IT mix is often the byproduct of acquisitions, but it's actually more often the result of decisions made internally, according to Hammond. "These dual environments have grown up organically," he says.

For example, Hammond says he was just consulting with a shop that's heavily into Java EE technology, but also uses SharePoint and some .NET for Web apps. "This was as much an outgrowth of individual teams making the decisions that made the most sense for the applications they were trying to build as anything," he concludes.

Hammond's colleague, Forrester analyst John Rymer, hastens to point out that "heterogeneous" isn't a synonym for Java-plus-.NET. "Large organizations tend to have more than two environments," he says. "Typically there's some sort of legacy environment, mainframes and now this slew of dynamic scripting languages for Web development -- PHP, Python, Ruby on Rails. So there's quite a bit of heterogeneity in the enterprise now."

Easily one of the most challenging aspects of a heterogeneous environment, whatever platforms/languages are intertwined in it, is finding developers with the right skill sets. "A lot of developers will have more than one language under their belts," says Bola Rotibi, principle analyst at U.K.-based Macehiter Ward-Dutton Ltd.

When Rotibi was a senior developer at Thomson Reuters, he coded in Java on VMX boxes, but also wrote C, C++, Pascal and FORTRAN. "It's not uncommon, but the truth is that software developers tend to be the most productive in one environment," Rotibi says. "And that can be a problem for some organizations."

Skills Challenge
Putting together and maintaining the right mix of coder skills has become a common enterprise challenge, Hammond says. "In some cases I see these heterogeneous shops pushing their .NET developers toward C# as opposed to VB.NET because it's the most like Java, and the hope is that it will make it easier for them to transfer skills. In practice, though, it's not so much the languages that create a learning curve as the frameworks."

Another issue that Redmonk analyst Michael Cote points out is that the .NET Framework is designed for the Windows environment, while Java is designed to run everywhere. "Java is largely an open source-driven world, and .NET is largely not," he says.

Jeffrey Hammond, Senior Analyst, Forrester Research Inc.

One result of all this heterogeneity is that Microsoft has recently added "open and extensible" to its vocabulary. Earlier this year, Redmond announced plans for a broad set of changes to its technologies and business practices. Its "Interoperability by Design" initiative is aimed at providing customers with "the most value possible," says S. "Soma" Somasegar, VP of Microsoft's Developer Division, "in this heterogeneous world."

Microsoft's Contributions
In a recent posting to his popular blog, Somasegar acknowledges the pervasiveness of mixed enterprise environments. "As much as some of us dream of a world where all the computing systems are homogeneous," he writes, "the world has been, is and will be running heterogeneous systems and services."

Somasegar goes on to outline some interoperability initiatives the Microsoft Developer Division plans to support this year. He cites a project that will bring Silverlight -- the cross-platform, cross-browser, cross-device RIA plug-in-to the Linux and Symbian platforms; Microsoft's plan to release the XAML documentation for Windows Presentation Foundation under the Open Specification Promise; and the release of the .NET Framework source code to Visual Studio (VS) customers.

Another result of pervasive heterogeneity is the emergence of a new category of tools designed to bridge platform and language gaps. Tools such as JNBridge are showing up as integrated components in Eclipse and VS dev environments. And solutions such as the CocoBase object-to-relational mapping tool are giving corporate coders a single set of persistence programming commands and a common repository for building and deploying apps on the Java and .NET platforms.

"The most important thing to keep in mind is that very few companies will settle on a single technology platform," Rotibi says. "Therefore, anything that can facilitate interoperability is very valuable. The key value of tools like JNBridge and CocoBase is their ability to broaden the audience for both languages, so that one set of skills can play in another environment."

Meanwhile, some current trends are likely to throw a more intense spotlight on enterprise heterogeneity in the near future, Hammond says. "Once you layer new models -- such as SharePoint and RIA development -- onto existing apps, we're moving toward a place where multilanguage development is going to be increasingly common," Hammond says. "Crossing the language gap will become more of an issue."

About the Author

John K. Waters is the editor in chief of a number of Converge360.com sites, with a focus on high-end development, AI and future tech. He's been writing about cutting-edge technologies and culture of Silicon Valley for more than two decades, and he's written more than a dozen books. He also co-scripted the documentary film Silicon Valley: A 100 Year Renaissance, which aired on PBS.  He can be reached at [email protected].

comments powered by Disqus

Featured

  • New 'Visual Studio Hub' 1-Stop-Shop for GitHub Copilot Resources, More

    Unsurprisingly, GitHub Copilot resources are front-and-center in Microsoft's new Visual Studio Hub, a one-stop-shop for all things concerning your favorite IDE.

  • Mastering Blazor Authentication and Authorization

    At the Visual Studio Live! @ Microsoft HQ developer conference set for August, Rockford Lhotka will explain the ins and outs of authentication across Blazor Server, WebAssembly, and .NET MAUI Hybrid apps, and show how to use identity and claims to customize application behavior through fine-grained authorization.

  • Linear Support Vector Regression from Scratch Using C# with Evolutionary Training

    Dr. James McCaffrey from Microsoft Research presents a complete end-to-end demonstration of the linear support vector regression (linear SVR) technique, where the goal is to predict a single numeric value. A linear SVR model uses an unusual error/loss function and cannot be trained using standard simple techniques, and so evolutionary optimization training is used.

  • Low-Code Report Says AI Will Enhance, Not Replace DIY Dev Tools

    Along with replacing software developers and possibly killing humanity, advanced AI is seen by many as a death knell for the do-it-yourself, low-code/no-code tooling industry, but a new report belies that notion.

  • Vibe Coding with Latest Visual Studio Preview

    Microsoft's latest Visual Studio preview facilitates "vibe coding," where developers mainly use GitHub Copilot AI to do all the programming in accordance with spoken or typed instructions.

Subscribe on YouTube