{"id":102211,"date":"2021-11-04T15:37:01","date_gmt":"2021-11-04T13:37:01","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/otkryt-kod-luau-varianta-yazyka-lua-s-proverkoj-tipov"},"modified":"2021-11-04T15:37:01","modified_gmt":"2021-11-04T13:37:01","slug":"otkryt-kod-luau-varianta-yazyka-lua-s-proverkoj-tipov","status":"publish","type":"post","link":"https:\/\/prohoster.info\/it\/blog\/news\/otkryt-kod-luau-varianta-yazyka-lua-s-proverkoj-tipov","title":{"rendered":"Il codice di Luau, una variante del linguaggio Lua con controllo dei tipi, \u00e8 stato aperto","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>\u00c8 stato annunciato l'apertura dei testi sorgente e la pubblicazione del primo numero separato del linguaggio di programmazione Luau, che continua lo sviluppo del linguaggio Lua ed \u00e8 retrocompatibile con Lua 5.1. Il linguaggio Luau \u00e8 principalmente destinato all'integrazione di gestori di script nelle applicazioni e punta a raggiungere alte prestazioni e un basso consumo di risorse. Il codice del progetto \u00e8 scritto in C++ e rilasciato con licenza MIT.    <\/p>\n<p>Luau espande Lua con funzionalit\u00e0 di controllo dei tipi e alcune nuove costruzioni sintattiche, come i letterali di stringa. Il linguaggio \u00e8 retrocompatibile con Lua 5.1 e parzialmente con versioni pi\u00f9 recenti. \u00c8 supportato l'API Lua Runtime, che consente di utilizzare Luau con codice e binding esistenti. Il runtime del linguaggio si basa su un codice di Lua runtime 5.1 notevolmente rielaborato, ma l'interprete \u00e8 completamente riscritto. Durante lo sviluppo sono state impiegate alcune nuove tecniche di ottimizzazione che hanno permesso di ottenere prestazioni superiori rispetto a Lua.      <\/p>\n<p>Il progetto \u00e8 stato sviluppato da Roblox e viene utilizzato nel codice della piattaforma di gioco, dei giochi e delle applicazioni utente di questa azienda, inclusi l'editor Roblox Studio. Inizialmente, Luau \u00e8 stato sviluppato a porte chiuse, ma alla fine si \u00e8 deciso di promuoverlo come progetto open source per un ulteriore sviluppo collaborativo con la partecipazione della comunit\u00e0.    <\/p>\n<p>Caratteristiche principali:  <\/p>\n<ul>\n<li class=\"l\">  Un sistema di tipi graduali occupa una posizione intermedia tra la tipizzazione dinamica e quella statica. Luau consente di utilizzare la tipizzazione statica quando necessario, specificando le informazioni sui tipi tramite annotazioni specifiche. Sono forniti tipi integrati come \u00abany\u00bb, \u00abnil\u00bb, \u00abboolean\u00bb, \u00abnumber\u00bb, \u00abstring\u00bb e \u00abthread\u00bb. \u00c8 comunque possibile utilizzare la tipizzazione dinamica senza la necessit\u00e0 di definire esplicitamente i tipi delle variabili e delle funzioni. function foo(x: number, y: string): boolean local k: string = y:rep(x) return k == \u00aba\u00bb end\n<li class=\"l\"> Supporto per le stringhe letterali (come in Lua 5.3), come \u00ab\\0x**\u00bb (numero esadecimale), \u00ab\\u{**}\u00bb (carattere Unicode) e \u00ab\\z\u00bb (fine stringa), oltre alla possibilit\u00e0 di formattare i numeri in modo chiaro (si pu\u00f2 scrivere 1_000_000 invece di 1000000), letterali per numeri esadecimali (0x\u2026) e binari (0b\u2026\u2026).\n<li class=\"l\"> Supporto per l'espressione \u00abcontinue\u00bb, che integra la parola chiave esistente \u00abbreak\u00bb, per passare a una nuova iterazione del ciclo.\n<li class=\"l\"> Supporto per operatori di assegnazione composti (+=, -=, *=, \/=, %=, ^=, ..=).\n<li class=\"l\"> Supporto per l'uso di blocchi condizionali \u00abif-then-else\u00bb sotto forma di espressioni che restituiscono valori calcolati durante l'esecuzione del blocco. \u00c8 consentito specificare un numero arbitrario di espressioni elseif nel blocco. local maxValue = if a &gt; b then a else b local sign = if x < 0 then -1 elseif x > 0 then 1 else 0\n<li class=\"l\"> Presenza di una modalit\u00e0 di isolamento (sandbox) che consente di eseguire codice non attendibile. Questa funzionalit\u00e0 pu\u00f2 essere utilizzata per organizzare l'esecuzione affiancata del proprio codice e di quello scritto da un altro sviluppatore, ad esempio, librerie di terze parti di cui non si pu\u00f2 garantire la sicurezza.\n<li class=\"l\"> Restrizione della libreria standard da cui sono state rimosse le funzioni che potrebbero creare problemi di sicurezza. Ad esempio, sono escluse dalla libreria standard le librerie \u00abio\u00bb (accesso ai file e avvio dei processi), \u00abpackage\u00bb (accesso ai file e caricamento dei moduli), \u00abos\u00bb (rimosse funzioni di accesso ai file e modifiche delle variabili d'ambiente), \u00abdebug\u00bb (operazioni di memoria non sicure), \u00abdofile\u00bb e \u00abloadfile\u00bb (accesso al FS).\n<li class=\"l\"> Fornitura di strumenti per l'analisi statica del codice, rilevamento errori (linter) e verifica della correttezza dell'uso dei tipi.\n<li class=\"l\"> Parser, interprete di bytecode e compilatore ad alte prestazioni. Luau non supporta attualmente la compilazione JIT, ma si afferma che l'interprete Luau in alcune situazioni \u00e8 comparabile in termini di prestazioni a LuaJIT.            <\/ul>\n<p>Fonte: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=56098\">opennet.ru<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u043e \u043e\u0431 \u043e\u0442\u043a\u0440\u044b\u0442\u0438\u0438 \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0445 \u0442\u0435\u043a\u0441\u0442\u043e\u0432 \u0438 \u043f\u0443\u0431\u043b\u0438\u043a\u0430\u0446\u0438\u0438 \u043f\u0435\u0440\u0432\u043e\u0433\u043e \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u0432\u044b\u043f\u0443\u0441\u043a\u0430 \u044f\u0437\u044b\u043a\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f Luau, \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0430\u044e\u0449\u0435\u0433\u043e \u0440\u0430\u0437\u0432\u0438\u0442\u0438\u0435 \u044f\u0437\u044b\u043a\u0430 Lua \u0438 \u043e\u0431\u0440\u0430\u0442\u043d\u043e \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u043e\u0433\u043e \u0441 Lua 5.1. \u042f\u0437\u044b\u043a Luau \u043f\u0440\u0435\u0434\u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d \u0432 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u043c \u0434\u043b\u044f \u0432\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u043d\u0438\u044f \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u0432 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0435\u0432 \u0432 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0438 \u043d\u0430\u0446\u0435\u043b\u0435\u043d \u043d\u0430 \u0434\u043e\u0441\u0442\u0438\u0436\u0435\u043d\u0438\u0435 \u0432\u044b\u0441\u043e\u043a\u043e\u0439 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u0438 \u043d\u0438\u0437\u043a\u043e\u0433\u043e \u043f\u043e\u0442\u0440\u0435\u0431\u043b\u0435\u043d\u0438\u044f \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432. \u041a\u043e\u0434 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u043d\u0430\u043f\u0438\u0441\u0430\u043d \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 C++ \u0438 \u043e\u0442\u043a\u0440\u044b\u0442 \u043f\u043e\u0434 \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u0435\u0439 MIT. [&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-102211","post","type-post","status-publish","format-standard","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.1.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u043e \u043e\u0431 \u043e\u0442\u043a\u0440\u044b\u0442\u0438\u0438 \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0445 \u0442\u0435\u043a\u0441\u0442\u043e\u0432 \u0438 \u043f\u0443\u0431\u043b\u0438\u043a\u0430\u0446\u0438\u0438 \u043f\u0435\u0440\u0432\u043e\u0433\u043e \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u0432\u044b\u043f\u0443\u0441\u043a\u0430 \u044f\u0437\u044b\u043a\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f Luau, \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0430\u044e\u0449\u0435\u0433\u043e \u0440\u0430\u0437\u0432\u0438\u0442\u0438\u0435 \u044f\u0437\u044b\u043a\u0430 Lua \u0438 \u043e\u0431\u0440\u0430\u0442\u043d\u043e \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u043e\u0433\u043e \u0441 Lua 5.1.\" \/>\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\/it\/blog\/news\/otkryt-kod-luau-varianta-yazyka-lua-s-proverkoj-tipov\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"it_IT\" \/>\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\u041e\u0442\u043a\u0440\u044b\u0442 \u043a\u043e\u0434 Luau, \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u0430 \u044f\u0437\u044b\u043a\u0430 Lua \u0441 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u043e\u0439 \u0442\u0438\u043f\u043e\u0432 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u043e \u043e\u0431 \u043e\u0442\u043a\u0440\u044b\u0442\u0438\u0438 \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0445 \u0442\u0435\u043a\u0441\u0442\u043e\u0432 \u0438 \u043f\u0443\u0431\u043b\u0438\u043a\u0430\u0446\u0438\u0438 \u043f\u0435\u0440\u0432\u043e\u0433\u043e \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u0432\u044b\u043f\u0443\u0441\u043a\u0430 \u044f\u0437\u044b\u043a\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f Luau, \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0430\u044e\u0449\u0435\u0433\u043e \u0440\u0430\u0437\u0432\u0438\u0442\u0438\u0435 \u044f\u0437\u044b\u043a\u0430 Lua \u0438 \u043e\u0431\u0440\u0430\u0442\u043d\u043e \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u043e\u0433\u043e \u0441 Lua 5.1.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/it\/blog\/news\/otkryt-kod-luau-varianta-yazyka-lua-s-proverkoj-tipov\" \/>\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=\"2021-11-04T13:37:01+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2021-11-04T13:37:01+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\udd47Rilasciato il codice di Luau, una variante del linguaggio Lua con controllo dei tipi | ProHoster","description":"\u00c8 stata annunciata l'apertura dei codici sorgente e la pubblicazione della prima edizione separata del linguaggio di programmazione Luau, che continua lo sviluppo del linguaggio Lua e che \u00e8 retrocompatibile con Lua 5.1.","canonical_url":"https:\/\/prohoster.info\/it\/blog\/news\/otkryt-kod-luau-varianta-yazyka-lua-s-proverkoj-tipov","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"it_IT","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\u041e\u0442\u043a\u0440\u044b\u0442 \u043a\u043e\u0434 Luau, \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u0430 \u044f\u0437\u044b\u043a\u0430 Lua \u0441 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u043e\u0439 \u0442\u0438\u043f\u043e\u0432 | ProHoster","og:description":"\u041e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u043e \u043e\u0431 \u043e\u0442\u043a\u0440\u044b\u0442\u0438\u0438 \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0445 \u0442\u0435\u043a\u0441\u0442\u043e\u0432 \u0438 \u043f\u0443\u0431\u043b\u0438\u043a\u0430\u0446\u0438\u0438 \u043f\u0435\u0440\u0432\u043e\u0433\u043e \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u0432\u044b\u043f\u0443\u0441\u043a\u0430 \u044f\u0437\u044b\u043a\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f Luau, \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0430\u044e\u0449\u0435\u0433\u043e \u0440\u0430\u0437\u0432\u0438\u0442\u0438\u0435 \u044f\u0437\u044b\u043a\u0430 Lua \u0438 \u043e\u0431\u0440\u0430\u0442\u043d\u043e \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u043e\u0433\u043e \u0441 Lua 5.1.","og:url":"https:\/\/prohoster.info\/it\/blog\/news\/otkryt-kod-luau-varianta-yazyka-lua-s-proverkoj-tipov","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":"2021-11-04T13:37:01+00:00","article:modified_time":"2021-11-04T13:37:01+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"102211","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-11-04 13:37:30","updated":"2022-10-08 06:05:36","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/102211","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/comments?post=102211"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/102211\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/media?parent=102211"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/categories?post=102211"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/tags?post=102211"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}