Κυκλοφόρησε το Crystal 0.34.0

Κυκλοφόρησε μια νέα έκδοση της Crystal, μια μεταγλωττισμένη γλώσσα προγραμματισμού με σύνταξη Ruby, τα κύρια χαρακτηριστικά της οποίας είναι ο χρόνος εκτέλεσης με έναν «ενσωματωμένο» βρόχο συμβάντων, στον οποίο όλες οι λειτουργίες εισόδου/εξόδου είναι ασύγχρονες, υποστήριξη πολλαπλών νημάτων (εφόσον όπως ενεργοποιείται από μια σημαία κατά τη μεταγλώττιση) και εξαιρετικά απλή και βολική λειτουργία με βιβλιοθήκες στο C.

Ξεκινώντας με την έκδοση 0.34.0, η γλώσσα αρχίζει επίσημα να κινείται προς την πρώτη της πραγματική κυκλοφορία (δηλαδή την έκδοση 1.0).

Η νέα έκδοση του Crystal περιλαμβάνει τις ακόλουθες αλλαγές και βελτιώσεις κατά σειρά σπουδαιότητας:

  • Μια νέα βιβλιοθήκη καταγραφής προστέθηκε στο API Σύνδεση, το οποίο, σε αντίθεση με το παλιό, μπορεί να στείλει μηνύματα σε διαφορετικά backend και να φιλτράρει διαφορετικά αυτά τα μηνύματα ανάλογα με την «πηγή».

  • Στοιχεία από τον κόσμο της ανάπτυξης C, Errno и WinError, που χρησιμοποιούνται για τα πρωτόγονα I/O, αποτελούν παρελθόν χάρη στην ιεραρχία εξαιρέσεων IO::Σφάλμα (ωστόσο, κανείς δεν απαγορεύει ακόμη τη χρήση του Errno).

  • Καταργήθηκε η αυτόματη αντικατάσταση του else nil από τον χειριστή περίπτωση/όταν/άλλο. Αυτό γίνεται για να αποτραπεί ο προγραμματιστής να παραλείψει κατά λάθος έναν από τους κλάδους. πότε κατά την αντιστοίχιση σε ντετερμινιστικές περιπτώσεις όπως τα enums και τη διέλευση από τύπους από την Ένωση. Δηλαδή, με απλά λόγια, αυτός ο κωδικός δεν θα λειτουργεί πλέον χωρίς να καθορίσετε έναν ακόμη πότε (όταν Χαρ) ή εργασίες αλλιώς-κλαδια δεντρου:

a = 1 || 'x' || "foo"
περίπτωση α
όταν Int32
#…
όταν String
#…
τέλος

  • Επιλογή μεταγλωττιστή disable_overflow δεν είναι πλέον διαθέσιμο. Για λειτουργίες υπερχείλισης, χρησιμοποιήστε τις μεθόδους &+, &-, &*.

  • Array#fill τώρα πετάει πιο γρήγορα από μια σφαίρα, χάρη στην αντικατάσταση του ηλίθιου βρόχου με ένα απλό memset.

  • Διαχειριστής θραυσμάτων (πακέτων), που ονομάζεται, παραδόξως, θραύσματα, χρησιμοποιεί τώρα τον ταχύτερο και πιο αποτελεσματικό αλγόριθμο ικανοποίησης εξάρτησης Molinillo που βρίσκεται στα CocoaPods (Swift) και Builder (Ruby).

  • Προστέθηκε υποστήριξη LLVM 10, που θεωρητικά θα μας δώσει κάποια αύξηση στην παραγωγικότητα, τη σταθερότητα κ.λπ.

... και πολλές άλλες, κατά την υποκειμενική μου γνώμη, λιγότερο σημαντικές βελτιώσεις.

Θα ήθελα να σημειώσω ότι η Crystal είναι μια γλώσσα που βασίζεται στο LLVM, η οποία σας επιτρέπει να γράφετε εφαρμογές μερικές φορές πιο γρήγορα, απλούστερα και πιο συνοπτικά από ό,τι στα ερμηνευμένα "αδέρφια" της και ταυτόχρονα να έχετε ένα αρκετά γρήγορο δυαδικό αποτέλεσμα. Σε σύγκριση με το Golang, ξεχωρίζει λόγω του απολύτως πλήρους OOP του, της υποστήριξης για γενικά και μιας πολύ απλής και κατανοητής σύνταξης. Ο σκοπός του είναι σε μεγάλο βαθμό παρόμοιος με το Nim, αλλά ταυτόχρονα επικεντρώνεται σαφώς στην πρακτική χρήση «εδώ και τώρα», χάρη στην οποία διαθέτει στο οπλοστάσιό του API πολλά καλά τεκμηριωμένα, βολικά και υψηλής ποιότητας εργαλεία, που υποστηρίζονται από το προγραμματιστές γλωσσών και επομένως πολύ σταθερό.

Πηγή: linux.org.ru

Προσθέστε ένα σχόλιο