سي شارب
| سي# | |
|---|---|
|
|
|
| التصنيف | نمط برمجة: برمجة مهيكلة, برمجة أمرية, برمجة كائنية التوجه, event-driven, برمجة وظيفية, generic, reflective, concurrent |
| ظهرت في | 2000 |
| صممها | مايكروسوفت |
| الرخصة | احتكارية |
| التطوير | |
| المطور | مايكروسوفت |
| آخر إصدار | 5.0 |
| رقمه | 5.0 (2012-08-15) |
| التأثير | |
| متأثرة بـ | سي++,إيفل, جافا, Modula-3, باسكال |
| أثرت في | دي (لغة برمجة), إف شارب (لغة برمجة), جافا[1], Nemerle, Vala |
| متفرقات | |
| امتدادات الملفات | .cs |
| موقع ويب | http://msdn.microsoft.com/vcsharp |
| تعديل |
|
سي# (بالإنجليزية: #C) هي إحدى لغات البرمجة لغة برمجة متعددة الاستخدامات من إطار عمل دوت نت من إنتاج شركة مايكروسوفت يرمز إليها بالرمز #C وتنطق "سي شارب"، وهي إحدى اللغات التي أنتجتها شركة مايكروسوفت خروجا من ورطة الجافا والقضية الشهيرة التي رفعتها عليها شركة صن ميكروسيستمز [2]، تم الإعلان عنها في أواسط عام 2000 [3] تزامنا مع الإعلان عن إطار عمل دوت نت (بالإنجليزية: .NET Framework). تتميز سي# بأنها إحدى لغات البرمجة الكائنية التوجه وتجمع صفات سي++ وفيجوال بيسك حيث أنها تستخدم القواعد الخاصة بالسي++ وسرعة التطوير كما في فيجوال بيسك. لغة السي# موجهة إلى مبرمجي المايكروسوفت فيجوال سي++ ومبرمجي السي++ على أنها امتداد لهذه اللغات.
محتويات |
الإصدارات [عدل]
هذه قائمة بالإصدارات المختلفة للسي#:
| الإصدار | مواصفات اللغة | مترجم مايكروسوفت |
|---|---|---|
| 1.0 | ديسمبر 2001 | يناير 2002 |
| 2.0 | ديسمبر 2002 | نوفمبر 2005 |
| 3.0 | يونيو 2005 | نوفمبر 2006 |
| 4.0 | يونيو 2006 | |
| 5.0 | أغسطس 2012 |
بيئات تطوير السي# [عدل]
يوجد العديد من بيئات التطوير المتكاملة التي تستخدم لتطوير برامج بالسي#، مثل:
عن اللغة باختصار [عدل]
تشبه لغة سي# تعبيريّا لغة سي++. حتى انه يمكن بقليل من الجهد فهم كود سي# لمن يعرف سي++. سي# لغة كائنية التوجه بشكل كامل، اي ان كل الكود المكتوب بهذه اللغة عبارة عن كائنات -لا يوجد متغيرات مستقلة - لا يمكن تعريف متغيّر خارج الفئة(بالإنجليزية: Class).. وتستخدم اللغة مكتبات الدوت نت (بالإنجليزية: net.) الجاهزة، مثال على برنامج بلغة سي# (ترقيم الأسطر ليس ضمن البرنامج \ عند نسخك البرنامج تجاهل هذه الارقام (امسحها))
1. using System; 2. using System.Collections.Generic; 3. using System.Text; 4. namespace hello 5. { 6. class Program 7. { 8. static void Main(string[] args) 9. { 10. Console.WriteLine("Hello World"); 11. Console.WriteLine(5 + 6); 12. Console.WriteLine("Bay!!"); 13. 14. } 15. } 16.}
نتيجة البرنامج:
|
Hello World |
الشرح: السطر 2 و 3 لم نستخدمها يمكنك الاستغناء عنها. السطر 1 يعلن اننا نريد استخدام نطاق الأسماء(بالإنجليزية: systm namespace)المسمّى: system وهو نطاق يحتوي على فئات جاهزة (مثل الفئة Console) التي استخدمناها في السطور 10 11 12. سطر 4 : بداية اسم نطاق لبرنامجنا (نخن نختار الاسم)، وهو بدوره سيحتوي الفئة التي ستحتوي برنامجنا. 5 : قوس فاتح (نفتتح به كتلة من الأوامر والبيانات) 6: بداية الفئة(بالإنجليزية: Class) الخاصة ببرنامجنا. 7: قوس فاتح سيحتوي فحوى الفئة(بالإنجليزية: Class). 8: بداية الدالة الرئيسية - التي يجب أن تتواجد في كل برنامج سي#، ومنها يبدأ التنفيذ وهي الدالة Main الكلمة static تعني ان الدالة يمكن استدعائها دون الحاجة إلى إنشاء كائن للفئة التي تحتوي الدالة(هذا معناها هنا في هذا السياق - اما معناها العام فلن نشرحه هنا). void تعني ان الدالة Main لن ترجع قيمة (هناك دوال ترجع قيمة مقل دالة لجمع رقمين وترجع لنا المجموع) Main كما قلنا أهم الدوال.(string[] args) هذه قائمة بالبرامترات التي تستقبلها الدالة - لن نناقشها الآن، لكن إذا اردنا تمرير برامترات إلى دالتنا هذه فيجب تمريرها عبر سطر الاوامر بعد اسم البرنامج مثلا: c:\myprogram para1 para2 هكذا مررنا للدالة Main برامترات. 10 11 12 استخدمنا الدالة WritLine لكتابة سطر على الشاشة. هذه الدالة تابعة للفئة Console التي تتبع بدورها لنطاق الأسماء system. تقوم هذه الدالة بعمل ذكي، فهي تترجم كل ما تضعه بين الاقواس إلى نص وتكتبه على الشاشة. ففي السطر 11 كتبنا 5 + 6 قامت الدالة بتحويل الناتج (11) إلى تص وكتبته على الشاشة. السطور 10 11 12 هنّ استخدامات لنفس الدالة. 14 15 16 هي اقواس اغلاق 14 اغلقنا الدالة 15 اغلقنا الفئة (بالإنجليزية: Class). 15 اغلقنا اسم النطاق (بالإنجليزية: namespace).
انظر أيضا [عدل]
- إطار عمل دوت نت
- مايكروسوفت فيجيوال ستوديو
- سي إل أي
- SharpDevelop
- مقارنة جافا وسي شارب
- مقارنة سي شارب وفيجوال بيسك
المراجع [عدل]
- ^ Cornelius, Barry. "Java 5 catches up with C#". خدمات حوسبة جامعة أكسفورد. http://www.barrycornelius.com/papers/java5/onefile.
- ^ مدونة جيمس كوفاس، درس في تاريخ سي# ودوت نت.
- ^ تاريخ سي# المختصر
وصلات خارجية [عدل]
- الصفحة الرئيسية للسي#
- دليل برمجة سي#
- مشاريع مفتوحة المصدر كُتِبت بالسي#
- موقع عربي يحوي مشاريع مفتوحة المصدر كُتِبت بالسي#
- Baltie - بيئة تطوير سي# للأطفال والصغار
- مشروع مونو
- مدونة انا سي شارب
- Full C# Online book
|
|
|||||
|
||||||||||||||||||||||