Crystal 0.34.0 julkaistu

Crystalista on julkaistu uusi versio, käännetty ohjelmointikieli Ruby-syntaksilla, jonka pääominaisuudet ovat ajonaika "sisäänrakennetulla" tapahtumasilmukalla, jossa kaikki I/O-toiminnot ovat asynkronisia, tuki monisäikeisyydelle (niin kauan kuin koska se on mahdollista kääntämisen aikana olevalla lipulla) ja erittäin yksinkertainen ja kätevä käyttö C:n kirjastojen kanssa.

Versiosta 0.34.0 alkaen kieli alkaa virallisesti siirtyä kohti ensimmäistä todellista julkaisuaan (eli versiota 1.0).

Crystalin uusi versio sisältää seuraavat muutokset ja parannukset tärkeysjärjestyksessä:

  • Uusi lokikirjasto on lisätty API:hen Kirjaudu, joka toisin kuin vanha, voi lähettää viestejä eri taustaohjelmiin ja suodattaa nämä viestit eri tavalla "lähteestä" riippuen.

  • Alkeet C-kehityksen maailmasta, Errno и WinError, joita käytetään I/O-primitiivien kanssa, ovat tulossa menneisyyteen poikkeushierarkian ansiosta IO::Virhe (Kukaan ei kuitenkaan vielä kiellä Errnon käyttöä).

  • Poistettu automaattinen muu nollan korvaaminen operaattorilta tapaus/kun/muuta. Tämä tehdään, jotta kehittäjä ei vahingossa ohittaisi yhtä haaraa. kun kun sovitetaan deterministisiä tapauksia, kuten enumeja, ja käydään läpi Unionin tyyppejä. Eli yksinkertaisesti sanottuna tämä koodi ei enää toimi ilman, että määrität vielä yhden kun (kun Char) tai tehtäviä muu-oksat:

a = 1 || 'x' || "foo"
tapaus a
kun Int32
#…
kun String
#…
loppu

  • Kääntäjä vaihtoehto disable_overflow ei ole enää käytettävissä. Käytä ylivuototoimintoihin &+-, &-, &*-menetelmiä.

  • Array #fill lentää nyt nopeammin kuin luoti, koska tyhmä silmukka on korvattu yhdellä yksinkertaisella memsetillä;

  • Sirpaleiden (pakettien) johtaja, jota kutsutaan paradoksaalisesti sirpaleiksi, käyttää nyt nopeampaa ja tehokkaampaa Molinillo-riippuvuuden tyytyväisyysalgoritmia, joka löytyy CocoaPodsista (Swift) ja Builder (Ruby).

  • Lisätty tuki LLVM 10, mikä teoriassa lisää tuottavuutta, vakautta jne.

... ja monia muita subjektiivisen mielipiteeni vähemmän merkittäviä parannuksia.

Haluaisin huomauttaa, että Crystal on LLVM:lle rakennettu kieli, jonka avulla voit kirjoittaa sovelluksia joskus nopeammin, yksinkertaisemmin ja ytimekkäämmin kuin sen tulkittuihin "veljiin" ja samalla saada tuloksena melko nopea binaari. Verrattuna Golangiin, se erottuu täysin täysimittaisen OOP:n, geneeristen lääkkeiden tuen ja erittäin yksinkertaisen ja ymmärrettävän syntaksin ansiosta. Sen tarkoitus on pitkälti samanlainen kuin Nim, mutta samalla se on selkeästi keskittynyt käytännön käyttöön "tässä ja nyt", minkä ansiosta sen API-arsenaalissa on monia hyvin dokumentoituja, käteviä ja laadukkaita työkaluja, joita tukevat kielenkehittäjille ja siksi erittäin vakaa.

Lähde: linux.org.ru

Lisää kommentti