In this second and final part of my interview with Ted Shelton, Borland's chief strategy officer, Shelton focuses on Microsoft .Net's support for multiple languages and reveals a hidden .Net stumbling block.
The most striking passage for me was Shelton's convincing argument that developers who program in languages other than Visual Basic, C++, or C# may actually find .Net a hospitable environment. (I'd been advised by several developers that unless you bite the bullet and learn C#, the native language, you'll sacrifice too much power and productivity.) Shelton returns, in the end, to the future of Web services and the dangers of building the Web services protocol stack too high. I hope you'll find his comments as engaging and provocative as I did.
Wouldn't someone who uses another language be frustrated working in .Net? Is there any point in developing in a language other than C#?
The languages that matter are C++, C# (because Microsoft says it's important), Visual Basic, Java, and Delphi. If you take those five programming languages, you have 80 percent of all the professional developers in the programming world.
Microsoft is at least able to appeal at some level to all five of those categories--and Java is able to appeal to one. Now, will Java developers be frustrated when they find that J2EE is not all there in .Net and they have to learn a different framework? Yes, but at the same time they'll be able to be productive in that environment--they'll be able to get work done. Will the C++ developer be frustrated, especially because if you really want to do C++ development you have to drop out of the .Net Framework? Yes. But at the same time can they get work done using C++? Yes. So I think that there's sort of a "good enough."
What about Visual Basic 6 developers? Isn't it a rough transition for them going from a scripting language to Visual Basic .Net, an object-oriented language?
From the evolutionary perspective, they've been being tugged in that direction for a while. If you can make the object-oriented parts of it simple enough, so that people who are script-oriented aren't frightened by it, how hard is it to get them to flip over? The syntax is the same; the application architecture is somewhat different.
I'm not at all downplaying the challenge that Microsoft has in getting people to adopt VB .Net and ultimately C#. It's clear that that's the path they want the VB developer to go down. But in comparison to the problem of convincing someone to learn Java? That's really what you're fighting against. Is a Visual Basic developer going to go and learn VB .Net or is he going to go to Java? He's not going to go to Java. Java is actually really hard--at least today.
I think the unrecognized threat [to the Java community] is that .Net is actually a very technically elegant solution set…although there are some problems with it. I think every new technology has to be treated as being a set of undiscovered problems. I certainly don't think the developer community ever thought .Net out of the box was going to be a panacea. In fact I think the slow adoption rate of .Net has more been a result of people anticipating problems than real problems.