بدأ العديد من مشاريع لغة C الموجودة اليوم منذ عقود.

بدأ تطوير نظام التشغيل UNIX في عام 1969، وتمت إعادة كتابة الكود الخاص به في C في عام 1972. وقد تم إنشاء لغة C فعليًا لنقل كود نواة (kernel) UNIX من التجميع إلى لغة ذات مستوى أعلى، والتي ستقوم بنفس المهام مع عدد أقل من أسطر التعليمات البرمجية.

بدأ تطوير قاعدة بيانات Oracle في عام 1977، وأعيدت كتابة كودها من assembly إلى C في عام 1983. وأصبحت واحدة من أكثر قواعد البيانات شيوعًا في العالم.

في عام 1985، تم إصدار Windows 1.0. على الرغم من أن كود مصدر Windows غير متاح للجمهور، فقد ذكر أن النواة الخاصة به مكتوبة في الغالب بلغة C ، مع تجميع بعض الأجزاء. بدأ تطوير Linux kernel في عام 1991، وهو مكتوب أيضًا في   .C وفي العام التالي، تم إصداره بموجب ترخيص GNU وتم استخدامه كجزء من نظام التشغيل GNU . بدأ نظام التشغيل GNU نفسه باستخدام لغات البرمجة C و Lisp، لذلك فإن العديد من مكوناته مكتوبة بلغة C.

لكن برمجة لغة سي لا تقتصر على المشاريع التي بدأت منذ عقود، عندما لم يكن هناك العديد من لغات البرمجة كما هو الحال اليوم. لا تزال العديد من مشاريع C تبدأ حتى اليوم؛ هناك بعض الأسباب الوجيهة لذلك.

كيف يتم تشغيل العالم بواسطة C؟

على الرغم من انتشار اللغات عالية المستوى، تواصل لغة C تمكين العالم. فيما يلي بعض الأنظمة التي يستخدمها الملايين والمبرمجة بلغة C.

مايكروسوفت ويندوز

تم تطوير Windows kernel من Microsoft في الغالب بلغة C، مع بعض الأجزاء في لغة التجميع. لعقود من الزمان، كان نظام التشغيل الأكثر استخدامًا في العالم، والذي يحتوي على حوالي 90 بالمائة من حصة السوق، مدعومًا بنواة مكتوبة بلغة C.

لينكس

Linux أيضًا مكتوب في الغالب بلغة C، مع بعض الأجزاء في التجميع. حوالي 97 بالمائة من أقوى 500 حاسوب خارق في العالم يشغلون نواة لينكس. كما أنها تستخدم في العديد من أجهزة الكمبيوتر الشخصية.

ماك (mac)

يتم تشغيل أجهزة كمبيوتر Mac أيضًا بواسطة C، نظرًا لأن OS X kernel مكتوب في الغالب في C. كل برنامج وبرنامج تشغيل في Mac، كما هو الحال في أجهزة كمبيوتر Windows وLinux، يعمل على نواة تعمل بنظام C.

هاتف النقال

نواة iOS و Android و Windows Phone مكتوبة أيضًا في C. فهي مجرد تعديلات محمولة لنظام التشغيل Mac OS و Linux و .Windows kernels لذا فإن الهواتف الذكية التي تستخدمها كل يوم تعمل على نواة سي.

قوة لغة البرمجة C

قواعد بيانات لغة C

قواعد البيانات (databases) الأكثر شيوعًا في العالم، بما في ذلك Oracle Database و MySQL و MS SQL Server و PostgreSQL، يتم ترميزها في لغة  Cالثلاثة الأولى منها في الواقع باللغتين C و C++.

تُستخدم قواعد البيانات في جميع أنواع الأنظمة: المالية، الحكومية، وسائل الإعلام، الترفيه، الاتصالات، الصحة، التعليم، البيع بالتجزئة، الشبكات الاجتماعية، الويب، وما شابه ذلك.

اقرأ قاعدة البيانات و مصطلحاتها العملية – بلغة بسيطة

