CALM/arwiki huggingface dataset:
يبدو أن الأزمة وبشكلها الحالي في طريق مسدود. فالسوفييت لم يعطوا أي إشارة بالتراجع بل واعطوا تلميحات معاكسة. والأمريكان ليس لديهم سبب للاعتقاد بخلاف ذلك ثم أنهم بالمراحل الأولى من التجهيز بالغزو. إلى جانب ضربة نووية للاتحاد السوفييتي في حال كانت ردة فعلهم عسكرية.
مفاوضات سرية.
بالواحدة ظهرا طلب أحد اعضاء الاستخبارات السوفييتية من الصحفي الأمريكي في قناة ABC جون سكالي (خلال دعوة غداء)التوسط لدى الحكومة الأمريكية لأن "الحرب على حافة الاندلاع" -على حد قول العميل الروسي- وطلب منه عمل اتصالاته مع أصدقائه ذوو المناصب الرفيعة بالخارجية الأمريكية ليرى إن كانوا يرغبون بالحلول الدبلوماسية. واقترح بان تحتوي الصفقة على أخذ الضمانات من الاتحاد السوفييتي لإزالة الأسلحة تحت إشراف الأمم المتحدة وأن يعلن كاسترو بعدم دخول مثل تلك الأسلحة بالمستقبل، مقابل إعلان رسمي أمريكي بأنهم لن يغزو كوبا. رد الأمريكان بان طلبوا من الحكومة البرازيلية إيصال رسالة إلى كاسترو بأنهم لايرغبون بغزو الجزيرة في حالة إزالة الصواريخ.
بالساعة 6:00 مساء استلمت الخارجية الأمريكية رسالة يبدو أنها من خروتشوف شخصيا، وكما وصفها روبرت كيندي بانها طويلة جدا وعاطفية. كرر فيها خروتشوف الخطوط العريضة والتي قيلت لسكالي قبل ذلك، "أقترح: نحن من جانبنا سنعلن أن سفننا المتجهة إلى كوبا لاتحمل أي تسليحات. وأنت ستعلن بان الولايات المتحدة لن تغزو كوبا بجيوشها ولن تدعم أي قوة أخرى تحاول التفكير بغزو كوبا. ثم سيختفي أي حضور ضروري لمستشارينا العسكريين في كوبا". بالساعة 6:45 وصلت أخبار عرض العميل السوفييتي لسكالي والتي فسرت أنها من نتاج خروتشوف نفسه. وقد اعتبرت الوثيقة رسمية ودقيقة، بالرغم من المعلومات التي وردت لاحقا بأن العميل الروسي قد عمل من تلقاء نفسه وبدون دعم رسمي. وتم إعطاء الأوامر بدراسة الرسالة دراسة دقيقة وقد استغرق ذلك الليل كله.
استمرار الأزمة.
كان كاسترو شبه متأكد من أن هناك غزو أمريكي قريب للجزيرة، وأرسل رسالة لخروتشوف ويبدو من أنه يدعوه لتوجيه ضربة استباقية للولايات المتحدة. وقد أمر جميع الأسلحة المضادة للطيران بضرب أي طائرة أمريكية تحلق فوق الجزيرة، حيث أن هناك أوامر سابقة بضرب فقط أي سرب من طائرتين فأكثر. بالساعة 6:00 صباحا يوم 27 أكتوبر أرسل عملاء الCIA مذكرة قالوا فيها من الواضح بأن 3 من 4 مواقع صواريخ في سان كريستوبال وموقعين في ساغو لا غراند يعملان بكامل طاقتهما. وأيضا الجيش الكوبي مستمر بمتابعته للموضوع، ولكنهم تحت أوامر بعدم التشغيل إلا إذا تعرضوا لهجوم.
بالساعة 9:00 صباحا بدأ راديو موسكو بإذاعة رسالة من خروتشوف مناقضة للرسالة التي أرسلت الليلة الماضية، معطية عرضا جديدا وهو إزالة الصواريخ من كوبا بالمقابل إزالة صواريخ جوبيتر من تركيا. فطوال فترة الأزمة أعلنت تركيا وبشكل متكرر عن غضبها إذا تم إزالة صواريخ جوبيتر من أراضيها. فاجتمع أعضاء اللجنة التنفيذية مرة أخرى لمناقشة الوضع المستجد، فاستخلصوا بأن التغيير بالخطاب كان خلال نقاش ما بين خروتشوف وباقي أعضاء الحزب بالكرملين. وأبلغهم ماكنامارا بأن هناك باخرة أخرى "غروزني" على بعد خارج الحدود البحرية وسوف يتم اعتراضها. وأخبرهم أيضا بأنهم لم يبينوا للإتحاد السوفييتي خط الحظر واقترح بتمرير تلك المعلومات خلال يو ثانت بالأمم المتحدة.
بالساعة 11:03 صباحا وخلال اجتماع اللجنة وصلت رسالة من خروتشوف. وتقول بعض المقاطع من الرسالة: "إنك منزعج من كوبا. وأنت تقول إن هذا يزعجك لأنها تبعد عن سواحل الولايات المتحدة 90 ميلا فقط عبر البحر. لكن... أنت وضعت صواريخ ذات قوة تدميرية هائلة، من النوع الذي تسميه هجومية في تركيا، وملاصقة لنا تماما... لذلك فأقترح التالي: نحن على استعداد لإزالة الأشياء التي تعتبرها هجومية من كوبا... بالمقابل يعلن ممثليكم بأن الولايات المتحدة سوف تزيل الأشياء النظيرة لها من الأراضي التركية... ثم بعد ذلك، يقوم أشخاص موكلون من مجلس الأمن للأمم المتحدة بتفتيش المواقع لمعرفة مدى استيفاء للوعود التي قطعت." وقد استمرت اللجنة باجتماعها حتى نهاية اليوم.
بالساعة 12:00 بتوقيت الساحل الشرقي تم ضرب طائرة أمريكية من نوع U-2 فوق الأراضي الكوبية وإسقاطها بواسطة صواريخ سوفييتية S-75 موضوعة بكوبا مما زاد من توتر النقاش ما بين الولايات المتحدة والاتحاد السوفييتي. وقد علم بعد ذلك أن قرار ضرب الطائرة جاء من قائد سوفييتي لم تحدد هويته وتحت طائل تفويضه الخاص. بعدها أي بحوالي الساعة 3:41 مساء تعرضت عدة طائرات استطلاع (F-8) كانت بمهمة تصوير استطلاعي على مستوى منخفض لإطلاق نار وأصيبت إحداهم بطلقات 37مم ولكنها استطاعت العودة للقاعدة.
بالرابعة من بعد الظهر اجتمع كيندي مع اللجنة التنفيذية بالبيت الأبيض وأمر بإرسال رسالة فورية ليوثانت يسأله إن كان السوفييت يرغبون بتعليق العمل بالصواريخ خلال تلك المناقشات المستمرة. وخلال ذلك الاجتماع تم الإعلان بأن طائرة يو-2 قد اسقطت. مع إنه قال قبل ذلك بأنه سوف يصدر أوامر بمهاجمة أي موقع يطلق النيران، ولكنه فضل هنا ترك الموضوع وعدم الرد إلا إذا ماتم هجوم آخر. يتذكر ماكنامارا في مقابلة بعد الأزمة ب 40 عاما قائلا:
صياغة خطاب الرد.
خلال الاجتماع، اقترح كيندي بتبني عرض خروتشوف لإبعاد شبح الصواريخ، لكن اللجنة كانت ضد العرض لأنه يضعف هيبة الناتو، والحكومة التركية كانت قد كررت رفضها لمثل هذا العرض. الشيء الذي يجهله معظم أعضاء تلك اللجنة أن روبرت كيندي قد قابل السفير السوفيتي في واشنطن ليطلع ماإذا كانت تلك النوايا حقيقية أم لا.
وخلال الاجتماع، ظهرت خطة جديدة اقتنع بها كيندي بصعوبة، وتطلب تلك الخطة من الرئيس بتجاهل عرض خروتشوف الأخير والرد على عرضه الأول. وقد كان كيندي مترددا بالبداية، مقتنعا بأن خروتشوف لن يوافق على العرض بسبب عرضه الجديد، لكن ليويلن تومسون (السفير السابق للإتحاد السوفييتي) قال بأنه قد يعطي الموافقة على ذلك. مستشار البيت الأبيض القانوني تيد سورينسن وروبرت كيندي تركا الاجتماع لصياغة الخطاب وعادا بعد 45 دقيقة مع الخطاب وقد عمل به الرئيس عدة تغييرات قبل عمل الموافقة النهائية لطباعته وإرساله.
بعد انتهاء اجتماع الهيئة، كان هناك اجتماع صغير بالمكتب البيضاوي. ناقشت فيه المجموعة على ضرورة إرسال الرسالة مع لهجة مشددة للسفير الروسي بأنه في حالة عدم سحب الصواريخ، سيكون الرد عسكريا لسحبها. وقد أضاف الوزير دين رسك فقرة بأنه تركيا لن تكون طرفا بالمقايضة، ولكنه سيكون معلوما بأن سحبنا للصواريخ سيصبح طوعيا بعدها مباشرة، وقد وافق الرئيس وتم إرسال الرسالة.
اجتمع فومين مرة أخرى مع سكالي. وسأله سكالي: لماذا كانت ردود خروتشوف بالرسالتين مختلفة، فادعى فومين بأنه قد يكون ضعف الاتصالات هو السبب. فرد سكالي عليه بأن كلامه غير موثوق وصرخ قائلا: "بأنها خيانة كريهة الرائحة". واقر له بأن الغزو سيكون بعد عدة ساعات، وعند تلك النقطة قال فومين بأنه يتوقع أن يصل الرد من خروتشوف سريعا إلى الولايات المتحدة. وألح على سكالي إبلاغ وزارة الخارجية بأنه لايقصد بأي خيانة. فرد عليه أنه لا يعتقد بأن سيصدقه أحد، وإن وافق على إيصال الرسالة، فتفرق كليهما إلى طريقه. وقد أرسل سكالى مذكرة فورية إلى اللجنة التنفيذية يبلغهم بما حصل.
كانت هناك قناعة داخل الإدارة الأمريكية بأن تجاهل العرض الثاني والعودة للعرض الأول سيضع خروتشوف في موقف صعب جدا، فالتجهيزات العسكرية مستمرة، وتم استدعاء جميع العاملين بسلاح الطيران للتواجد في قواعدهم تحسبا لأي طارئ. وقد وصف روبرت كيندي هذا المزاج العام: "لم نتخل عن جميع الأمل الموجود، ولكن ماهو الأمل المتبقي مع خروتشوف ليراجع مقترحاته بالساعات التالية. إنه شيء نأمله ولم نتوقعه. المتوقع هي مواجهة عسكرية ستكون يوم الثلاثاء، وربما غدا..".
في الساعة 8:05 مساء أُرسل الخطاب الذي تم صياغته هذا اليوم. ومفاده : "كما قرأت رسالتك، فإن الخطوط العريضة لمقترحك مقبولة بشكل عام وهي كما فهمتها: 1) موافقتك على إزالة أنظمة الصواريخ من كوبا تحت إشراف ورقابة الأمم المتحدة، ثم القيام بإشراف أمني لمنع أي إدخال آخر لمثل تلك المنظومات إلى كوبا. 2) نحن ومن جانبنا موافقون إنشاء الترتيبات الكافية من خلال الأمم المتحدة لضمان استمرار وتنفيذ الالتزامات التالية: (أ) إزالة الفورية للحظر الواقع. و(ب) إعطاء الضمان بعدم غزو كوبا". الخطاب قد تم إرساله للصحافة لضمان وصولها بسرعة.
مع إرسال الرسالة كان هناك برنامج عمل على طاولة البحث. لأنه وكما لاحظ روبرت كنيدي كان التوقع بالموافقة ضعيف. في الساعة 9:00 مساء اجتمعت الهيئة مرة أخرى لمراجعة أحداث اليوم التالي. كانت الخطط الموضوعة هي ضربات جوية على منصات تلك الصواريخ بالإضافة إلى أهداف اقتصادية، كأماكن تخزين النفط. وصرح مكنامارا بأنه سيتعين عليهم تجهيز التالي: حكومة لكوبا، لأننا سنحتاج لذلك. ثانيا خطة عمل للرد السوفياتي في أوروبا، لأنهم بالتأكيد سوف يفعلون شيئا ما هناك.
في الساعة 12:12 صباح يوم 27 أكتوبر، أبلغت الولايات المتحدة حلفائها بحلف الناتو بان "الوضع يتطور وبسرعة... وقد تجد الولايات المتحدة وخلال فترة قصيرة جدا مضطرة مع حلفائها الغربيين لفعل عمل عسكري ضروري". وقد أضيف إلى هذا القلق تقرير من ال CIA وصل الساعة 6:00 صباحا يفيد بأن جميع منصات الصواريخ في كوبا قد باتت جاهزة للعمل.
في هذا اليوم 27 أكتوبر، ألقت البحرية الأمريكية مجموعة من قنابل الأعماق على الغواصة السوفياتية (B-59) داخل نطاق الحظر، غير مدركين بأنها مسلحة بطوربيدات ذات رؤوس نووية مع أوامر سمح لها أن تستخدم هذا السلاح إذا ثقبت الغواصة (ثقب في جسم السفينة جراء قنابل الأعماق أو إطلاق نار من السطح).
إنهاء الأزمة.
بعد مشاورات مطولة بين السوفييت والإدارة الأمريكية، وافق كيندي على المطالب المتعلقة بإزالة جميع قواعد الصواريخ الموجودة على الحدود التركية السوفييتية بالمقابل إزالة خروتشوف لجميع المنصات الموجودة بكوبا.
في الساعة ال 9:00 من صبيحة 28 أكتوبر، وصلت رسالة من خروتشوف كانت قد أذاعها راديو موسكو. صرح فيها خروتشوف التالي:" أصدرت الحكومة السوفيتية إضافة إلى القرارات السابقة بوقف أي أعمال إضافية في بناء قواعد للأسلحة، فقد أصدرت قرار جديد بتفكيك الأسلحة التي توصف بالهجومية وقواعدها وإعادتهم إلى الاتحاد السوفييتي".
وجاء رد كيندي سريعا، وذلك بإصدار بيان فيه دعوة "إلى المساهمة البناءة والهامة في عملية السلام". واستمر فيها قائلا: "أخذت رسالتي إليك بالسابع والعشرين من أكتوبر وردك اليوم بعين الاعتبار بالقيام بمهمة قوية من جانب حكومتينا والتي ينبغي تنفيذها فورا. وستقوم الولايات المتحدة بعمل تقرير في إطار عمل مجلس الأمن بخصوص كوبا على النحو التالي: ستعلن بأن حكومة الولايات المتحدة الأمريكية سوف تحترم حرمة الحدود الكوبية، وسيادتها، وتتعهد بعدم التدخل بالشؤون الداخلية وعدم إقحام أنفسهم وعدم السماح باستخدام الأراضي الأمريكية كجسر لغزو كوبا، وستمنع كل من يخطط لأعمال عدوانية لكوبا سواء من الأراضي الأمريكية أو أراضي دول مجاورة لكوبا.
يعتبر كاسترو من أكبر المستفيدين من معاهدة كيندي-خروتشوف، فهي من الجانب العملي قد شددت من قبضته داخل كوبا التي لن تهاجمها أمريكا. من جانب آخر كانت كوبا هي المكان الوحيد الذي يستطيع خروتشوف أن يضع صواريخه بها لكي يقايض بها كيندي لإزالة الصواريخ الموجودة بتركيا، لهذا لن يكون للسوفييت نية اللجوء إلى حرب نووية إن كانوا خارج مرمى نيران الأمريكان. لكن بما أن سحب الصواريخ من تركيا لم يكن له صدى قوي بذلك الوقت، فإن خروتشوف بدأ وكأنه الطرف الخاسر بتلك الأزمة. وأدرك كيندي بأنه ربح الرهان ما بين القوتين الجبارتين وظهر خروتشوف كأنه ذليل. ولكن لم تكن تلك هي الحالة بشكل عام حيث أن كلا من خروتشوف وكيندي حاولا جهدهما لتجنب أزمة رغم الضغط الشعوب على حكوماتهم، واستمر خروتشوف بالحكم لمدة عامين بعد ذلك.
نتائج الأزمة.
أحرجت تلك التسوية خروتشوف والاتحاد السوفياتي بشكل حاد وذلك أن سحب الولايات المتحدة لصواريخها من تركيا لم يكن له تأثير إعلامي قوي— بل كانت اتفاقية سرية ما بين كيندي وخروتشوف. واعتبر الروس بأنه انسحاب من الأوضاع التي بدؤوا بها— ولو أنهم تصرفوا بشكل جيد لأصبحت الأمور مغايرة وتسير بالإتجاه المعاكس. وقد تنحى خروتشوف عن الحكم بعدها بسنتين بسبب (وإن كان جزئيا) الإحراج الذي تلقاه المكتب السياسي للجنة المركزية للحزب من سوء تصرف خروتشوف بتسريع وتيرة الأزمة في البداية وبالآخر يقدم تنازلات للولايات المتحدة. ولكن هذه الأزمة لم تكن الوحيدة التي أسقطت خروتشوف عن الحكم، إنما السبب الرئيسي هو قناعة منافسيه السياسيين مثل ليونيد بريجنيف بعدم قدرته بأخذ زمام الأمور عند الأزمات العالمية.
أما كوبا، فقد حدثت خيانة جزئية من طرف السوفيات نظرا لأن القرارات بشأن كيفية حل الأزمة قد تمت ما بين كيندي وخروتشوف، ولم تعالج المواضيع التي تهم كوبا كوضع جوانتاناموا. مما أدت إلى تدهور بالعلاقات الكوبية السوفياتية لعدة سنوات. ولكن استفادت كوبا من شرط عدم تعرضها للغزو.
أحد القادة الميدانيين بالجيش الأمريكي لم يكن راضيا عن النتيجة أيضا. إنه الجنرال ليماي الذي أبلغ الرئيس بأن ماحصل هو أكبر هزيمة بالتاريخ الأمريكي، وقد كان يجب علينا أن نبدأ الغزو مباشرة.
أزمة الصواريخ الكوبية حفزت على عمل خط ساخن ومباشر ما بين موسكو-واشنطن، الغرض من تلك الخاصية هي تسهيل عمل اتصالات مباشرة ما بين قادة الدولتين النوويتين عند حل أي أزمة شبيهة بأزمة أكتوبر 1962.
بعض المعلقون السياسيون (مثل ميلمان 1988 وهيرش 1997) قالوا بأن تلك الأزمة هيئت الأجواء لأمريكا لاستخدام الحلول العسكرية، مثل حرب فيتنام.
المواجهة الأمريكية-الروسية كانت متزامنة مع الحرب الهندية الصينية، التي بدأت وقت الحظر العسكري الأمريكي لكوبا. وتكهن المؤرخون بأن الهجوم الصيني ضد الهند من أجل أراض متنازع عليها كان مقصدها ليتزامن مع الأزمة الكوبية.
نقاط تاريخية.
خلص المؤرخ والمستشار في عهد كيندي أرثر شليزنجر بمقابلة لراديو (National Public Radio) في 16 أكتوبر 2002 بأن كاسترو لم يكن يريد تلك الصواريخ وإنما وافق تحت ضغط سياسي من خروتشوف وبحجة "التضامن الاشتراكي". وأقر أيضا بانه لم يكن مرتاح تماما لفكرة الصواريخ في أراضي كوبا. فالجمعية الوطنية الكوبية للثورة قبلت ذلك لحماية كوبا ضد أي هجوم أمريكي، ولمساعدة حليفهم الرئيسي وهو الاتحاد السوفياتي. وقد أقر شليزنجر بأن كاسترو بعد قبوله الصواريخ قد غضب من خروتشوف أكثر من كيندي بعد الأزمة، لسحبه الصواريخ بدون أن يقرر النقاش معه في مسألة السحب.
أوائل عام 1992 جرى التأكيد على أن القوات السوفياتية الرئيسية في كوبا وقبل أندلاع الأزمة قد استلمت رؤوس حربية نووية تكتيكية لراجمات الصواريخ وقاذفات القنابل اليوشن IL-28. مع أن الجنرال أناتولي جريبكوف أحد أعضاء السوفيات المسؤولين عن تلك العملية، قال بأن قائدهم وهو الجنرال عيسى بلييف كانت له صلاحية مسبقة لاستخدامها إذا شنت الولايات المتحدة حملة واسعة النطاق لغزو كوبا. وقال بأن تفويض الكرملين لم يوقع عليه ولم يتم ارساله. روايات أخرى تقول بأن بلييف قد أعطي له التفويض لاستخدام الأسلحة النووية التكتيكية ولكن بالحالات القصوى جدا -كغزو الولايات المتحدة للجزيرة وبحيث تكون الاتصالات مقطوعة مع موسكو- ويبدو أن القوات الأمريكية كانت مستعدة للهجوم (بعد عملية إسقاط طائرة ال U-2 ولكن قبل القاء كيندي خطابه التلفزيوني)، وقد ألغى بعدها خروتشوف التفويض الذي أعطاه لبلييف لاستخدام الأسلحة التكتيكية النووية وحتى بالحالات القصوى.
وكان كاسترو يعلم بأن الرؤوس الحربية قد وصلت بالفعل كوبا وقد أوصى باستخدامها، بالرغم من يقينه بأن ذلك سيدمر الجزيرة بأكملها عند اندلاع حرب نووية.
اطلقت مكتبة جون ف كيندي في أكتوبر 1997 مجموعة من التسجيلات توثق الأزمة خلال الفترة من 18 وحتى 29 أكتوبر. تلك التسجيلات قد تم عملها داخل المكتب البيضاوي، وتشمل مذكرات النقاش الشخصية للرئيس كيندي، ومحادثاته مع مستشاريه، والمقابلات مع هيئة الأركان المشتركة واعضاء من اللجنة التنفيذية الخاصة.
يمكن القول إنه لم يتم تمييز أخطر لحظة في الأزمة بها حتى تم عمل مؤتمر هافانا لأزمة الصواريخ الكوبية في أكتوبر 2002، وحضره الكثير من قدامى محاربي تلك الأزمة، وقد علم أنه يوم 26 أكتوبر 1962 رمت المدمرة الأمريكية بيل (USS Beale) قنابل أعماق على غواصة كانت مجهولة الهوية لديهم، وقد كانت بالواقع غواصة سوفياتية ومجهزة بالأسلحة النووية. وقد اندلعت مشادة بين القادة الثلاثة مع الجنرال فاسيلي أرخيبوف الذي عارض قرارهم بإرسال طوربيد نووي لتدمير المدمرة الأمريكية. وهو بذلك له الفضل في تفادي نشوب حرب نووية بتلك اللحظة.
خليج هندوراس هو أحد فروع البحر الكاريبي تحيط به شواطئ بيليز وهندوراس وغواتيمالا. يبلغ طوله من شماله إلى جنوبه 200 كم. تصب العديد من أنهار أمريكا الوسطى فيه بما فيها الموتاجوا واللاجو وديلزابل.
يعد الخليج مقصدا للسياح سواء للإبحار فيه أو لمطالعة شعبه المرجانية. شهد عام 1961 هبوب إعصار هاتي والذي قام بتدمير العديد من المباني على شواطئ بيلز.
سي# (تلفظ سي شارب/see sharp) هي لغة برمجة متعددة الأنماط تتمتع بكونها سكونية التنميط وأمرية وتعريفية ووظيفية وتعتبر كائنية التوجُّه أو البرمجة الشيئية (بالإنجليزية: (Object-oriented programming - OOP) وعمومية وشيئية المنحى (غرضية التوجه) (باستخدام الفئات) كما تخضع لمبادئ البرمجة التركيبية المنحى.
قامت مايكروسوفت بتطوير هذه اللغة في إطار عملها على تطوير دوت نِت وتمت الموافقة على تعييرها من منظمة Ecma (المعيار Ecma-334) والمنظمة الدولية للمعايير (المعيار ISO/IEC 23270:2006). إن سي شارب إحدى لغات البرمجة المصممة للعمل على البنية التحتية المشتركة للغات البرمجة (CLI). صُممت لغة سي شارب لتكون لغة بسيطة وحديثة وعامة الأغراض وشيئية المنحى. وقد قاد أندرس هيلسبرغ فريق تطويرها.
الإصدار الأحدث من اللغة هو C# 8 وطرح في 2019 .
أهداف التصميم.
يدرج المعيار ECMA الأهداف التصميمية التالية للغة #C:
إن الاسم "C sharp" مستوحى من الرمز الموسيقي حيث يشير الرمز ♯ إلى أن النوتة المكتوبة مرتفعة أكثر بمقدار نصف درجة موسيقية. تتشابه هذه التسمية مع اسم لغة ++C حيث تشير "++" إلى وجوب زيادة المتحول بمقدار 1. يشبه الرمز ♯ شكلاً من أربع إشارات "+" (في شبكة 2x2) بما يعني ضمناً أن هذه اللغة هي زيادة بمقدار 1 على لغة ++C.
تم اختيار رمز الشباك (رمز اليونيكود U+0023) لتمثيل رمز شارب في كتابة اسم اللغة عوضاً عن الرمز ♯ (رمز اليونيكود U+266F) بسبب قيود تقنية تمنع من إظهاره (كافتقار دعم الخطوط القياسية وبعض المتصفحات للرمز ♯) كذلك عدم وجوده على لوحة المفاتيح القياسية.اتبع هذا التقليد أيضاً في معيار توصيف اللغة ECMA 334. على كل الأحوال تستخدم مايكروسوفت الرمز الموسيقي الصحيح عندما يمكنها عملياً القيام بذلك (على سبيل المثال في الحملات الدعائية أو على غلاف المنتج). استُخدمت اللاحقة "شارب" في عدد من لغات دوت نت المبنية على لغات أخرى بما فيها لغة جي شارب (لغة دوت نت صممتها مايكروسوفت بالاشتقاق من لغة جافا 1.1) ولغة إيه شارب (مشتقة من لغة أيدا) ولغة البرمجة الوظيفية إف شارب. أطلق على التحقيق الأصلي من لغة آيفل الخاص بدوت نت اسم آيفل شارب إلا أنه تم التخلي عن هذا الاسم بعد دعم آيفل بشكل كامل. استُخدمت هذه اللاحقة أيضاً في تسمية بعض المكتبات مثل Gtk شارب (تغليف دوت نت لمكتبة +Gtk ومكتبات جنوم أخرى) ومكتبة كوكوا شارب (تغليف مكتبة كوكوا).
بدأ تطوير منصة دوت نت بكتابة مجموعة من مكتبات الصفوف، وقد استخدم نظام تصريف مدار اسمه Simple Managed C أو اختصاراً SMC للقيام بذلك. لاحقاً وبالتحديد في كانون الثاني 1999 شكل أندرس هيلسبرغ فريقاً من المطورين بهدف بناء لغة جديدة اسمها "كول" ، يشكل الاسم اختصاراً لعبارة "لغة غرضية التوجه شبيهة بلغة C" . قررت مايكروسوفت الإبقاء على هذا الاسم إلا أنها تخلت عن ذلك لاحقاً لأسباب قانونية لها علاقة بحقوق العلامات المسجلة. على التوازي مع ذلك أُعلن مشروع دوت نت رسمياً في مؤتمر للمطورين المحترفين (PDC) في تموز عام 2000 وأعيد تسمية اللغة إلى سي# كما تم تصدير وقت التنفيذ الخاص بلغة إيه إس بي دوت نت بالإضافة إلى مكتبات الصفوف إلى هذه اللغة.
اعتبر مصمم لغة جافا جيمس غوسلينغ وبيل جوي وهو أحد مؤسسي شركة صن مايكروسيستمز التي أتت بلغة جافا أن لغة سي# ليست سوى "تقليداً" للغة جافا؛ وقد قال غوسلينغ معقباً "إنها [المقصود سي#] كجافا نوعاً ما ولكن بعد التخلي عن الاعتمادية والإنتاجية والأمان". كتب كل من كلاوس كرفت وأنجلكا لانجر في مقال لهما في مدونة "إن جافا وسي# لغتا برمجة متطابقتان تقريباً. وهذا تكرار مضجر يفتقر الإبداع"، "من الصعب جداً الادعاء أن جافا أو سي# لغة برمجة ثورية غيرت الأسلوب الذي نكتب فيه البرامج"، "لقد استعارت سي# الكثير من جافا -والعكس صحيح. حيث تدعم سي# ميزة التعليب وفك التعليب الآن وقريباً سوف نجد ميزةً شبيهة في جافا". قال أندرس هيلسبرغ في تموز عام 2000 أن سي# ليست "نسخة من جافا" بل أنها "أكثر قرباً إلى لغة سي++" من ناحية التصميم.
في تشرين الثاني 2005 أعلن عن الإصدار 2.0 من سي# ومن هنا بدأت سي# وجافا بالتطور في اتجاهات متزايدة الاختلاف. إن أول وأهم هذه الاختلافات كان في إضافة الأنماط العمومية إلى كلتا اللغتين حيث كان تحقيقهما لهذه الأنماط شديد الاختلاف حيث تقوم سي# بالتعامل مع الأنماط العمومية كصفوف حقيقية وتولد الكود الخاص بها وقت التنفيذ بينما تتعامل جافا مع هذه الأنماط كميزة مضافة إلى نحو اللغة تمكن المطور من كتابة كود عمومي كما تمكن المترجم من التأكد من صحة الأنماط فقط بينما لا تحول هذه الأنماط إلى أنماط حقيقية وقت التنفيذ ولا يتم توليد كود خاص بها على غرار سي#.
إضافة إلى ذلك فقد أضيفت إلى سي# مجموعة من الميزات الهامة بهدف تمكين استخدام البرمجة الوظيفية فيها كُللت بإضافة لينك في الإصدار 3.0 والإطار البرمجي الداعم لتعابير لامبدا والطرق الملحقة والأنماط غير المسماة. تمكن هذه الميزات المطور من استخدام تقنيات البرمجة الوظيفية عندما يكون من المستحسن القيام بذلك. إن إضافات لينك وغيرها من الميزات الوظيفية تساعد المطور على كتابة أسطر أقل عند القيام بمهام روتينية كالاستعلام من قاعدة بيانات أو إعراب ملف إكس إم إل أو البحث ضمن بنية معطيات بما يمكن من التركيز على هدف البرنامج المنطقي وتحسين مقروئيته وصيانته.
كان لدى سي# جالب للحظ اسمه آندي (سمي باسم أندرس هيلسبرغ) وقد أحيل إلى التقاعد في 29 كانون الثاني عام 2004.
عُرضت سي# على لجنة آيزو الفرعية JTC 1/SC 22 للمراجعة والتعيير، كان اسم المعيار ISO/IEC 23270:2003 وهو ملغى اليوم. تمت الموافقة فيما بعد على تعيير سي# وفق المعيار ISO/IEC 23270:2006.
هذه قائمة بالإصدارات المختلفة للسي#:
المكتبات وأُطُر العمل.
دعمت لغة سي# بعدد من المكتبات مثل:
ودعمت بالكثير من أُطُر العمل مثل:
لدى لغة سي# النحو التالي:
المزايا الفارقة.
تتفرد لغة سي# عن غيرها من لغات برمجة إطار عمل دوت نت في كونها مرتبطة بشكل وثيق بمزايا البنية التحتية المشتركة للغات البرمجة (CLI)، فعلى سبيل المثال تنسب معظم الأنماط الحقيقية إلى قرائنها من أنماط القيمة الموجودة في CLI. على الرغم من ذلك فإن توصيف اللغة لا يتطرق إلى متطلبات توليد الكود الخاصة بالمصرّف، بمعنى أن التوصيف لا يرغم مصرف سي# على توليد كود متوافق مع وقت التنفيذ المشترك للغات (CLR) أو توليد تعليمات متوافقة مع اللغة المشتركة الوسيطة أو أي تنسيق آخر. وهكذا يمكّن (نظرياً على الأقل) مصرّف سي# من توليد كود لغة الآلة مباشرة على غرار باقي المصرفات كمصرّف سي++ ومصرّف فورتران. فيما يلي بعض من المزايا الجديرة بالاهتمام كونها تميز لغة سي# عن لغتي سي وسي++ (بالإضافة إلى جافا لدى ذكر ذلك صراحة):
نظام الأنماط المشترك.
لدى سي# نظام أنماط موحد يدعى نظام الأنماط المشترك أو اختصاراً CTS. إن نظام الأنماط الموحد يقوم على مبدأ أن كافة الأنماط بما فيها الأنماط البسيطة كالأعداد الصحيحة هي صفوف مشتقة من الصف . على سبيل المثال يرث كل نمط الطريقة .
فئات أنماط المعطيات.
يصنف نظام الأنماط المشترك أنماط المعطيات ضمن فئتين:
تتصف الكائنات من نمط القيمة بأنها لا تملك "محدداً مرجعياً" ولا تمتلك خصائص المقارنة المرجعية - فمعاملات المساواة وانعدام المساواة بين أنماط القيمة تقوم بمقارنة القيمة الحقيقية للبيانات الموجودة ضمن الكائنات ما لم تكن معاملات المقارنة هذه محملةً بشكل زائد. تُشتق أنماط القيمة من النمط ولديها دائماً قيمة افتراضية كما يمكن إنشاؤها ونسخها في أي وقت. من أهم القيود المفروضة على أنماط القيمة هو عدم المقدرة على الاشتقاق من بعضها البعض (إلا أنها تستطيع تحقيق الواجهات) كما أنها لا يمكن أن تحوي بانياً افتراضياً (بدون بارامترات). إن الأنماط البسيطة مثل النمط (عدد صحيح ذو إشارة بطول 32 بتاً) والنمط (عدد فاصلة عائمة بطول 32 بت معرف من آي تربل إي) والنمط (وحدة كود من نظام يونيكود بطول 16 بت) والنمط (يعرف لحظة زمنية ما بدقة نانوثانية) هي أمثلة على أنماط القيمة. كذلك النمط (نمط تعدادي) والنمط (بنى معرفة من قبل المستخدم).
بمقابل ذلك تمتلك أنماط المرجع مفهوم المحدد المرجعي - أي أن كل كائن من النمط المرجعي يمتلك محدداً متميزاً عن محددات بقية الكائنات حتى وإن كان البيانات الموجودة ضمن كائنين هي ذاتها. ينعكس هذا المفهوم على عمليات مساواة أو عدم مساواة أنماط المرجع حيث تقوم باختبار المساواة المرجعية ولا تختبر مساواة القيم بينها إلا في حال تحميل المعاملات المقابلة بشكل زائد (كما هو الحال بالنسبة للنمط . بشكل عام لا يمكن إنشاء كائنات من النمط المرجعي ولا نسخ كائن موجود ولا إجراء مقارنات بين قيم كائنين مرجعيين، على الرغم من ذلك توفر بين أنماط المرجع خدمات كهذه عبر التصريح عن بانٍ عام أو عبر تحقيق الواجهة الموافقة (مثل و). بعض الأمثلة على أنماط المرجع النمط (الصف الأساسي الذي تشتق منه كافة الصفوف الأخرى) والنمط (سلسلة محرفية من النمط يونيكود) والنمط (الصف الأساسي الذي تشتق منه كافة المصفوفات).
كلا الفئتين قابلتان للتوسيع بأنماط جديدة معرّفة من قبل المستخدم.
التعليب وفك التعليب.
التعليب هو عملية تحويل كائن من نوع نمط القيمة إلى القيمة الموافقة كنمط مرجعي وهو أحد العمليات الضمنية في لغة سي#.
فك التعليب هو عملية تحويل قيمة كائن من نوع نمط مرجعي (معلّب مسبقاً) إلى القيمة الموافقة كنمط القيمة. يتطلب فك التعليب قسراً صريحاً للنمط. إذا كان الكائن المعلب من النمط يمكن عندها فك تعليب هذا الكائن فقط إلى النمط (أو إلى النمط ).
int foo = 42; // نمط القيمة
object bar = foo; // bar ضمن المتحول foo تعليب المتحول
int baz = (int)bar; // فك التعليب إلى نمط القيمة الأصلي
الأنماط العامة.
أضيفت الأنماط العامة إلى سي# بدءاً من الإصدار 2.0. تستخدم الأنماط العامة "بارامترات الأنماط" والتي تمكن المطور من تصميم صفوف وطرق دون الحاجة إلى تحديد الأنماط المستخدمة، حيث يتم تحديد هذه الأنماط فقط لدى استخدامها. تكمن الفائدة من ذلك بأن القدرة على استخدام بارامترات الأنماط العامة لإنشاء الصفوف والطرق يمكن من استخدامها بشكل فعال كونه يجنب تكاليف التنفيذ الإضافية التي تسببها عمليات التعليب وفك التعليب كما يوضح المثال التالي:
// التعريف عن الصف العام
public class GenericList&lt;T&gt;
class TestGenericList
static void Main()
// تعريف قائمة من النمط الصحيح
GenericList&lt;int&gt; list1 = new GenericList&lt;int&gt;();
// تعريف قائمة من نمط السلسلة المحرفية
GenericList&lt;string&gt; list2 = new GenericList&lt;string&gt;();
// ExampleClass تعريف قائمة من النمط المعرف من قبل المستخدم
GenericList&lt;ExampleClass&gt; list3 = new GenericList&lt;ExampleClass&gt;();
بالمقارنة مع قوالب سي++ يلاحظ أن أنماط سي# العمومية توفر أماناً أفضل إلا أنها في الوقت ذاته محدودة القدرة، فعلى سبيل المثال ليس من الممكن استخدام الأنماط العمومية كحدود للمعاملات الحسابية.
مثال "أهلاً بالعالم".
فيما يلي برنامج بسيط بلغة سي#، وهو إصدار من برنامج أهلاً بالعالم التقليدي:
class Program
Console.WriteLine("Hello world!");
سيقوم هذا البرنامج بطباعة العبارة !Hello World إلى الكونسول. لكل سطر في هذا البرنامج وظيفة معينة:
يقوم السطر السابق بإخطار المصرف أن يستخدم codice_1 كبادئة مرشحة للاستخدام للأنماط المستخدمة في الكود المصدري. في هذه الحالة عندما يصادف المصرف الكلمة codice_2 في الأسطر اللاحقة سوف يبحث عن نمط اسمه codice_2 مبتدئاً عملية البحث في التجميعة الحالية ومن ثم كافة التجميعات الأخرى المشار إليها في البرنامج. سوف يفشل المصرف في هذه الحالة في إيجاد النمط codice_2 وعندها سيحاول البحث عن نمط اسمه codice_5 مستخدماً codice_1 كبادئة لاسم النمط، وسينجح في إيجاده لأن اسم النمط الكامل هو بالفعل codice_5. إن الكلمة المفتاحية codice_8 تتيح للمبرمج أن يسرد كافة البوادئ المرشحة للاستخدام أثناء التصريف كبديل عن استخدام الاسم الكامل للنمط.
يعرّف السطر السابق الصنف codice_9. كل ما يوجد ضمن زوج القوسيين التاليين يتبع تعريف codice_9.