Kristal 0.34.0 yayınlandı

Ruby sözdizimine sahip derlenmiş bir programlama dili olan Crystal'in yeni bir sürümü yayınlandı; bunun ana özellikleri, tüm G/Ç işlemlerinin eşzamansız olduğu, çoklu iş parçacığı desteğinin (olduğu sürece) "yerleşik" olay döngüsüne sahip çalışma zamanıdır. derleme sırasında bir bayrakla etkinleştirildiği için) ve C'deki kütüphanelerle son derece basit ve kullanışlı bir işlemdir.

0.34.0 sürümünden başlayarak, dil resmi olarak ilk gerçek sürümüne (yani sürüm 1.0) doğru ilerlemeye başlar.

Crystal'in yeni sürümü, önem sırasına göre aşağıdaki değişiklikleri ve iyileştirmeleri içerir:

  • API'ye yeni bir günlük kitaplığı eklendi Girişeskisinden farklı olarak farklı arka uçlara mesaj gönderebilen ve bu mesajları “kaynağa” bağlı olarak farklı şekilde filtreleyebilen.

  • C geliştirme dünyasından temeller, Hata и WinErrorG/Ç temelleri için kullanılan , istisna hiyerarşisi sayesinde geçmişte kalıyor GÇ::Hata (ancak henüz kimse Errno'nun kullanılmasını yasaklamamaktadır).

  • Operatörden else nil ifadesinin otomatik olarak değiştirilmesi kaldırıldı durum/ne zaman/başka. Bu, geliştiricinin yanlışlıkla dallardan birini atlamasını önlemek için yapılır. ne zaman numaralandırmalar gibi deterministik durumları eşleştirirken ve Birlik türlerinden geçerken. Yani, basitçe söylemek gerekirse, bu kod bir tane daha belirtmeden artık çalışmayacaktır. ne zaman (Char olduğunda) veya görevler başka-şubeler:

bir = 1 || 'x' || "foo"
durum a
Int32 ne zaman
#…
ne zaman Dize
#…
son

  • Derleyici seçeneği devre dışı bırak_overflow artık mevcut değil. Taşma işlemleri için &+, &-, &* yöntemlerini kullanın.

  • dizi#dolgu aptal döngünün basit bir memset ile değiştirilmesi sayesinde artık bir kurşundan daha hızlı uçuyor;

  • Paradoksal olarak adlandırılan parçaların (paketlerin) yöneticisi, kırıkları, artık CocoaPods (Swift) ve Builder'da (Ruby) bulunan daha hızlı ve daha verimli Molinillo bağımlılık tatmin algoritmasını kullanıyor.

  • Destek eklendi LLVM 10Teorik olarak bize üretkenlik, istikrar vb. konularda bir miktar artış sağlayacak.

... ve benim görüşüme göre diğer birçok, daha az önemli iyileştirmeler.

Crystal'in LLVM üzerine kurulu bir dil olduğunu ve uygulamaları yorumlanan "kardeşlerine" göre bazen daha hızlı, daha basit ve daha özlü bir şekilde yazmanıza ve aynı zamanda sonuç olarak oldukça hızlı bir ikili dosya elde etmenize olanak tanıyan bir dil olduğunu belirtmek isterim. Golang ile karşılaştırıldığında, kesinlikle tam teşekküllü OOP'si, jenerik desteği ve çok basit ve anlaşılır sözdizimi nedeniyle öne çıkıyor. Amacı büyük ölçüde Nim'e benzer, ancak aynı zamanda API cephaneliğinde çok sayıda iyi belgelenmiş, kullanışlı ve yüksek kaliteli araca sahip olması sayesinde "burada ve şimdi" pratik kullanıma açıkça odaklanmıştır. dil geliştiricileri ve bu nedenle çok kararlı.

Kaynak: linux.org.ru

Yorum ekle