I’ve just posted four quick posts on three specific enhancements that I would like to see in the C# language.
- Automatic Property Initializers
- Backing Field Access
- Backing Field Type Declaration (in the absence of an initializer)
Obviously I would like to see all of the above features added to the language (after they have been thought through more fully by the language designers). However I do wonder how much further investment there is going to be in C# as a language. If you look at C# 5.0 we basically got async/await (and associated plumbing) and caller info. There was some suggestion that we might get automatic property initializers but that appeared to be scrapped.
Still – the “Roslyn” project does hold some promise in terms of opening up the compiler to allow software developers to transform the syntax of the code prior to compilation thereby supporting the addition of new language features.
Time will tell whether that is a good idea in terms of source code stability because in essence those language tweaks need to be part of source tree just like anything else, otherwise you might snooker yourself if you accidentally lost your Roslyn-based source code transformation add-in.