I dislike weak typing, at least in the form that VB gives us. There are languages that allow types to change at runtime (adding methods, etc) but I never really found the need for that feature. For me type inference is the big winner. Both VB and C# are
getting this in next version. It means much simpler code to read and write, whilst still having the safety of the compiler.
I always thought it strange to discard years of advanced compiler and type systems design!
I hope the next version of VB does have the "Dynamic Interface" feature. It provides the best way to program against weakly typed objects. It lets the all your code be strongly typed to the interface, however at runtime you can attempt to cast any object type
you want to it. I believe the runtime will then check the validity of the object upfront - so you get fail fast, rather than fail half way through some nasty computation due to mis-spelling a function!
I would love to see Microsoft get more behind some of the .NET languages developed outside of Redmond. Languages like Boo and Nemerle have great features like type inference, duck typing, first class functions, syntactic macros and much more.
The only thing holding these languages back is the lack of tool support i.e. Visual Studio.
Whilst some of the advanced features may be beyond VB Mort's, they allow those in the know to be very productive. The result is better code developed, which in turn can be consumed by the business-level developers.
I personally see Nemerle as a potential successor to C#. It can look and feel just like C#, but allows so much more expressiveness if you want it.
Do all the nice operator overloads still exist in the CCR? Whilst having a library that is consistent with the BCL is very important, the operator overloads really let you concentrate on only your code. Reducing code noise is an important goal IMHO. Since C# has no syntactic macro capabilities, operator overloads are
the only way to abstract away the boiler plate code. (Being a purely additive feature means no
has to use them if they like typing lots.)
If I get time I will look at making some syntactic macros for Boo or Nemerle, to make coding against the CCR look awesome
Also, make the CCR available as a separate download - this will certainly increase uptake by the community. (Dare I say make the project shared-source? Seeing the code would hopefully make it easier for people to write their own extensions.)
The whole sidebar idea really is a bit old. Surely anyone can make a right-docked app bar using the SHAppBarMessage() api call?
I really hope MS have something revolutionary up their sleeve in the shell department. One thing I would find useful would be the ability to have different switchable mini-shells that can be customised to the various project I'm working on. So then on each
project desktop, I could have all the documents, tasks, common apps, etc related to that project.