Visual Studio.NET has a steep learning curve, but the climb is well worth it, according to developers who’ve worked with the beta version of the product.
A test he did using the Beta 2 release convinced Paul Tan, the president and CEO of Web2XML Inc. in Toronto, that Visual Studio.NET was the development environment he wanted to use to build a human resources recruitment product. Tan took about a hundred lines of code and recoded it in C# – Microsoft’s clone of the Java language – using Visual Studio.NET. He was able to turn it into about 20 lines of code.
“There is a learning curve involved – and we went through that – but overall, I would say it’s been well worth it. And now we’re delivering systems and projects in less than a third of the time it normally takes us.”
Although Tan also looked into the J2EE development environment for developing enterprise-level products, he decided that it was too difficult to work in quickly. Although he likes Java as a language – that’s why he works with C# – he needed more than just an effective language to work with.
“To write an application involves the base framework that it gives you. And we just saw so much more stuff available out of the box.…I don’t have a problem with Java, the language itself, but it’s more than just a language that makes an application quickly.”
Visual Studio .NET is a language-agnostic development tool that supports some 24 to 26 languages (depending on who you ask). Microsoft’s .NET Framework, released at the same time as Visual Studio.NET, is a runtime layer with a Common Language Runtime engine. It’s designed to support developers using more than one language to create applications. The Framework enables cross-language inheritance, threading and debugging.
“So these are all services that are handled in the environment – it’s not at the language development anymore. So that is one of the greatest improvements,” said Nickolas Landry, chief software architect at dotBlox, a consulting firm in Montreal specializing in mobility solutions using .NET.
“The .NET Framework frees up those issues and it lets you concentrate at a higher level of development rather than the mechanics of managing memory. You can work at a higher level of abstraction,” agreed Eric Promislow, a senior developer for ActiveState Corp. in Vancouver, which helped build support for open-source languages such as Perl in .NET using Microsoft’s technology.
“A lot of the old problems have been fixed and there’s a lot of great ideas that have been integrated into it. It is a very mature platform….So they truly analyzed some of the problems we had – such as deployment, threading issues in Visual Basic, security, which used to be something that was found in pieces here and there across the platform, but now it’s all integrated into a common model directly in the environment,” Landry said.
He welcomes the changes that Microsoft made to Visual Basic with the introduction of Visual Basic.NET – changes which earned the software giant a lot of criticism from VB developers.
“But Visual Basic in general was lagging behind other languages. It was not a true object-oriented language because it lacked implementation inheritance and, because of that, since all languages in .NET need to be on the same level, need to share the common denominator, VB had some catching up to do,” Landry said.
“Certainly there were some people early on who weren’t happy to the changes we made to the Visual Basic language,” admitted Marie Huwe, the general manager of .NET developer product management at Microsoft in Redmond, Wash. “But we spent a lot of time working with them. And we even made some changes to the language as a result.”
Microsoft didn’t make any radical changes to the Visual Studio Development Environment, the company just updated it, she said, adding that those who can write a component in VB can build a component in Visual Studio.NET.
“The difference is they can turn the component into a programmable Web service if they want.”
The company also took pains to pump up security, said Yuval Neeman, corporate vice-president of the developer division for Microsoft in Redmond, Wash.