What should developers do TODAY to prepare for the future?

"urn:schemas-microsoft-com:office:smarttags"
/>
The other day at the Triangle Area .NET
Users Group someone asked me an interesting question.  Based
on my experience at Microsoft working on future versions on the .NET
Framework and the Windows operating system, what should developers do TODAY to prepare
for the future?  "urn:schemas-microsoft-com:office:office" />

 

I was not able to come up with anything earth shattering, but I thought I’d share
these with you.

 

1. Make the move to managed code!  I am
likely preaching to the choir here.  But
it is true, the vast majority of developer experiences coming out of Microsoft are
going to be based on managed code.  Everything
from application automation to APIs for new platform features.

That said, we continue to invest heavily in interop.  Most
of the important applications Microsoft has are unmanaged and we recognize the investment
many ISVs have in unmanaged code.  We
are NOT likely to push any kind of 100% pure managed as the only true way.  Almost
all the new stuff we are building have a way (mostly through interop) to access great
new features from unmanaged code.

 

2. Use good application architecture techniques. Factor your UI from our business
logic from your database logic.  Use XML
based web services anywhere you are communicating across organizations and consider
even in cross machine communication in the same company.  This
kind of architecture will allow you, for example, to have the option of easily changing
an ASP.NET
site to use client side front end.

 

I am sure this is just a start...