أفلام ثلاثية الأبعاد

يتم إنشاء الأفلام ثلاثية الأبعاد باستخدام تطبيقات مكتوبة بشكل عام بلغة C و C ++. يجب أن تكون هذه التطبيقات فعالة وسريعة للغاية، لأنها تتعامل مع كمية هائلة من البيانات وتقوم بالعديد من العمليات الحسابية في الثانية. كلما كانت أكثر كفاءة، قل الوقت الذي يستغرقه الفنانون ورسامو الرسوم المتحركة لإنشاء لقطات الفيلم، وكلما زادت الأموال التي توفرها الشركة.

الأنظمة المضمنة (embedded systems)

تخيل أنك تستيقظ ذات يوم وتذهب للتسوق. من المحتمل أن يكون المنبه الذي يوقظك مبرمجًا في C. ثم تستخدم الميكروويف أو آلة صنع القهوة لتحضير وجبة الإفطار. وهي أيضًا أنظمة مدمجة وبالتالي من المحتمل أن تكون مبرمجة في C. تقوم بتشغيل التلفزيون أو الراديو أثناء تناول وجبة الإفطار. هذه أيضًا أنظمة مدمجة، مدعومة من  C.

ثم تدخل سيارتك. إذا كان يحتوي على الميزات التالية، تمت برمجته أيضًا في C:

  • إنتقال تلقائي
  • أنظمة كشف ضغط الإطارات
  • أجهزة الاستشعار (الأكسجين ، درجة الحرارة ، مستوى الزيت ، إلخ)
  • ذاكرة للمقاعد وإعدادات المرآة.
  • عرض لوحة القيادة
  • الفرامل المضادة للقفل
  • التحكم التلقائي في الثبات
  • مثبت السرعة
  • التحكم في المناخ
  • أقفال واقية من الأطفال
  • دخول بدون مفتاح
  • مقاعد ساخنة
  • التحكم في الوسادة الهوائية

تصل إلى المتجر وتوقف سيارتك وتذهب إلى آلة البيع للحصول على مشروب غازي. ما اللغة التي استخدموها لبرمجة آلة البيع هذه؟ ربما C. ثم تشتري شيئًا من المتجر. يتم برمجة آلة تسجيل المدفوعات النقدية أيضًا في C. ومتى تدفع ببطاقة الائتمان الخاصة بك؟ لقد خمنت ذلك: من المحتمل أن يكون قارئ بطاقات الائتمان، مرة أخرى، مبرمجًا بلغة C.

كل هذه الأجهزة هي أنظمة مدمجة. إنها مثل أجهزة الكمبيوتر الصغيرة التي تحتوي على متحكم / معالج دقيق بداخلها يقوم بتشغيل برنامج، يسمى أيضًا البرامج الثابتة، على الأجهزة المضمنة. يجب أن يكتشف هذا البرنامج ضغطات المفاتيح ويتصرف وفقًا لذلك، ويعرض أيضًا المعلومات للمستخدم. على سبيل المثال، يجب أن يتفاعل المنبه مع المستخدم، ويكتشف الزر الذي يضغط عليه المستخدم، وفي بعض الأحيان، كم من الوقت يتم الضغط عليه، وبرمجة الجهاز وفقًا لذلك، كل ذلك أثناء عرض المعلومات ذات الصلة للمستخدم. على سبيل المثال، يجب أن يكون نظام المكابح المانعة للانغلاق في السيارة قادرًا على اكتشاف الانغلاق المفاجئ للإطارات والعمل على تحرير الضغط على الفرامل لفترة قصيرة من الوقت، وفتح قفلها، وبالتالي منع الانزلاق غير المنضبط. كل هذه الحسابات تتم بواسطة نظام مدمج مبرمج.

على الرغم من أن لغة البرمجة المستخدمة في الأنظمة المضمنة يمكن أن تختلف من علامة تجارية إلى أخرى، إلا أنه يتم برمجتها بشكل شائع بلغة C، نظرًا لميزات اللغة من المرونة والكفاءة والأداء والقرب من الأجهزة.

