كريستال (لغة برمجة)

كريستال هي لغة برمجة عالية المستوى ، متعددة الأغراض ، وموجهة للكائنات ، صممها وطورها آري بورينزويغ، وخوان واينرمان، وبرايان كارديف، وأكثر من 530 مساهمًا. [ 5 ] تتميز كريستال ببنية مستوحاة من لغة روبي ، [ 6 ] وهي لغة مُصرّفة مع فحص ثابت للأنواع ، ولكن تحديد أنواع المتغيرات أو وسائط الدوال ليس ضروريًا في الغالب. يتم تحديد الأنواع بواسطة خوارزمية متقدمة لاستنتاج الأنواع على مستوى العالم . [ 7 ] [ 8 ] لا تزال كريستال قيد التطوير النشط، وهي متاحة كبرنامج مجاني ومفتوح المصدر بموجب رخصة أباتشي الإصدار 2.0.

تاريخ

بدأ العمل على اللغة في يونيو 2011، [ 9 ] بهدف دمج أناقة وإنتاجية لغة روبي مع سرعة وكفاءة وأمان أنواع البيانات للغات المُصرّفة. [ 10 ] [ 9 ] سُميت في البداية جوي ، ثم أُعيد تسميتها سريعًا إلى كريستال . [ 9 ]

تمت كتابة مترجم Crystal في البداية بلغة Ruby، ولكن أعيدت كتابته لاحقًا بلغة Crystal، ليصبح بذلك برنامجًا ذاتي الاستضافة اعتبارًا من نوفمبر 2013.[ 11 ] تم إصدار النسخة الرسمية الأولى في يونيو 2014. [ 12 ] في يوليو 2016 ، انضمت كريستال إلى مؤشر TIOBE .

وصف

على الرغم من تشابه لغة Crystal مع لغة Ruby في بناء الجملة، إلا أنها تُترجم إلى كود أصلي أكثر كفاءة باستخدام واجهة LLVM الخلفية، على حساب استبعاد الجوانب الديناميكية للغة Ruby. إن استنتاج الأنواع العالمي المتقدم الذي يستخدمه مُترجم Crystal، بالإضافة إلى أنواع الاتحاد ، يمنحها طابع لغة برمجة نصية عالية المستوى أكثر من العديد من لغات البرمجة الأخرى المماثلة. تتميز Crystal بجمع تلقائي للبيانات المهملة وتوفر جامع Boehm . كما تمتلك نظام ماكرو وتدعم الأنواع العامة بالإضافة إلى تحميل الطرق والمعاملات. نموذج التزامن فيها مستوحى من العمليات المتسلسلة المتصلة (CSP) وتُنفذ أليافًا وقنوات خفيفة الوزن (للاتصال بين الألياف)، مستوحاة من لغة Go . [ 4 ]

التبني

في عام 2020، أفيد بأن وحدات المعلومات والترفيه في المركبات التي تنتجها شركة نيكولا مكتوبة بلغة كريستال. [ 13 ] كما أن جزءًا كبيرًا من البنية التحتية لمحرك البحث كاغي مكتوب بلغة كريستال. [ 14 ]

للمزيد من القراءة

مراجع

  1. "تم إصدار Crystal 0.1.0!" . crystal-lang . 19 يونيو 2014.
  2. "الإصدار 1.21.0" . 16 يوليو 2026. تم الاطلاع عليه في 17 يوليو 2026 .
  3. 1 2 "دعم منصة كريستال" . crystal-lang.org .
  4. 1 2 "دعم تعدد الخيوط في Crystal" . 23 فبراير 2024.
  5. "المساهمون" . تم الاسترجاع في 25 يوليو 2019 عبر GitHub .
  6. بورينزويغ، آري (16 يونيو 2016). "تم إصدار Crystal 0.18.0!" . crystal-lang.org .
  7. برايان جيه، كارديف (9 سبتمبر 2013). "استنتاج النوع الجزء 1" . crystal-lang.org .
  8. "البرمجة باستخدام كريستال: 'لغة للبشر وأجهزة الكمبيوتر'"" . devm.io . 3 يوليو 2023.
  9. 1 2 3 ديفيد، ماريا إنتي (1 أبريل 2016). "القصة وراء #CrystalLang" . manas.tech .
  10. هسيه، أدلر (20 سبتمبر 2015). "لماذا لغة برمجة كريستال؟" . adlerhsieh.com .
  11. ^ بورنسزفايغ ، آري (14 تشرين الثاني (نوفمبر) 2013). "وداعا روبي الخميس" . crystal-lang.org .
  12. بورينزويغ، آري (19 يونيو 2014). "تم إصدار Crystal 0.1.0!" . crystal-lang.org .
  13. بيتّيناتي، مارتن (11 فبراير 2020). "شركة نيكولا موتور: لوحات تحكم تعمل بالطاقة الكريستالية في شاحنات المستقبل | Manas.Tech" . حلول ماناس التكنولوجية .
  14. ^ "زاك نوفيكي – حكايات من كاجي | CrystalConf 2023" . 13 نوفمبر 2023.