Crystal 0.34.0 har slÀppts

Den nya versionen av Crystal, det kompileringstekniska programmeringssprÄket med Ruby-syntax, har huvudsakliga funktioner som en runtime med en "inbyggd" event loop, dÀr alla in- och utdataoperationer Àr asynkrona, stöd för flerkörning (för nÀrvarande aktiveras det med en flagga vid kompilering) samt en exceptionellt enkel och bekvÀm hantering av C-bibliotek.

FrÄn och med version 0.34.0 börjar sprÄket officiellt att ta stora steg mot sin första riktiga release (dvs version 1.0).

I den nya versionen av Crystal kan följande förÀndringar och förbÀttringar noteras i ordning av betydelse:

  • En ny loggningsbibliotek har lagts till i API:et Log, som, till skillnad frĂ„n den gamla, kan styra meddelanden till olika backends och filtrera dessa meddelanden olika beroende pĂ„ "kĂ€lla".

  • Rudimenter frĂ„n C-utvecklingsvĂ€rlden, Errno och WinError, som anvĂ€ndes för primitiva in- och utdataoperationer, försvinner tack vare hierarkin av undantag IO::Error (ingen har dock förbjudit att anvĂ€nda Errno Ă€nnu).

  • Automatisk införande av else nil har tagits bort frĂ„n operatorn case/when/else. Detta har gjorts för att utesluta att en utvecklare av misstag missar en av grenar when vid matchning mot deterministiska fall som enum:er och typgenomgĂ„ng frĂ„n Union. Med andra ord, sĂ„dan kod kommer inte lĂ€ngre att fungera utan att ange ytterligare en when (when Char) eller ge else-gren:

a = 1 || ‘x’ || "foo"
case a
when Int32
# 

when String
# 

end

  • Kompilatoralternativet disable_overflow Ă€r inte lĂ€ngre tillgĂ€ngligt. För operationer med överflöd, anvĂ€nd metoderna &+, &-, &*.

  • Array#fill flyger nu snabbare Ă€n en kula, tack vare att den tröga loopen har bytts ut mot en enkel memset;

  • Shardhanteraren (paket), som paradoxalt nog kallas shards, anvĂ€nder nu en snabbare och mer effektiv algoritm för att tillfredsstĂ€lla beroenden, Molinillo, som spionerats i CocoaPods (Swift) och Builder (Ruby).

  • Stöd för LLVM 10, vilket i teorin ger oss en ökning av prestanda, stabilitet, etc.


 och mĂ„nga andra, enligt min subjektiva Ă„sikt, mindre viktiga förbĂ€ttringar.

Det Àr vÀrt att nÀmna att Crystal Àr ett sprÄk byggt pÄ LLVM som gör det möjligt att skriva applikationer snabbare, enklare och mer koncist Àn med sina tolkade "syskon", samtidigt som man fÄr en ganska snabb binÀrfil. JÀmfört med Golang erbjuder det en fullt funktionell OOP, stöd för generiska typer och en mycket enkel och tydlig syntax. I sitt syfte liknar det mycket Nim, men Àr tydligt inriktat pÄ praktiska tillÀmpningar "hÀr och nu", vilket gör att det har en uppsÀttning av vÀl dokumenterade, anvÀndarvÀnliga och högkvalitativa verktyg i sitt API, som stöds av sprÄkets utvecklare och dÀrför Àr ganska stabila.

KĂ€lla: linux.org.ru

Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar đŸ”„ Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar | ProHoster