بعد عقد من الزمن نسخة قياسية جديدة رسمية للغة C تحمل الاسم C11
نُشر يوم 23 نوفمبر 2011 بواسطة dzgeek
تحديث: بعد عقد من الزمن نسخة قياسية جديدة رسمية للغة C
تم اعتماد التغيرات الواردة في النسخة C1x رسميا، لتصبح بذلك النسخة القياسية الجديدة
ونظرا إلى أنه تم ذلك قبل حلول عام 2012 فقد تم اعتماد اسم C11 عوض C12
تفاصيل نسخة C11 متوفرة من هنا.
** نظرة على C1x، النسخة المستقبلية من لغة C**
قد لا يعلم البعض أنه يتم تطوير لغة C وأنه هناك نسخًا لها، لكن ليس هذا حديثُنا ولا حَديثَنا، لكن جديد الخبر أن هناك نسخة قيد النُضج، وبعضٌ من طبّاخيها: GCC (إصدارة 26 أكتوبر) يحوي مسبقا بعض جديدها.
النسخة المرتقبة والتي تحمل اسم C1x يُنتظر منها أن تحل محل النسخة القياسية الحالية C99 ، هذه الأخيرة والتي يعتقد الكثيرون أنها كانت فشلا ذريعا، خاصة بعد عزم Microsoft عدم مواصلة دعمها، ليس هذا فقط لكن النسخة الحالية لم تقدم أي شي جديد كان “فعلا” مهما أو أساسيا في اللّغة.
لكن هذه المرة الأمر مختلف، فمما جاءت به اللغة من جديد “فعلي” وذو ثِقل:
* التحكم في الاصطفافات على الذاكرة alignements
* دعم أفضل للـ Unicode
* نمذجة البِنى المجهولة Anonymous structures and unions
* نمذجة دوال "Secure" لـ Microsoft
* حذف الدالة gets لصالح get_s
* دعم الـ multithreading بإضافة (<threads.h> و<stdatomic.h>)
* إضافة macros تسمح بالفحص للتأكد من توفر بعض الوظائف أو لا، مثال على ذلك: __STDC_NO_THREADS__ تسمح بمعرفة وجود دعم لخيوط المعالجة threads في التطبيق الحالي current implementation.
وقد تجعل اللغة بعضا من الميزات الجديدة مضمنة خيارا (وليس إجبارا) لأسباب متعلقة بالتوافقية مع النسخة الحالية. يمكن الاطلاع على المُسودّة الأخيرة للغة من هنا. ولمعلومات أوفر يمكن قراءة مقالة Wikiepedia الانجليزية من هنا.
هل تُقر هذه التغيرات وترضيك؟ أم أنك كنت تنتظر شيئا آخرا؟