Get Even More Visitors To Your Blog, Upgrade To A Business Listing >>

CSharp.NET Tutorial – Day 5

Tags: language

In previous articles, we have discussed all the .NET framework related features available like what is platform dependent, what is platform independent, independency in Java, independency in .NET, most beautiful feature of .NET is Language Independency (or) Interoperability, what is .NET and its languages, technologies, servers, etc, what is framework and development of .NET framework, what are CLI specifications and its components, what are .NET Framework Versions available, brief on Base class libraries, Win forms, ASP.NET, ADO.NET, WPF, WCF, WF, Card Space, LINQ, PLINQ, TPL, CLR (Common Language Runtime), Security Manager, Class Loader, JIT compiler (Just In Time), Garbage Collector, Automatic Memory Management, and Manual Memory Management, what are .NET framework versions available and their features specific to version and also discussed the most important one in .NET is Common Language Runtime (CLR).

Please find below those links for accessing the articles
CSharp.NET Tutorial - Day 1 
CSharp.NET Tutorial - Day 2 
CSharp.NET Tutorial - Day 3 
CSharp.NET Tutorial - Day 4 

Now, in this article we start learning C# Programming Language and will cover History of the language, design goals of C# listed by ECMA, versions of C#, new features added in C# 2.0, new features added in C# 3.0, new features added in C# 4.0, features added in C# 5.0,

C# Programming Language

It is an Object Oriented Programming Language developed by Microsoft as part of the .NET initiative and later approved as a standard by ECMA and ISO.  It is one of the Programming languages designed for the CLI.

ANDERS HEJLSBERG leads development of the language which has procedural object oriented syntax based on CPP and influences from several other programming languages most importantly DELPHI and JAVA with particular emphasis on simplification.


History of the Language
During the development of .NET, the class libraries were originally written in a language called Simple Managed C (SMC), later the language had been renamed as C Sharp and the class libraries as well as ASP.NET Runtime have been ported to C#.

C# principle designer and lead architect, ANDERS HEJLSBERG has previously involved in design of Visual J++, Borland Delphi and Turbo Pascal languages.  In interviews and technical papers, he has stated that FLAWS in most of the major programming languages like CPP, Java, Delphi and Smalltalk drove the design of C# programming language.

Design Goals
The ECMA standard lists the below design goals for C#:
1) It is intended to be a simple modern general purpose and object oriented programming language.
2) The language should include strong type checking, array bound checking, detection of attempt to use uninitialized variables, source code portability and automatic memory management.
3) The language is intended for use in developing software components that can take advantage of distributed environments.
4) Programmers portability is very important especially for those programmers already familiar with C and CPP.
5) Support for Internationalization is very important.
6) C# is intended to be suitable for writing applications to both hosted and embedded systems.

Versions of C#
·         C# 1.0
·         C# 1.5
·         C# 2.0
·         C# 3.0
·         C# 4.0
·         C# 5.0

Now, we will discuss the features added in different C# versions.  In order to get a big picture of the whole evolution of C# language, first I summarized all the key features into a C# Evolution Matrix for reference as below:


Features New in C# 2.0
1) Partial classes
2) Generics (or) Parameterized types
3) Static classes
4) Anonymous Delegates
5) The Accessibility of property accessors can be set independently
6) Nullable value types, which provides improved interaction with SQL databases.
7) Coalesce (??) returns the first of his operands which is not NULL (or) NULL is known’s such operand.

Features New in C# 3.0
1) Language Integrated Query (LINQ)
2) Object initializes and collection initializers
3) Anonymous types
4) Implicitly typed arrays
5) Lambda expressions
6) Automatic properties
7) Extension methods
8) Partial methods

Features New in C# 4.0
1) Dynamic programming and Lookups
2) Named and optional parameters
3) Co-variance and contra variance
4) Indexed properties
5) COM specific interop features

Features New in C# 5.0
1) Async Feature
2) Caller Information

CSharp.NET Tutorial - Day 6


This post first appeared on Dot Net Programming (C#, Asp.Net, ADO.Net, WCF, WPF, Ajax, LINQ), please read the originial post: here

Share the post

CSharp.NET Tutorial – Day 5

×

Subscribe to Dot Net Programming (c#, Asp.net, Ado.net, Wcf, Wpf, Ajax, Linq)

Get updates delivered right to your inbox!

Thank you for your subscription

×