Monday, October 27, 2008

C# quick overview

I wanted to write down a quick overview about C# with hot facts, so people who are wondering if they should learn or continue learning C# can find some quick and important facts about this language. I took information from some blog post and some other sites listed at the end of the post.

Where did it originate? - A little history

C# development was led by Anders Hejlsberg, one of the architects of Visual J++, Borland Delphi and Turbo Pascal. The primary architects of C# were Peter Golde, Eric Gunnerson, Anders Hejlsberg, Peter Sollichy, and Scott Wiltamuth. Of these, the principal designer of the the C# language was Anders Hejlsberg, a lead architect at Microsoft. Previously, he was a framework designer with experience with Visual J++ (Microsoft's old version of the Java language), Delphi, and Turbo Pascal.

Although Microsoft and its partners set the direction for C#, the standard is maintained by ECMA, the European Computer Manufacturers Association, which also looks after the standards for JScript and JavaScript. Microsoft's partners in submitting the original specification were Hewlett-Packard and Intel. Participants in later versions include IBM, Sun and Novell.

C# debuted in the year 2000 at the Professional Developers Conference (PDC) where Microsoft founder Bill Gates was the keynote speaker. At the same time, Visual Studio .NET was announced.

C# is also an ISO standard language, like Cobol. Both C# and the Common Language Infrastructure (CLI) have been submitted to international standards organizations European Computer Manufacturers Association (ECMA) and International Organization for Standardization (ISO) / International Electrotechnical Commission (IEC).

What's it for?

Microsoft launched C# as "a modern, object-oriented programming language built from the ground up to exploit the power of XML-based web services on the .net platform." As well as suitability for developing software components in distributed environments, C# is "intended to be suitable for writing applications for both hosted and embedded systems, ranging from the very large that use sophisticated operating systems, down to the very small having dedicated functions".

What makes it special?

ECMA's involvement guarantees the continued independence of the language from Microsoft's proprietary control. However, not all features supported by the .net common language infrastructure (CLI) will necessarily be available, as the ECMA C# specification explains: "Although Microsoft's implementation of C# relies on CLI for library and runtime support, other implementations of C# need not, provided they support an alternate way of getting at the minimum CLI features required by this C# standard."

What's coming up?

C# 3.0 was released late in 2007 along with .net 3.5.

Current direction

With the release of Vista, there are important changes to acknowledge. Microsoft modified its path to provide a better separation of the presentation and the backend/logic layers giving designers to focus on the look & feel of the application interface while the developers concentrate on functionality. Microsoft also released the Expression Studio suit providing powerful (although not yet mature) design tools to create interfaces in a similar way than Adobe tools, but producing XAML code behind the scenes so developers don't need to translate or create their own version of the interfaces.

Current technologies following this trend: Windows Presentation Foundation, Silverlight 2, Media Center Applications and Surface.

With this technologies I expect C# skills to become more appreciated in the market since all your current C# skills will be needed for these next generation technologies.

Sources and Must-Check references:

Nick Langley Post
C# Programmers Overview
C# Quick Overview
MSDN Getting Started Site

Happy C#!

No comments:

Post a Comment