Crystal 0.34.0 buraxıldı

Crystal-ın yeni versiyası, Ruby sintaksisi ilə tərtib edilmiş proqramlaşdırma dili buraxıldı, onun əsas xüsusiyyətləri "daxili" hadisə dövrəsi ilə iş vaxtıdır, bütün giriş/çıxış əməliyyatları asinxrondur, çox iş parçacığı dəstəyi (nə qədər ki) tərtib zamanı bir bayraq tərəfindən aktivləşdirildiyi üçün) və C-də kitabxanalarla olduqca sadə və rahat əməliyyat.

0.34.0 versiyasından başlayaraq, dil rəsmi olaraq ilk real buraxılışına doğru irəliləməyə başlayır (yəni 1.0 versiyası).

Crystal-ın yeni versiyası əhəmiyyət sırasına görə aşağıdakı dəyişiklikləri və təkmilləşdirmələri ehtiva edir:

  • API-yə yeni giriş kitabxanası əlavə edildi Giriş, köhnədən fərqli olaraq, mesajları fərqli arxa tərəflərə göndərə və bu mesajları "mənbədən" asılı olaraq fərqli şəkildə süzgəcdən keçirə bilər.

  • C inkişaf dünyasından əsaslar, Səhv и WinError, I/O primitivləri üçün istifadə olunur, istisna iyerarxiyası sayəsində keçmişə çevrilir IO::Xəta (lakin hələ heç kim Errno-nun istifadəsini qadağan etmir).

  • Operatordan başqa sıfırın avtomatik dəyişdirilməsi silindi hal/nə vaxt/başqa. Bu, tərtibatçının təsadüfən filiallardan birini atlamasının qarşısını almaq üçün edilir. zaman enumlar kimi deterministik hallara uyğunlaşdıqda və Birlikdən növlərdən keçərkən. Yəni, sadə dillə desək, bu kod daha birini göstərmədən işləməyəcək zaman (Char olduqda) və ya tapşırıqlar daha-filiallar:

a = 1 || 'x' || "foo"
hal a
Int32 zaman
# ...
zaman String
# ...
son

  • Kompilyator seçimi disable_overflow artıq mövcud deyil. Daşma əməliyyatları üçün &+, &-, &* üsullarından istifadə edin.

  • Massiv#doldurun axmaq döngəni bir sadə memset ilə əvəz etmək sayəsində indi güllədən daha sürətli uçur;

  • Paradoksal olaraq adlandırılan qırıqların (paketlərin) meneceri shards, indi CocoaPods (Swift) və Builder (Ruby) proqramlarında tapılan daha sürətli və səmərəli Molinillo asılılığından məmnunluq alqoritmindən istifadə edir.

  • Əlavə dəstək LLVM 10, bu, nəzəri cəhətdən bizə məhsuldarlıq, sabitlik və s.

... və bir çox başqa, mənim subyektiv fikrimcə, daha az əhəmiyyətli irəliləyişlər.

Qeyd etmək istərdim ki, Crystal LLVM üzərində qurulmuş bir dildir, bu da proqramları bəzən şərh olunan "qardaşlarına" nisbətən daha sürətli, daha sadə və daha yığcam yazmağa və eyni zamanda nəticədə kifayət qədər sürətli binar əldə etməyə imkan verir. Golanq ilə müqayisədə, tamamilə tam hüquqlu OOP, generiklərə dəstək və çox sadə və başa düşülən sintaksis sayəsində fərqlənir. Məqsədi əsasən Nim-ə bənzəyir, lakin eyni zamanda aydın şəkildə "burada və indi" praktik istifadəyə yönəlib, bunun sayəsində API arsenalında bir çox yaxşı sənədləşdirilmiş, rahat və yüksək keyfiyyətli alətlər var. dil inkişaf etdiriciləri və buna görə də çox sabitdir.

Mənbə: linux.org.ru

Добавить комментарий