The arrival of the .Net platform in 2000 from Microsoft brought a true change in
programming which employed a common JIT engine. The style of programming was strict
and object orientated. There was backward compatibilty to Visual Basic and a new
languge was introtuced namely c#.
This radical departure caused many a programmer
to rethink their future direction, many stuck with Visual Basic but struggled with
fitting into the new platform old concepts, many however immediately saw C# which
is in many ways similar to Java as the future direction of programming. The early
adopters were curtailed by the .com crash and left programming altogether whereby
a select few continued on advancing with the new language. The result of this is
that the majority of .Net programmers in the market are new arrivals often with
less than 3 years experience in the language and virtually no commercial experience
in the real world. When a programmer is found with more than 8 years experience
in .Net this is a rare commodity indeed and much prized by many companies who appreciate
its significance.
With version 1.0 of the .Net framework it can be seen that the language itself is
not so strict an allows certain actions not permitted in the newer versions. True
threading capabilities as in C++ was in its infancy in C# which finally become of
age in 2.0. Version 3.5 an extension of version 2.0 introduced tighter programming
restrictions and new concepts which resulted in a mature product, with version 4.0
promising even greater improvements.