Crystal 0.34.0 llançat

S'ha llançat una nova versió de Crystal, un llenguatge de programació compilat amb sintaxi Ruby, les característiques principals del qual són el temps d'execució amb un bucle d'esdeveniments "integrat", en el qual totes les operacions d'E/S són asíncrones, suport per a multithreading (sempre que ja que està activat per un indicador durant la compilació) i un funcionament extremadament senzill i còmode amb biblioteques en C.

A partir de la versió 0.34.0, l'idioma comença oficialment a avançar cap a la seva primera versió real (és a dir, la versió 1.0).

La nova versió de Crystal inclou els canvis i millores següents per ordre d'importància:

  • S'ha afegit una nova biblioteca de registre a l'API Sessió, que, a diferència de l'antic, pot enviar missatges a diferents backends i filtrar aquests missatges de manera diferent segons la "font".

  • Rudiments del món del desenvolupament C, Errno и WinError, utilitzat per a primitives d'E/S, s'estan convertint en cosa del passat gràcies a la jerarquia d'excepcions IO::Error (no obstant això, ningú prohibeix encara utilitzar Errno).

  • S'ha eliminat la substitució automàtica de else nil de l'operador cas/quan/una altra cosa. Això es fa per evitar que el desenvolupador es salti accidentalment una de les branques. Quan en comparar casos deterministes com enumeracions i passar per tipus de Union. És a dir, simplement, aquest codi ja no funcionarà sense especificar-ne un més Quan (quan Char) o tasques else-branques:

a = 1 || 'x' || "fou"
cas a
quan Int32
# ...
quan String
# ...
final

  • Opció del compilador disable_overflow ja no està disponible. Per a les operacions de desbordament, utilitzeu els mètodes &+, &-, &*.

  • Matriu #omplir ara vola més ràpid que una bala, gràcies a la substitució del bucle estúpid per un simple memset;

  • Gestor de fragments (paquets), anomenat, paradoxalment, fragments, ara utilitza l'algoritme de satisfacció de la dependència de Molinillo més ràpid i eficient que es troba a CocoaPods (Swift) i Builder (Ruby).

  • Suport afegit LLVM 10, que en teoria ens donarà algun augment de productivitat, estabilitat, etc.

... i moltes altres, segons la meva opinió subjectiva, millores menys significatives.

M'agradaria assenyalar que Crystal és un llenguatge construït sobre LLVM, que permet escriure aplicacions de vegades més ràpid, més senzill i més concís que en els seus "germans" interpretats i, al mateix temps, obtenir un binari bastant ràpid com a resultat. En comparació amb Golang, destaca pel seu OOP absolutament complet, suport per a genèrics i una sintaxi molt senzilla i entenedora. El seu propòsit és en gran mesura similar al de Nim, però al mateix temps està clarament centrat en l'ús pràctic "aquí i ara", gràcies al qual té al seu arsenal d'API moltes eines ben documentades, còmodes i d'alta qualitat, recolzades per la desenvolupadors de llenguatge i, per tant, molt estables.

Font: linux.org.ru

Afegeix comentari