C# لية

بسم الله الرحمن الرحيم

اللهم علمنا ما ينفعنا و انفعنا بما علمتنا و زدنا علما انك انت العليم الحكيم

 c-sharp

اية هوا تاريخ ال c#

ال C#  لغة برمجة انِشأت سنة 1999 على يد واحد اسمة Anders Hejlsberg  و انشأ فريق لتطويرها الفريق دا بيطور فى لغة البرمجة لحد دلوقتى اول ما انشأت انشأت بأسم Cool Programming language و لكن شركة ميكروسوفت اعترضيت لانه مكنش هينفع يكون اسم تجارى فا اختارو C#  الراجل دا هوا ال عمل لغة Pascal و لغة Delphi  و شارك فى عمل Java   سنة 1994 مع واحد اسمة James cosling ,و فى اول سنة انشأت فيها ال سى شارب كان الهجوم عليها قوى جدا من شركة sun-microsystems  ال كان شركاء فيها james cosling & Bill joy  و كانو بيقولو ان ال C#  تقليد للجافا و بالتالى هي لغة برمجة فاشلة

مع مرور اول سنة اكتشفوا ان ال C#  فعلا فيها مميزات من الجافا و لكنها لغة مختلفة فى التصميم لغة صممت باحترافية لتوفير السرعة و الدقة و الهدف الاسمى كان السهولة ف لغة ال C#  لغة سهلة جدا مقارنة بقوتها و دقتها و سرعتها لأن ميكروسوفت عملت بعض الادوات ال تخليك كشخص بيكتب C#  تشيل من تفكيرك بعض الحاجات ال بتؤدى على سرعة البرنامج بتاعك + غيرك فى لغات تانية بياخد فيها اضعاف الوقت ال انتا بتعمل بية البرنامج يعنى لو انتا عملت البرنامج فى شهر هوا هيعملة فى شهرين او تلاتة علشان يراعى المعااير ال معمولة فى ال C#  بدون تدخل منك .

 اية هيا مميزات ال c#

السى شارب ال syntax  بتاعها مقتبس من Java  +  C++  +  VB  طيب لية ناس عاملين لغة برمجة جديدة يخلو ال syntax   متشابة مع لغات تانية ؟ ببساطة لأنه تجاريا بكدا هيقدر يجذب عدد مهووول من مبرمجين ال جافا للغة ال C#  و بالتالى هيوفر عليك كمبرمج جافا نص المسافة لأن طريقة الكتابة تقريبا واحدة .

ال CLR  ال هوا Common language Runtime

دا بقا ال جندى المجهول و هوا عقل تانى شغال معاك و انتا بتكتب برنامجك بيعلى من اداء البرنامج عن طريق حاجات كتيرة زى مثلا ال Garbage collection  انتا مش محتاج تفضى كل ال variables  ال انتا بتستخدمها فى ال runtime  لان ال CLR  بيعمل كدا لوحدة ! طيب و يحصل اية لو فرضنا انى مفضتش ال Variables  ولا حاجة هتلاقى البرنامج بتاعك هنج او على الاقل تقل الجهاز لأنة بيسحب من الميمورى عالفاضى و كل ما مدة تشغيل البرنامج هتزيد البرنامج هيتقل فا بالتالى بيأمننا من حاجة اسمها Memory leak

تمام و اية كمان لأ فى حاجات كتيرة اوى تقدر تقراها من هنا عن ال CLR  و تعرف لية هوا مهم جدا

الدعم المستمر من ميكروسوفت

بسهولة جدا و خصوصا فى الوطن العربى هتلاقى شروحات و نقاشات و كورسات كاملة عن ال .NET  و دا هيوفر عليك كتير بالاضافة لأن ميكروسوفت دايما بتجدد فى لغة البرمجة نفسها و بتجدد فى ال .NET Framework  كلة خلينا نلقى نظرة على تاريخ الاصدارات

 

.Net Version Release history

Feature

Tool Release Date .Net Version

First release of .net

Visual Studio .Net

2002

1.0

Support for ASP.Net mobile controls
Supports side-by-side execution
Security Changes

Visual Studio 2003

2003

1.1

Generics (with generic collection)
Nullable Types
Support of IPv6 addresses in .net remoting
Common Language Runtime 2.0

Visual Studio 2005

2005

2.0

WCF (Communication framework)
WPF (Presentation framework)
WF (Workflow Foundation)

Visual Studio 2005

2006

3.0

LINQ
Addin / Plugin Model (System.AddIn.Contract.dll)

Visual Studio 2008

2008

3.5

Parallel Computing
Code Contracts
Lazy Initialization
Dynamic Language Runtime
In-process side-by-side hosting
Background garbage collection
Covariance and Contravariance
Common Language Runtime 4.0

Visual Studio 2010

2010

4.0

Enhanced regular expression support
Default culture for application domain
Zip compression
Support of array with size more than 2GB
Asynchronous file operation
Improvement in parallel computing

Visual Studio 2012

2012

4.5

Ability to collect diagnostics information
Ability to explicitly compact the large object heap (LOH) during garbage collection
Additional performance improvements such as ASP.NET app suspension
Multi-core JIT improvements

Visual Studio 2013

2013

4.5.1

.C# Version Release history

Feature

Tool Release Date .C# Version

First release of .net

Visual Studio .Net

2002

1.0

Partial classes
Support for generics
Iterators
Nullable syntax
Anonymous methods
Static class
Volatile keyword

