{"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\/fr\/blog\/news\/vyshel-crystal-0-34-0","title":{"rendered":"Sortie de Crystal 0.34.0","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Une nouvelle version de Crystal, un langage de programmation compil\u00e9 au syntaxe Ruby, vient de sortir. Ses principales caract\u00e9ristiques sont un runtime avec une boucle d'\u00e9v\u00e9nements \u00ab int\u00e9gr\u00e9e \u00bb, o\u00f9 toutes les op\u00e9rations d'entr\u00e9e-sortie sont asynchrones, le support de la multithreading (pour le moment activ\u00e9 par un flag lors de la compilation) et une gestion des biblioth\u00e8ques en C d'une simplicit\u00e9 et d'une commodit\u00e9 exceptionnelles.<\/p>\n<p>\u00c0 partir de la version 0.34.0, le langage commence officiellement \u00e0 avancer fermement vers sa premi\u00e8re vraie version (c'est-\u00e0-dire la version 1.0).<\/p>\n<p>Dans la nouvelle version de Crystal, on peut noter les changements et am\u00e9liorations suivants par ordre d'importance :<\/p>\n<ul>\n<li>\n<p>Une nouvelle biblioth\u00e8que de journalisation a \u00e9t\u00e9 ajout\u00e9e \u00e0 l'API <strong>Log<\/strong>, qui, contrairement \u00e0 l'ancienne version, peut diriger des messages vers diff\u00e9rents backends et filtrer ces messages de diff\u00e9rentes mani\u00e8res en fonction de la \u00ab source \u00bb.<\/p>\n<\/li>\n<li>\n<p>Les vestiges du monde du d\u00e9veloppement en C, <strong>Errno<\/strong> et <strong>WinError<\/strong>, qui \u00e9taient utilis\u00e9s pour les primitives d'entr\u00e9e-sortie, disparaissent gr\u00e2ce \u00e0 la hi\u00e9rarchie des exceptions <strong>IO::Error<\/strong> (cependant, personne n'interdit encore l'utilisation d'Errno).<\/p>\n<\/li>\n<li>\n<p>L'insertion automatique de else nil est supprim\u00e9e de l'instruction <strong>case\/when\/else<\/strong>. Cela a \u00e9t\u00e9 fait pour \u00e9viter que le d\u00e9veloppeur ne passe accidentellement l'une des branches <strong>when<\/strong> lors de l'appariement sur des cas d\u00e9terministes comme les enum et le passage \u00e0 travers les types d'un Union. En d'autres termes, ce code ne fonctionnera plus sans sp\u00e9cifier un autre <strong>when<\/strong> (when Char) ou sans sp\u00e9cifier une <strong>sinon<\/strong>-branche :<\/p>\n<\/li>\n<\/ul>\n<p>a = 1 || 'x' || \"foo\"<br \/>\ncase a<br \/>\nwhen Int32<br \/>\n  # &#8230;<br \/>\nwhen String<br \/>\n  # &#8230;<br \/>\nend<\/p>\n<ul>\n<li>\n<p>L'option du compilateur <strong>disable_overflow<\/strong> n'est plus disponible. Pour les op\u00e9rations de d\u00e9bordement, utilisez les m\u00e9thodes &amp;+, &amp;-, &amp;*.<\/p>\n<\/li>\n<li>\n<p><strong>Array#fill<\/strong> est d\u00e9sormais aussi rapide qu'une balle, gr\u00e2ce \u00e0 la substitution d'une boucle peu efficace par un simple memset;<\/p>\n<\/li>\n<li>\n<p>Le gestionnaire de paquets, \u00e9trangement nomm\u00e9 <strong>shards<\/strong>, utilise maintenant un algorithme de satisfaction des d\u00e9pendances plus rapide et efficace, Molinillo, inspir\u00e9 de CocoaPods (Swift) et Builder (Ruby).<\/p>\n<\/li>\n<li>\n<p>Ajout du support de <strong>LLVM 10<\/strong>, ce qui devrait th\u00e9oriquement nous apporter un certain gain de performance, de stabilit\u00e9, etc.<\/p>\n<\/li>\n<\/ul>\n<p>\u2026 et de nombreuses autres am\u00e9liorations, moins significatives \u00e0 mon avis.<\/p>\n<p>Il convient de noter que Crystal est un langage bas\u00e9 sur LLVM, permettant d'\u00e9crire des applications parfois plus rapidement, plus facilement et plus concis\u00e9ment que dans ses \u00ab homologues \u00bb interpr\u00e9t\u00e9s, tout en produisant un binaire relativement rapide. Par rapport \u00e0 Golang, il se distingue par un v\u00e9ritable support de la programmation orient\u00e9e objet, des g\u00e9n\u00e9riques et une syntaxe tr\u00e8s simple et claire. Il est en grande partie similaire \u00e0 Nim par ses objectifs, mais est clairement orient\u00e9 vers une application pratique \u00ab ici et maintenant \u00bb, ce qui lui permet d'avoir dans son API de nombreux outils bien document\u00e9s, pratiques et de qualit\u00e9, soutenus par les d\u00e9veloppeurs du langage et donc tr\u00e8s stables.<\/p>\n<p>Source : <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 - 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\/fr\/blog\/news\/vyshel-crystal-0-34-0\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2\" \/>\n\t\t<meta property=\"og:locale\" content=\"fr_FR\" \/>\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\/fr\/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\udd47Crystal 0.34.0 est sorti | ProHoster","description":"Une nouvelle version de Crystal, un langage de programmation compil\u00e9 avec une syntaxe Ruby, vient de sortir. Ses principales caract\u00e9ristiques incluent un runtime avec une boucle d'\u00e9v\u00e9nements \"int\u00e9gr\u00e9e\", o\u00f9 toutes les op\u00e9rations d'entr\u00e9e-sortie sont asynchrones, et la prise en charge.","canonical_url":"https:\/\/prohoster.info\/fr\/blog\/news\/vyshel-crystal-0-34-0","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"fr_FR","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\/fr\/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\/fr\/wp-json\/wp\/v2\/posts\/77153","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/comments?post=77153"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts\/77153\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/media?parent=77153"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/categories?post=77153"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/tags?post=77153"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}