الفرق بين المراجعتين لصفحة: «برمجة سي/لماذا تتعلم لغة البرمجة سي؟»

تم حذف المحتوى تمت إضافة المحتوى
ط بوت: إصلاح أخطاء فحص ويكيبيديا من 1 إلى 104
ط بوت: تدقيق إملائي
 
سطر 25:
=== لماذا اللغة سي وليس لغة أخرى؟ ===
 
الغرض من التصميم الأساسي للغة سي هو إنتاج كود محمول مع الحفاظ على الأداء وتقليل البصمة بقدر الإمكان ([[W:وقت الحوسبة|وقت الحوسبة]]، إستخداماستخدام [[W:ذاكرة حاسوب|ذاكرة الحاسوب]]، عمليات القرص الصلب، إلخ.). هذا الأمر مفيد [[W:نظام تشغيل|لنظم التشغيل]] أو [[W:نظام مضمن|الأنظمة المدمجة]] أو غيرها من البرامج التي يكون للأداء فيها أهمية كبيرة (حيث وجود الواجهة “عالية المستوى" ستؤثر على الأداء). باستخدام لغة سي، من السهل نسبيًا الاحتفاظ بصورة ذهنية لما يفعله سطر معين حقًا، لأن معظم الأشياء مكتوبة بشكل صريح في الكود. تحتوي لغة سي على قاعدة بيانات كبيرة للتطبيقات منخفضة المستوى. وهي اللغة "الأم" لنظام [[w:يونكس|يونكس]]، مما يجعلها مرنة ومحمولة. لغة سي مستقرة وناضجة ومن غير المرجح أن تختفي لفترة طويلة وقد تم نقلها إلى معظم إن لم يكن كل المنصات.
 
أحد الأسباب القوية هو تخصيص الذاكرة. على عكس معظم لغات البرمجة ، تسمح لغة سي للمبرمج بالكتابة مباشرة على الذاكرة. تم تصميم التركيبات الرئيسية في لغة سي مثل الهياكل والمؤشرات والمصفوفات لبناء الذاكرة ومعالجتها بطريقة فعالة ومستقلة عن الآلة. بشكل مخصوص، تمنحك لغة سي إمكانية التحكم في تخطيط الذاكرة لهياكل البيانات. علاوة على ذلك، يخضع تخصيص الذاكرة الديناميكي لسيطرة المبرمج (مما يعني أيضًا أن إلغاء تخصيص الذاكرة يجب أن يتم بواسطة المبرمج). اللغات مثل [[W:جافا (لغة برمجة)|جافا]] و[[w:بيرل|بيرل]] تُعفي المبرمج من الحاجة إلى إدارة معظم تفاصيل تخصيص الذاكرة والمؤشرات (باستثناء [[w:تسرب الذاكرة|تسرب الذاكرة]] وبعض الأشكال الأخرى من الإستخدام المفرط للذاكرة). يمكن أن يكون هذا مفيدًا لأن التعامل مع تخصيص الذاكرة عند إنشاء برنامج عالي المستوى عملية معرضة بشكل كبير للخطأ. ومع ذلك، عند التعامل مع كود منخفض المستوى مثل جزء من نظام التشغيل الذي يتحكم في الجهاز، توفر لغة سي واجهة موحدة ونظيفة. هذه الإمكانيات غير موجودة في معظم اللغات الأخرى.