ugust 8, 2001?If one envisions Sun Microsystems and Microsoft as, oh, I don’t know, peevish comic book villains, each sticking dogmatically by their own proprietary weaponry in the fight for world domination, then Borland CEO Dale L. Fuller is donning his cape.
Or at least, that’s what it sounded like for a moment last week. Borland, Fuller implied during an investors’ meeting last week, will provide the connective tissue that developers need to port Java to .NET and .NET to Java. Borland officials, however, downplayed the remarks, saying that the company had “researched” the possibility of cross-compiling Java and .NET code but found the technical challenges of doing so inhibitive.
Fuller’s eyebrow-raising comments were made last Thursday, August 2, near the end of a 30-minute presentation at a financial seminar for investment bankers held in Boston by Adams, Harkness & Hill. Fuller and CFO Fred Ball gave prepared comments about Borland’s general marketplace stability and future plans. During the subsequent Q&A session, a question from an audience member elicited a response from Fuller in which he said that Borland would provide the ability to make Java code run on .NET and vice versa.
“.NET is going to be one of the platforms that we will support. Because people want it,” Fuller said.
“The great news about Microsoft for us?but bad news for customers?is Microsoft says they’re not going to support Java at all. We’re going to step into that gap and we’re going to provide to everyone the ability to have Java on .NET.
“Same thing in the Java space: We’ll provide the Java-.NET connection back that way. So our customers that want to develop in Java and port to .NET can actually instantaneously do that. Or people that start in .NET and want to move to another platform can actually leverage that as well. So being Switzerland there’s some advantages to it and that’s what we do; we kind of bounce between all those different platforms.”
Fuller provided no details about how or when Borland would begin to provide such support and no follow-up questions were asked at the seminar. However, in a phone interview with DevX Wednesday, Borland VP of software solutions Frank Slootman said he believed Fuller’s remarks run toward developments the company is rolling out in the Web services arena.
As it did in the release of Delphi 6 earlier this year, Slootman said the company will continue to focus on making it easier for developers to write Web services natively in a RAD development environment. The May release of Delphi 6 introduced compiler-level support for SOAP and WSDL, treating Web services as native components in the IDE. This allows Delphi developers to write applications as they always have while simultaneously making them SOAP-compliant Web services. Borland media relations personnel said that the company planned to make a public announcement about its next step in Web services in “about a week.”
“The official story is that we are going to layer between Java and .NET in Web services. We don’t see a huge need to take Java code and rewrite it to another platform,” said Slootman.
“There’s definitely been research that has gone on for us to expand into bringing the platforms together,” Slootman said, but added that the company found it “very difficult technically.” Slootman cited Java’s dependence on containers as one of the key reasons why he does not expect any commercial product to provide the ability to cross-compile .NET and Java code.
This sounds to me like a direct contradiction with Fuller’s recent statements. Did Fuller spill some embryonic R&D beans? Or was he indeed oversimplifying the company’s upcoming Web services news? For developers’ sake, I hope Borland is holding out on some Java-to-.NET magic that it plans to roll out sometime soon. Cross-compiling Java and .NET would bring desperately needed power, convenience, and flexibility back to corporate developers. And put the attention of professional applications development back where it belongs: on developing the right applications in the right language and deploying to any platform.
And what company better than Borland?far and away the people’s popular choice for Java development tools?to try and become what Microsoft’s Visual J++ might have been. Of course, politically, such an initiative might be just a little risky for Borland, which enjoys a longstanding affinity with Java purists. By porting Java to .NET, Borland (or any other company) would provide a very valuable conduit for Microsoft to reach back into the Java world?without having to lift a finger to support Java developers itself. Who needs a JVM in Windows if you can easily port the code to the IL instead? But as a pure business move, Borland would surely profit: the ever-widening expanse between Java and .NET is filling up with cash?cash that can be easily plucked up by anyone willing to build a bridge across the chasm. One company, Halcyon Software, has already written a version of the .NET framework entirely in Java. Further innovation is desperately needed.
Borland to the rescue?Sound the Call for Justice
While Borland sets about building its bridge, here in the land of the present-day, developers are frothily debating the rhetorical and technological issues behind C# on the DevX newsgroups, in much the same way that VB developers have long been doing over VB.NET.
A controversial guest commentary last week by C++ Pro Danny Kalev sparked a wildfire of posts, which criticized Kalev’s assertions that
C# is a “Windows-only language”:
“Given that there are at least three publicly announced, high-profile open source efforts to create C# compilers, this seems a bit harsh. I have three working C# parsers from those projects. One project can already generate IL executable files.”
That C# is “technically crippled”:
“I agree that templates are a powerful concept in C++. It’s a quick code generator for reusable concepts. However, the STL use of vector, list, hash tables etc. are no longer required with C# or Java where every object must be derived from a standard base object and the generic List, Vector, etc. classes.”
“When I first read its spec on MSDN, I quickly realized [C#] was exactly the way I wanted Java to be from the very start. Java and C++ missed native support for properties and events. They didn’t think of such a wonderful concept of type unification. On every page of the C# specification (see MSDN), you can find at least one bright idea that beats C++ and Java.”
That C# is free from “if it’s not pure object-oriented, we won’t allow it egotism” prevalent in Java’s design:
“Java follows the principles of design patterns, support for easy refactoring and many other ‘Best Practices.‘ It is true that Java intends to be Object Oriented, but it is also true that pointers are complex and dangerous. Java doesn’t include pointers because they are dangerous, complex and extremely difficult to refactor.”
Meanwhile, in another newsgroup, a disciple is born:
Subject: Visual Studio.net Beta 2 is Brilliant
“I am presently moving an n-tier VB6 windows app to a C# Web app.
The design environment feels like VB6. The base classes are intuitive and easy to use. ADO.NET is far more flexible than ADO. Implementation of design patterns is far easier than with VB6. Event handling is similar (on the surface at least) I can display my Crystal reports in a browser without ActiveX. I actually have less code and more control in my presentation layer than I do with VB. View state and session state are incredibly powerful.
No more windows development. No more client deployment.
WOW!!!! Welcome to the 21st century.”
And another one leaves the flock:
“I’m moving from VBA to Java presently. I’m actually enjoying the syntax. I often wish for an ‘auto syntax check’ that highlights lines in red… and compile times are longer. I think that Java is the ‘VB’ of the C family of languages. At the moment, the Java class library looks more ‘knowable’ than the Win32 API, (but that’s just an uninformed opinion not meant to start a war or anything.) I hope to evaluate VB.NET and C# again when they come out, but there are no good tutorials for VB.Net yet?or at least, not a lot to choose from. (Appleman’s book is definitely more difficult than his ActiveX Controls book.) The .NET thing is presently irritating and inconvenient to me … but I can’t rule out the possibility that it may be ‘the way of the future’.”
If you’re looking for opinion and spirited debate on the merits, or lack thereof, of the .NET technologies, and haven’t yet discovered the DevX newsgroups, please consider this an invitation to join the fray. You’ll undoubtedly find something in the following groups to spark your interest: vb.dotnet.discussion, vb.dotnet.technical, talk.editors.devx, c++.general, and csharp.general.