Visual Studio 2005

2005

2.0

Implicitly Typed Local Variables
Extension Methods
Lambda Expressions
Type Inference
Object and Collection Initializers
Anonymous Types
Automatically Implemented Properties
Expression Trees

Visual Studio 2008

2008

3.0

Support for Covariance and Contravariance
Optional parameters and named arguments
Support for Dynamic and DLR
Enhanced support for COM interop

Visual Studio 2010

2010

4.0

Async / Await Feature
Support for caller information

Visual Studio 2012

2012

5.0

 

 

ادارة الاصدارات versioning

السى شارب + الفيجوال ستديو بيوفروا طرق سهلة جدا جدا لادارة الاصدارات من برنامجك بسهولة فائقة و سرعة + بيساعدك فى تشفير الكود على سبيل المثال فى حالة نشر موقع اونلاين مثلا + فى الاصدار الاخير 2013 و مع ظهور Windows Azure as a Microsoft Cloud Service  بقا ممكن تعمل Deploy  للموقع بتاعك و تنشرة على الكلاود بتكة واحدة .

ال Object oriented

ال oop  هي تعتبر فكر او نظام بيمشى بية الكود بتاعك و عن طريق النظام دا بسهولة جدا بتقدر توصل لاخطائك فى البرنامج بسهولة , بتقدر تطور الكود و تعدلة بسهولة , مش بتحتاج لانك تكرر الكود و بالتالى التعديل بيكوون فعال جدا لانك بتعدل فى سطر كود واحد بيعدل معاك فى كل صفحات برنامجك دا مش شرح خاص بال oop  و لكن فى مقال مكتوب بالعربى و شرحة سهل و جميل مبسط الجزئية دى جدا تقدر تشوفة من هنا و ال مخلينا بنقول ان ال oop  من احد مميزات ال C#  هو ان لغة السى شارب مبنية و مصممة بناءا على النظام دا .

دعم ال XML

السى شارب بتوفرلك طرق و classes  جواها خاصة بال XML  تخليك تعتمد على ال XML  فى اكتر من حاجة زى التوثيق بتاع البرنامج و عمل comments  بطريقة اكثر فاعلية او الاعتماد على ال XML  فى حفظ الداتا و دا بيديك سرعة مهولة فى برنامجك بالاضافة لأنك فى بعض الاحيان قد تعتبرة بديل للداتابيز فى حالة ان برنامجك كان نسبيا صغير .

مميزات اخرى

فى حاجات كتيرة فى السى شارب مش موجودة فى اللغات التانية او موجودة بس مش بنفس القوة ال فى ال سى شارب زى LINQ  + Lambda Expressions+ Extension methods + anonymous classes   + Entity Models  و حاجات تانية كتيرة تقدر تدور عليها على النت و هتلاقيها بسهولة .

بيئة عمل ميكروسوفت

ميكروسوفت شركة متميزة من حيث انها بتوفرلك بيئة عمل متكاملة بتساعدك على الانتاج و على سرعة الانتاج كمان و جودتة مش مجرد انتاج برنامج و خلاص , و استراتيجية ميكروسوفت دى واضحة من التسعينيات ببساطة ميكروسوفت قالتك كمبرمج احنا وفرنالك

لغة برمجة قوية + دعم عن طريق مواقع كتيرة اوى و منتديات  + نظام تشغيل متناسق جدا مع لغة البرمجة ال انتا بتشتغل بيها و مش بس كدا نظام التشغيل الاكثر استخداما على مستوى العالم بدون منازع و منقدرش ننكر انه نظام تشغيل قووى جدا و سهل جدا و الا مكنش حقق الانتشار دا + مع توجة العالم لل cloud و الاشارة لاهميتة ميكروسوفت قدمت Windows azure  ال تقدر تستخدمة كخدمة سحابية مميزة و الاهم من كونها مميزة انها متناسقة جدا مش شغلك و مع لغة البرمجة ال انتا كاتب بيها برنامجك , ميكروسوفت مش شركة هي بيئة منظمة بتوفرلك كل سبل الراحة و بتساعدك علشان تخرج برنامج قوى و سريع و متميز .

لية تشتغل بال C#  بقا من وجهة نظر سوق العمل

السى شارب لغة قوية زى ما ذكرنا فوق و سوقها فى العالم كبير و فى الوطن العربى كبير جداااا مقارنة باللغات التانية حيث ان ثقافة ال open source  اساسا مش متوفرة فى مصر ولا فى العالم العربى كلة لو جربنا ندخل على مواقع البنوك فى مصر على سبيل المثال او مواقع الشركات الكبيرة هتلاقيها asp.net  مواقع البنوك و الحكومات بنسبة 90% هتلاقيها .net

اكبر الشركات فى مصر شغالة .net   زى ITWorx  و e-finance  و شركات كتيرة + ان اغلب البرامج العملاقة معمولة بتقنيات ميكروسوفت و برامج ال ERP  و من اشهر المواقع ال معمولة asp.net

myspace.com

msn.com

music.yahoo.com

stackoverflow.com

Outlook.com

و مواقع تانية كتير جدا و حسب احصائية عملها موقع builtwith  كان دا الناتج

الشرح دا مكنش وافى لشرح كل مميزات السى شارب طبعا ولكنة ادى نظرة عامة كدا تقدر من خلالة تدور و تطلع على كل الحاجات الجديدة

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s