لماذا لا تزال لغة C مستخدمة؟

يوجد اليوم العديد من لغات البرمجة التي تسمح للمطورين بأن يكونوا أكثر إنتاجية من لغة C لأنواع مختلفة من المشاريع. هناك لغات ذات مستوى أعلى توفر مكتبات مضمنة أكبر بكثير تعمل على تبسيط العمل مع JSON و XML و UI وصفحات الويب وطلبات العميل واتصالات قواعد البيانات ومعالجة الوسائط وما إلى ذلك.

ولكن على الرغم من ذلك، هناك العديد من الأسباب للاعتقاد بأن برمجة لغة سي ستظل نشطة لفترة طويلة.

في لغات البرمجة، حجم واحد لا يناسب الجميع. فيما يلي بعض الأسباب التي تجعل لغة C لا تقبل المنافسة، وشبه إلزامية ، لبعض التطبيقات.

قابلية النقل والكفاءة للغة C

لغة C هي لغة تجميع محمولة تقريبًا. إنه قريب من الجهاز قدر الإمكان بينما يكون متاحًا عالميًا تقريبًا لهياكل المعالجات الحالية. يوجد مترجم C واحد على الأقل لكل معمارية موجودة تقريبًا. وفي الوقت الحاضر، نظرًا للثنائيات المحسّنة للغاية التي تم إنشاؤها بواسطة المجمّعين المعاصرين، فليس من السهل تحسين مخرجاتهم باستخدام التجميع المكتوب يدويًا.

هذه هي قابليتها للنقل وكفاءتها أن “المجمعين والمكتبات والمترجمين الفوريين للغات البرمجة الأخرى يتم تنفيذها غالبًا في لغة C”. اللغات المفسرة مثل Python و Ruby و PHP لها تطبيقاتها الأساسية مكتوبة بلغة C. بل إنها تستخدم من قبل المترجمين للغات أخرى للتواصل مع الجهاز. على سبيل المثال، C هي اللغة الوسيطة الكامنة وراء Eiffel و Forth هذا يعني أنه بدلاً من إنشاء رمز آلة لكل بنية يتم دعمها، يقوم المترجمون لهذه اللغات فقط بإنشاء رمز C وسيط، ويتولى مترجم C إنشاء رمز الجهاز.

أصبحت لغة C أيضًا لغة مشتركة للتواصل بين المطورين. كما قال أليكس ألين، مدير هندسة Dropbox ومؤسس Cprogramming.com:

لغة C هي لغة رائعة للتعبير عن الأفكار الشائعة في البرمجة بطريقة يشعر بها معظم الناس بالراحة. علاوة على ذلك، فإن الكثير من المبادئ المستخدمة في لغة سي – على سبيل المثال، argc و argv لمعلمات سطر الأوامر، بالإضافة إلى إنشاءات الحلقات وأنواع المتغيرات – ستظهر في الكثير من اللغات الأخرى التي تتعلمها حتى تتمكن من التحدث للأشخاص حتى لو كانوا لا يعرفون لغة C بطريقة مشتركة بينكما.”

منشور ذات صلة
البيانات الضخمة 7 Minutes

البيانات الضخمة| Big Data

جاسم ناظري

في هذه الأيام يتم إنشاء البيانات باستمرار في أي وقت نفتح فيه تطبيقًا أو نبحث في Google أو ننتقل ببساطة إلى مكان نضعه مع أجهزتنا المحمولة. مجموعات ضخمة من المعلومات القيمة التي تحتاجها الشركات والمؤسسات لإدارتها وتخزينها وتصورها وتحليلها.

لغة برمجة Scala 10 Minutes

ما هي لغة برمجة Scala؟

جاسم ناظري

الطريقة الرئيسية هي نقطة دخول برنامج Scala. تتطلب Java Virtual Machine دالة رئيسية تسمى main تأخذ وسيطة واحدة: مصفوفة من السلاسل النصية.

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *

السلة