Iznāca Crystal 0.34.0

Iznāca jauna versija Crystal, kompilējama programmēŔanas valoda ar Ruby sintaksi, kuras galvenās iezÄ«mes ir izvietots Ā«event loopĀ», kurā visas ievades-izejas operācijas ir asinkronas, atbalsts daudzprocesoru apstrādei (paÅ”laik ieslēdzams, kompilējot) un ārkārtÄ«gi viegla un ērta darbs ar C bibliotēm.

Sākot ar versiju 0.34.0, valoda oficiāli sāk stingri virzīties uz pirmo reālo laidienu (t.i., versiju 1.0).

Jaunajā Crystal versijā var izcelt Ŕādas izmaiņas un uzlabojumus svarÄ«guma secÄ«bā:

  • API ir pievienota jauna žurnāla bibliotēka Log, kas, atŔķirÄ«bā no vecās, spēj sÅ«tÄ«t ziņojumus dažādiem backend'iem un filtrēt Å”os ziņojumus atkarÄ«bā no Ā«avotaĀ».

  • Rudimenti no C izstrādes pasaules, Errno un WinError, kas tika izmantoti primitÄ«vajām ievades-izejas operācijām, atkāpjās pagātnē, pateicoties izņēmumu hierarhijai IO::Error (tomēr izmantot Errno neviens pagaidām nav aizliedzis).

  • Ir noņemta automātiska else nil pievienoÅ”ana operatoram case/when/else. Tas izdarÄ«ts, lai izslēgtu nejauÅ”u izlaidumu izstrādātājam vienā no filiālēm when noteiktu gadÄ«jumu matchēŔanā, piemēram, enum un Union veidu pārejā. Proti, vienkārŔāk sakot, Ŕāds kods vairs nedarbosies bez vēl viena when (when Char) vai nosakot else- filiāli:

a = 1 || ā€˜x’ || "foo"
case a
when Int32
# …
when String
# …
end

  • Kompilatora opcija disable_overflow vairs nav pieejama. Operācijām ar pārsniegÅ”anu izmantojiet metodes &+, &-, &*.

  • Array#fill tagad lido ātrāk par lodi, pateicoties muļķīgā cikla aizstāŔanai ar vienkārÅ”u memset;

  • Shard pārvaldnieks (pakotnes), kas, kā tas neŔķiet dÄ«vaini, shards, tagad izmanto ātrāku un efektÄ«vāku atkarÄ«bu apmierināŔanas algoritmu Molinillo, aizņemts no CocoaPods (Swift) un Builder (Ruby).

  • Pievienota atbalsta iespēja LLVM 10, kas ideālā gadÄ«jumā mums dos kādu izpildes ātruma, stabilitātes pieaugumu utt.

… un daudz citu, pēc manām subjektÄ«vām domām, mazāk bÅ«tisku uzlabojumu.

VērÅ”os pie jums, lai atzÄ«mētu, ka Crystal ir LLVM bāzēts valoda, kas ļauj rakstÄ«t lietotnes dažreiz ātrāk, vieglāk un kodolÄ«gāk nekā tās interpretētās "māsas", un tam ir iespēja izveidot diezgan ātru bināro failu. Stilā tas izceļas ar pilnvērtÄ«gu OOP atbalstu, Ä£eneriku atbalstu un ļoti vienkārÅ”u un saprotamu sintaksi. Tā mērÄ·is ir daudz lÄ«dzÄ«gs Nim, taču tas ir acÄ«mredzami orientēts uz praktisku pielietojumu "Å”eit un tagad", pateicoties tam, tas nodroÅ”ina plaÅ”u labi dokumentētu un augstas kvalitātes rÄ«ku klāstu API arsenālā, ko atbalsta valodas izstrādātāji, padarot to ļoti stabilu.

Avots: linux.org.ru

Iegādājieties uzticamu tÄ«mekļa hostingu ar DDoS aizsardzÄ«bu, VPS VDS serveriem šŸ”„ Iegādājieties uzticamu tÄ«mekļa hostingu ar DDoS aizsardzÄ«bu, VPS VDS serveriem | ProHoster