Fog Creek Software
Discussion Board

Welcome! and rules

Joel on Software

Upcoming changes to the C# language

Partial types sounds interesting?  Is that something that is available in other languages?

Guy Incognito
Wednesday, November 13, 2002

Partial types are just the ability to split the class declaration across many files. Sorta like C++'s .h/.cpp file split.

The implementation of partial types looks like it'll be useful for those writing code generators.

Chris Tavares
Wednesday, November 13, 2002

I'm not much worrying about these changes yet. Time enough to learn them when they actually ship - if they do. Until then, alas, this seems like typical Microsoft pre-emptive feature announcing designed to keep people away from competing platforms.

Mike Gunderloy
Wednesday, November 13, 2002

I took it as "Here's what we're thinking of adding, please give us your feedback."

They are taking emails about this stuff.

Chris Tavares
Wednesday, November 13, 2002

Any idea on how this will be done with VB.NET?

Rob Conley
Thursday, November 14, 2002

These are (with the exception of generics) specifically language changes, not CLR changes. Therefore, any changes like this will have to be decided by the VB.NET team; it's completely disconnected.

As far as generics - MS has said they'd like to see all .NET languages support them, but it'll be up to the individual language groups to decide how.

So, to answer your question, no, I have no idea how VB.NET will do any of this.

Chris Tavares
Thursday, November 14, 2002

FWIW, as a VB.NET junkie, I'm a lot more interested in generics than in operator overloading (which as far as I'm concerned can stay out of VB).

But as a web guy, building a good templating system into Visual Studio.NET is far more important than any additions the VB.NET team makes to the language.

Dave Rothgery
Friday, November 15, 2002

Dave makes a good point-- tools are important. According to Peopleware, languages are not an important factor in productivity (p. 47). On the other hand, advocates of certain styles of programming (for example, Design By Contract in Eiffel; or pure lazy functional programming in Haskell) imply that languages are particularly crucial.

Personally, I am looking forward to the availability of generics, anonymous methods and iterators in C#. Hopefully, generics will make type assertions (i.e. casts) a thing of the past.

In fact, generics may legitimise explicit conversions, because accessing them will be the remaining use of the cast operator.

Dominic Cooney
Friday, November 15, 2002

*  Recent Topics

*  Fog Creek Home