June 10, 2005

Microsoft's Hejlsberg touts .Net, C-Omega technologies

Visual C# architect also sizes up Java, Eclipse, anti-Microsoft sentiment

Hejlsberg: Originally we had planned not to support Edit and Continue, because we weren't sure that we could find the time to do the work in the IDE. But sort of halfway through the development phase of Whidbey we realized that there was actually enough time on the schedule to do the work, so we added Edit and Continue as a feature, also based on a lot of user feedback. VB6 has Edit and Continue and in the first releases of VB.Net it was not supported. So in 1.0 and 1.1, the 2002 and 2003 releases did not have Edit and Continue and a lot of VB users were really missing it. But it's not really a VB feature as such, it is a program or productivity feature. And since a lot of the work to support Edit and Continue actually goes into the .Net platform, we're sort of positioned to take advantage of all of that if we just do a bit of work that we needed to do in the IDE itself.

InfoWorld: Besides the Edit and Continue feature, what is the main benefit for Visual C# users in Visual Studio 2005?

Hejlsberg: If we look at the IDE itself, Edit and Continue is one of the big ones. The other big one, I would say there, is code refactoring. [It's] sort of the ability for the IDE to do a lot of the tedious edits to your code that you [would] end up doing as a programmer yourself. Let's say you have a method and you want to add an extra parameter to it. First [you would have] to find a method [of] adding an extra parameter, then find all the places where the method is called and add an extra default value onto every call there. But with the refactoring, the IDE can do all of that for you, and it can do it much better always, because these edits tend to be very mechanical that you do to your code. All of the refactorings, like change the name of a method, add an extra parameter, it's the same work you do over and over, and machines tend to be much better at the mechanical stuff and we're better at the creative stuff. So in effect we do more of the mechanical work in the IDE, leaving you more time to think about the code and the algorithms and the part of the equation that the human is good at. So that's sort of, from the IDE side, one of the other big ones. In the language, I think by far, the biggest feature is generics, which in a nutshell is the ability to parameterize your types. When you write code, clearly code is much more useful when you can have parameters on your methods and your functions. And the same is effectively true for types. Types can be much more useful if you can parameterize them. I don't know if you want me to go to the next level of detail and give you sort of a look into what generics does.

InfoWorld: A couple of sentences, maybe.

Hejlsberg: Before generics you couldn't write, for example, a container class. Let's say I want to write "My Smart List," you know, that's going to be able to store objects using a binary tree or whatever, or it's got a model, a table and a database. But I don't actually know what the table is going to be a table of. But I do know that I want it to have an Add method and a Delete method that adds a row or deletes a row and so forth. With generics, I can actually write code for a table of some type and I can say, call that Type T. And then later I can give T, say table, a customer table and they will all share the code and the compiler. The type system will do all the type-checking for you. So you can parameterize your types effectively.

InfoWorld: What is the importance of the C-Omega project at Microsoft?

Close

On Twitter now

Application development

Powered by Twitter

White Paper

D2D Virtual Tape Library Replication Primer

This whitepaper explains the terminology and concepts behind Data Replication technologies and establishes some sizing rules through worked examples. Learn the new paradigm in disaster tolerance—protect data anywhere.

Download now »

White Paper

An Alternative to Virtualization for Datacenter Cost Savings

Server virtualization is a popular option for dealing with mounting datacenter costs. Another equally promising approach is the use of an Application Delivery Controller. Citrix NetScaler provides a low-cost way for organizations to reduce their server count and accrue cost savings from a reduction in space, cooling, power and personnel.

Download now »

White Paper

Why Your Firewall, VPN, and IEEE 802.11i Aren't Enough to Protect Your Network

The emergence of WLANs has created a new breed of security threats to enterprise networks.

Included in HP ProCurve WLAN solutions is security technology that alleviates threats from WLANs through:
* Monitoring wireless activity inside and out of the enterprise
* Classifying WLAN transmissions into harmful and harmless
* Preventing transmissions that pose a security threat to the enterprise network
* Locating participating devices for physical remediation

Download now »

White Paper

Bringing the Edge to the Data Center

Effectively address data protection challenges, implementing solutions that help store and protect business–critical data while cutting costs and improving efficiency and reliability.

Download now »

Sign up to receive InfoWorld Resource Alerts

Subscribe to the Developer World Newsletter

Receive a weekly roundup about the art and science of software development.

©1994-2009 Infoworld, Inc.