{"id":77153,"date":"2020-04-08T01:43:13","date_gmt":"2020-04-07T23:43:13","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/vyshel-crystal-0-34-0"},"modified":"2020-04-08T01:43:13","modified_gmt":"2020-04-07T23:43:13","slug":"vyshel-crystal-0-34-0","status":"publish","type":"post","link":"https:\/\/prohoster.info\/ro\/blog\/news\/vyshel-crystal-0-34-0","title":{"rendered":"A ap\u0103rut Crystal 0.34.0","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>A ap\u0103rut o nou\u0103 versiune a Crystal, un limbaj de programare compilat cu sintax\u0103 Ruby, ale c\u0103rui caracteristici principale sunt: un runtime cu un event loop '\u00eencorporat', \u00een care toate opera\u021biunile de intrare-ie\u0219ire sunt asincrone, suport pentru multithreading (\u00een prezent activat printr-un flag la compilare) \u0219i o munc\u0103 extrem de simpl\u0103 \u0219i confortabil\u0103 cu bibliotecile \u00een C.<\/p>\n<p>\u00cencep\u00e2nd cu versiunea 0.34.0, limbajul \u00eencepe oficial o avansare hot\u0103r\u00e2t\u0103 spre prima versiune real\u0103 (adic\u0103 versiunea 1.0).<\/p>\n<p>\u00cen noua versiune Crystal pot fi men\u021bionate urm\u0103toarele modific\u0103ri \u0219i \u00eembun\u0103t\u0103\u021biri, \u00een ordinea importan\u021bei:<\/p>\n<ul>\n<li>\n<p>A fost ad\u0103ugat\u0103 o nou\u0103 bibliotec\u0103 de jurnalizare \u00een API <strong>Log<\/strong>, care, spre deosebire de vechea versiune, poate direc\u021biona mesaje c\u0103tre diferite backend-uri \u0219i le filtreaz\u0103 \u00een mod diferit \u00een func\u021bie de 'sursa' lor.<\/p>\n<\/li>\n<li>\n<p>Rudimentele din lumea dezvolt\u0103rii \u00een C, <strong>Errno<\/strong> \u0219i <strong>WinError<\/strong>, utilizate pentru primitivele de intrare-ie\u0219ire, devin parte a trecutului datorit\u0103 ierarhiei de excep\u021bii <strong>IO::Error<\/strong> (totu\u0219i, nimeni nu interzice deocamdat\u0103 folosirea Errno).<\/p>\n<\/li>\n<li>\n<p>Se elimin\u0103 substitu\u021bia automat\u0103 a lui else nil din operatorul <strong>case\/when\/else<\/strong>. Acest lucru este realizat pentru a exclude omisiunea accidental\u0103 de c\u0103tre dezvoltator a uneia dintre ramuri <strong>when<\/strong> \u00een cazul potrivirii pe cazuri deterministe, cum ar fi enum-urile \u0219i parcurgerea tipurilor din Union. Adic\u0103, mai simplu spus, acest cod nu va mai func\u021biona f\u0103r\u0103 indicarea unui alt <strong>when<\/strong> (when Char) sau a unei ramuri: <strong>altfel<\/strong>a = 1 || 'x' || \"foo\"<\/p>\n<\/li>\n<\/ul>\n<p>a = 1 || 'x' || \"foo\"<br \/>\nwhen Int32<br \/>\nwhen String<br \/>\n  # &#8230;<br \/>\nOp\u021biunea compilatorului<br \/>\n  # &#8230;<br \/>\nend<\/p>\n<ul>\n<li>\n<p>disable_overflow <strong>nu mai este disponibil\u0103. Pentru opera\u021biunile cu dep\u0103\u0219iri, utiliza\u021bi metodele &amp;+, &amp;-, &amp;*.<\/strong> Array#fill<\/p>\n<\/li>\n<li>\n<p><strong>acum func\u021bioneaz\u0103 mai repede dec\u00e2t o minge de tun, datorit\u0103 \u00eenlocuirii buclei mai lente cu un simplu memset;<\/strong> Managerul de pachete, numit, paradoxal,<\/p>\n<\/li>\n<li>\n<p>shards <strong>, acum folose\u0219te un algoritm mai rapid \u0219i eficient Molinillo pentru satisfacerea dependen\u021belor, inspirat din CocoaPods (Swift) \u0219i Builder (Ruby).<\/strong>, care teoretic ne va oferi o oarecare cre\u0219tere a performan\u021bei, stabilit\u0103\u021bii etc.<\/p>\n<\/li>\n<li>\n<p>A fost ad\u0103ugat suport pentru <strong>LLVM 10<\/strong>\u2026 \u0219i multe alte \u00eembun\u0103t\u0103\u021biri, care, \u00een opinia mea subiectiv\u0103, sunt mai pu\u021bin semnificative.<\/p>\n<\/li>\n<\/ul>\n<p>\u2026 \u0219i multe alte \u00eembun\u0103t\u0103\u021biri, care, din punctul meu de vedere subiectiv, sunt mai pu\u021bin semnificative.<\/p>\n<p>A\u0219 dori s\u0103 subliniez c\u0103 Crystal este un limbaj construit pe LLVM, care permite scrierea aplica\u021biilor mai rapid, mai simplu \u0219i mai concis dec\u00e2t pe 'fratele' s\u0103u interpretat, ob\u021bin\u00e2nd \u00een acela\u0219i timp un binar destul de rapid. Comparativ cu Golang, se distinge printr-un OOP complet, suport pentru generice \u0219i o sintax\u0103 foarte simpl\u0103 \u0219i clar\u0103. Din punct de vedere al scopului s\u0103u, este similar cu Nim, dar este evident orientat pe aplicarea practic\u0103 'aici \u0219i acum', av\u00e2nd \u00een arsenalul s\u0103u API o mul\u021bime de instrumente convenabile, bine documentate \u0219i de calitate, sus\u021binute de dezvoltatorii limbajului \u0219i, prin urmare, foarte stabile.<\/p>\n<p>Sursa: <a \ncontent=\"nofollow\" rel=\"nofollow\" href=\"http:\/\/www.linux.org.ru\/news\/development\/15627605\">linux.org.ru<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0412\u044b\u0448\u043b\u0430 \u043d\u043e\u0432\u0430\u044f \u0432\u0435\u0440\u0441\u0438\u044f Crystal, \u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u0443\u0435\u043c\u043e\u0433\u043e \u044f\u0437\u044b\u043a\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0441 \u0441\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0441\u043e\u043c Ruby, \u0433\u043b\u0430\u0432\u043d\u044b\u0435 \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u0438 \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e &mdash; \u0440\u0430\u043d\u0442\u0430\u0439\u043c \u0441 &laquo;\u0432\u043c\u043e\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u043c&raquo; event loop&rsquo;\u043e\u043c, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u0432\u0441\u0435 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 \u0432\u0432\u043e\u0434\u0430-\u0432\u044b\u0432\u043e\u0434\u0430 \u0430\u0441\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u044b, \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 \u043c\u043d\u043e\u0433\u043e\u043f\u043e\u0442\u043e\u0447\u043d\u043e\u0441\u0442\u0438 (\u043f\u043e\u043a\u0430 \u0432\u043a\u043b\u044e\u0447\u0430\u0435\u0442\u0441\u044f \u0444\u043b\u0430\u0433\u043e\u043c \u043f\u0440\u0438 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u0438) \u0438 \u0438\u0441\u043a\u043b\u044e\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043f\u0440\u043e\u0441\u0442\u0430\u044f \u0438 \u0443\u0434\u043e\u0431\u043d\u0430\u044f \u0440\u0430\u0431\u043e\u0442\u0430 \u0441 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430\u043c\u0438 \u043d\u0430 \u0421\u0438. \u041d\u0430\u0447\u0438\u043d\u0430\u044f \u0441 \u0432\u0435\u0440\u0441\u0438\u0438 0.34.0, \u044f\u0437\u044b\u043a \u043e\u0444\u0438\u0446\u0438\u0430\u043b\u044c\u043d\u043e \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u0442 \u0442\u0432\u0451\u0440\u0434\u043e\u0439 \u043f\u043e\u0441\u0442\u0443\u043f\u044c\u044e \u0434\u0432\u0438\u0433\u0430\u0442\u044c\u0441\u044f \u0432 \u0441\u0442\u043e\u0440\u043e\u043d\u0443 \u043f\u0435\u0440\u0432\u043e\u0433\u043e [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-77153","post","type-post","status-publish","format-standard","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.2.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0412\u044b\u0448\u043b\u0430 \u043d\u043e\u0432\u0430\u044f \u0432\u0435\u0440\u0441\u0438\u044f Crystal, \u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u0443\u0435\u043c\u043e\u0433\u043e \u044f\u0437\u044b\u043a\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0441 \u0441\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0441\u043e\u043c Ruby, \u0433\u043b\u0430\u0432\u043d\u044b\u0435 \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u0438 \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u2014 \u0440\u0430\u043d\u0442\u0430\u0439\u043c \u0441 \u00ab\u0432\u043c\u043e\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u043c\u00bb event loop\u2019\u043e\u043c, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u0432\u0441\u0435 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 \u0432\u0432\u043e\u0434\u0430-\u0432\u044b\u0432\u043e\u0434\u0430 \u0430\u0441\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u044b, \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/ro\/blog\/news\/vyshel-crystal-0-34-0\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"ro_RO\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0412\u044b\u0448\u0435\u043b Crystal 0.34.0 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0412\u044b\u0448\u043b\u0430 \u043d\u043e\u0432\u0430\u044f \u0432\u0435\u0440\u0441\u0438\u044f Crystal, \u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u0443\u0435\u043c\u043e\u0433\u043e \u044f\u0437\u044b\u043a\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0441 \u0441\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0441\u043e\u043c Ruby, \u0433\u043b\u0430\u0432\u043d\u044b\u0435 \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u0438 \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u2014 \u0440\u0430\u043d\u0442\u0430\u0439\u043c \u0441 \u00ab\u0432\u043c\u043e\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u043c\u00bb event loop\u2019\u043e\u043c, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u0432\u0441\u0435 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 \u0432\u0432\u043e\u0434\u0430-\u0432\u044b\u0432\u043e\u0434\u0430 \u0430\u0441\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u044b, \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/ro\/blog\/news\/vyshel-crystal-0-34-0\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2020-04-07T23:43:13+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-04-07T23:43:13+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47A fost lansat Crystal 0.34.0 | ProHoster","description":"A fost lansat\u0103 o nou\u0103 versiune a Crystal, un limbaj de programare compilat cu sintax\u0103 Ruby, ale c\u0103rui caracteristici principale includ un runtime cu un event loop '\u00eencorporat', \u00een care toate opera\u021biunile de intrare-ie\u0219ire sunt asincrone, suport\u00e2nd.","canonical_url":"https:\/\/prohoster.info\/ro\/blog\/news\/vyshel-crystal-0-34-0","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"ro_RO","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0412\u044b\u0448\u0435\u043b Crystal 0.34.0 | ProHoster","og:description":"\u0412\u044b\u0448\u043b\u0430 \u043d\u043e\u0432\u0430\u044f \u0432\u0435\u0440\u0441\u0438\u044f Crystal, \u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u0443\u0435\u043c\u043e\u0433\u043e \u044f\u0437\u044b\u043a\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0441 \u0441\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0441\u043e\u043c Ruby, \u0433\u043b\u0430\u0432\u043d\u044b\u0435 \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u0438 \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u2014 \u0440\u0430\u043d\u0442\u0430\u0439\u043c \u0441 \u00ab\u0432\u043c\u043e\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u043c\u00bb event loop\u2019\u043e\u043c, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u0432\u0441\u0435 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 \u0432\u0432\u043e\u0434\u0430-\u0432\u044b\u0432\u043e\u0434\u0430 \u0430\u0441\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u044b, \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430.","og:url":"https:\/\/prohoster.info\/ro\/blog\/news\/vyshel-crystal-0-34-0","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2020-04-07T23:43:13+00:00","article:modified_time":"2020-04-07T23:43:13+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"77153","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 12:34:50","updated":"2022-10-02 17:23:22","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts\/77153","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/comments?post=77153"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts\/77153\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/media?parent=77153"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/categories?post=77153"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/tags?post=77153"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}