تم إصدار كريستال 0.34.0

تم إصدار نسخة جديدة من Crystal، وهي لغة برمجة مجمعة مع بناء جملة Ruby، وتتمثل ميزاتها الرئيسية في وقت التشغيل مع حلقة حدث "مدمجة"، حيث تكون جميع عمليات الإدخال / الإخراج غير متزامنة، ودعم تعدد مؤشرات الترابط (طالما حيث يتم تمكينه بواسطة علامة أثناء التجميع) وعملية بسيطة ومريحة للغاية مع المكتبات في C.

بدءًا من الإصدار 0.34.0، تبدأ اللغة رسميًا في التحرك نحو إصدارها الحقيقي الأول (أي الإصدار 1.0).

يتضمن الإصدار الجديد من Crystal التغييرات والتحسينات التالية مرتبة حسب الأهمية:

  • تمت إضافة مكتبة تسجيل جديدة إلى واجهة برمجة التطبيقات سجل، والذي، على عكس القديم، يمكنه إرسال رسائل إلى واجهات خلفية مختلفة وتصفية هذه الرسائل بشكل مختلف اعتمادًا على "المصدر".

  • أساسيات من عالم تطوير لغة C، إرنو и خطأ، المستخدمة في عناصر الإدخال / الإخراج الأولية، أصبحت شيئًا من الماضي بفضل التسلسل الهرمي للاستثناءات إيو::خطأ (ومع ذلك، لا أحد يحظر استخدام Errno حتى الآن).

  • تمت إزالة الاستبدال التلقائي لـ else nil من المشغل حالة / متى / آخر. يتم ذلك لمنع المطور من تخطي أحد الفروع عن طريق الخطأ. متى عند المطابقة في الحالات الحتمية مثل التعدادات والمرور عبر الأنواع من Union. وهذا يعني ببساطة أن هذا الرمز لن يعمل بعد الآن دون تحديد رمز آخر متى (عندما شار) أو المهام آخر-الفروع:

أ = 1 || 'x' || "فو"
حالة أ
عندما Int32
#…
عندما سلسلة
#…
النهاية

  • خيار المترجم Disable_overflow لم يعد متاح. بالنسبة لعمليات تجاوز السعة، استخدم الأساليب &+، &-، &*.

  • صفيف #ملء الآن يطير بشكل أسرع من الرصاصة، وذلك بفضل استبدال الحلقة الغبية بـ memset واحد بسيط؛

  • مدير الشظايا (الحزم)، يسمى، للمفارقة، شظايا، يستخدم الآن خوارزمية رضا التبعية Molinillo الأسرع والأكثر كفاءة الموجودة في CocoaPods (Swift) وBuilder (Ruby).

  • دعم إضافي LLVM 10، وهو ما سيعطينا من الناحية النظرية بعض الزيادة في الإنتاجية والاستقرار وما إلى ذلك.

... والعديد من التحسينات الأخرى، في رأيي الشخصي، أقل أهمية.

أود أن أشير إلى أن Crystal هي لغة مبنية على LLVM، والتي تتيح لك كتابة التطبيقات في بعض الأحيان بشكل أسرع وأبسط وأكثر إيجازًا من "الإخوة" المفسرين، وفي نفس الوقت تحصل على ثنائي سريع إلى حد ما نتيجة لذلك. بالمقارنة مع Golang، فهو يبرز بسبب OOP الكامل تمامًا، ودعم الأدوية العامة، وبناء جملة بسيط جدًا ومفهوم. الغرض منه مشابه إلى حد كبير لـ Nim، ولكنه في الوقت نفسه يركز بشكل واضح على الاستخدام العملي "هنا والآن"، وبفضل ذلك يوجد في ترسانة API الخاصة به العديد من الأدوات الموثقة جيدًا والمريحة وعالية الجودة، والتي يدعمها مطوري اللغة وبالتالي مستقر جدًا.

المصدر: linux.org.ru

إضافة تعليق