13.07.2015 Views

C# in Depth

C# in Depth

C# in Depth

SHOW MORE
SHOW LESS
  • No tags were found...

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

24 CHAPTER 1 The chang<strong>in</strong>g face of <strong>C#</strong> development■ Native code (primarily C and C++) developers, who will have to be conv<strong>in</strong>cedabout the reliability and performance of managed code before chang<strong>in</strong>g theirhabits. C++/CLI is the obvious way of dipp<strong>in</strong>g a toe <strong>in</strong> the water here, but itspopularity may not be all that Microsoft had hoped for.■ VB6 developers who may have antipathy toward Microsoft for abandon<strong>in</strong>g theirpreferred platform, but will need to decide which way to jump sooner or later—and .NET is the most obvious choice for most people at this stage. Some maycross straight to <strong>C#</strong>, with others mak<strong>in</strong>g the smaller move to VB.NET.■ Script<strong>in</strong>g and dynamic language developers who value the immediacy ofchanges. Familiar languages runn<strong>in</strong>g on managed platforms can act as Trojanhorses here, encourag<strong>in</strong>g developers to learn the associated frameworks for use<strong>in</strong> their dynamic code, which then lowers the barrier to entry for learn<strong>in</strong>g thetraditional object-oriented languages for the relevant platform. The IronPythonprogrammer of today may well become the <strong>C#</strong> programmer of tomorrow.■ “Traditional” managed developers, primarily writ<strong>in</strong>g <strong>C#</strong>, VB.NET, or Java. Herethe war is not about whether or not runn<strong>in</strong>g under some sort of managed environmentis a good th<strong>in</strong>g, but which managed environment to use. The battlegroundsare primarily <strong>in</strong> tools, portability, performance, and libraries, all ofwhich have come on <strong>in</strong> leaps and bounds. Competition between different .NETlanguages is partly <strong>in</strong>ternal to Microsoft, with each team want<strong>in</strong>g its own languageto have the best support—and features developed primarily for onelanguage can often be used by another <strong>in</strong> the fullness of time.■ Web developers who have already had to move from static HTML, to dynamicallygenerated content, to a nicer user experience with Ajax. Now the age ofRIAs is upon us, with three very significant contenders <strong>in</strong> Microsoft, Adobe, andSun. At the time of this writ<strong>in</strong>g, it’s too early to tell whether there will be a clearw<strong>in</strong>ner here or whether the three can all garner enough support to make themviable for a long time to come. Although it’s possible to use a .NET-based RIAsolution with a Java-based server to some extent, the development process is significantlyeasier when technologies are aligned, so captur<strong>in</strong>g the market here isimportant for all parties.One th<strong>in</strong>g is clear from all of this—it’s a good time to be a developer. Companies are<strong>in</strong>vest<strong>in</strong>g a lot of time and money <strong>in</strong> mak<strong>in</strong>g software development a fun and profitable<strong>in</strong>dustry to be <strong>in</strong>. Given the changes we’ve seen over the last decade or so, it’s difficultto predict what programm<strong>in</strong>g will look like <strong>in</strong> another decade, but it’ll be afantastic journey gett<strong>in</strong>g there.I mentioned earlier that <strong>C#</strong> 3 is effectively part of .NET 3.5. It’s worth tak<strong>in</strong>g a bit oftime to look at the different aspects that together make up .NET.1.3 The .NET platformWhen it was orig<strong>in</strong>ally <strong>in</strong>troduced, “.NET” was used as a catchall term for a vast rangeof technologies com<strong>in</strong>g from Microsoft. For <strong>in</strong>stance, W<strong>in</strong>dows Live ID was calledLicensed to Rhona Hadida

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!