{"id":22325,"date":"2020-10-18T11:13:03","date_gmt":"2020-10-18T09:13:03","guid":{"rendered":"https:\/\/savinol.sg-host.com\/webdesign\/javascript-molti-tool-sono-scritti-in-altri-linguaggi-perche\/"},"modified":"2020-10-18T11:13:03","modified_gmt":"2020-10-18T09:13:03","slug":"javascript-molti-tool-sono-scritti-in-altri-linguaggi-perche","status":"publish","type":"post","link":"https:\/\/www.nycwebdesign.eu\/webdesign\/javascript-molti-tool-sono-scritti-in-altri-linguaggi-perche\/","title":{"rendered":"JavaScript: molti tool sono scritti in altri linguaggi. Perch\u00e9?"},"content":{"rendered":"<p> <br \/>\n<\/p>\n<div>\n<p>Un <a href=\"https:\/\/2ality.com\/2020\/10\/js-plus-other-languages.html\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">recente post pubblicato su 2ality<\/a>, ha messo in luce un particolare trend che riguarda vari strumenti per lo sviluppo di applicazioni in <a href=\"https:\/\/www.html.it\/guide\/guida-javascript-di-base\/\">JavaScript<\/a>. Da una piccola ricerca su <a href=\"https:\/\/www.html.it\/guide\/guida-twitter\/\">Twitter<\/a>, \u00e8 venuto fuori che un numero significativo di strumenti di questo tipo, pur essendo pensato per gli sviluppatori JavaScript, \u00e8 <strong>spesso scritto sfruttando altri linguaggi di programmazione<\/strong>.<\/p>\n<div class=\"embed-responsive embed-responsive-4by3\">\n<div class=\"entry-content-asset\">\n<blockquote class=\"twitter-tweet\" data-width=\"500\" data-dnt=\"true\">\n<p lang=\"en\" dir=\"ltr\">Are you using a JS tool that isn\u2019t written in JS (but in Rust, Go, etc.) that you are happy with?<\/p>\n<p>\u2014 Axel Rauschmayer (@rauschma) <a href=\"https:\/\/twitter.com\/rauschma\/status\/1313505014275596288?ref_src=twsrc%5Etfw\">October 6, 2020<\/a><\/p>\n<\/blockquote>\n<\/div>\n<\/div>\n<p>\u00c8 quindi lecito chiedersi il perch\u00e9 di questo trend. Nel seguito cercheremo di rispondere a questa particolare tendenza, rifacendoci alle considerazioni discusse nel summenzionato post di 2ality.<\/p>\n<h2>I tool JavaScript scritti in altri linguaggi<\/h2>\n<p>Prima di esplorare in dettaglio i motivi di questa tendenza, vale la pena analizzare questi tool per classi.<\/p>\n<h3>Compilatori e building tools<\/h3>\n<p>Alcuni strumenti che tendono ad essere scritti in linguaggi diversi da JavaScript sono quelli che permettono di compilare, ottimizzare o \u201c<a href=\"https:\/\/www.html.it\/03\/07\/2017\/pagine-web-piu-veloci-con-la-minificazione-di-css\/\">minificare<\/a>\u201d il codice. Tra questi vi sono:<\/p>\n<ul>\n<li><strong>esbuild<\/strong>: scritto in <a href=\"https:\/\/www.html.it\/03\/04\/2019\/go-unascesa-con-pregi-e-difetti\/\">GoLang<\/a>, che permette di minificare ed impacchettare codice JavaScript e <a href=\"https:\/\/www.html.it\/guide\/guida-typescript\/\">TypeScript<\/a>, in modo da facilitarne la distribuzione<\/li>\n<li><strong>swc<\/strong>: scritto in <a href=\"https:\/\/www.html.it\/20\/05\/2015\/rust-finalmente-la-versione-1-0\/\">Rust<\/a>, \u00e8 un compilatore per JavaScript e TypeScript<\/li>\n<li><strong>Google Closure Compiler<\/strong>: scritto in <a href=\"https:\/\/www.html.it\/guide\/guida-java\/\">Java<\/a>, permette di eseguire il controllo della sintassi e l\u2019ottimizzazione del codice JavaScript<\/li>\n<\/ul>\n<h3>Linter e strumenti per la formattazione del codice<\/h3>\n<p>Un\u2019altra importante classe di strumenti che sono affetti da questa peculiare tendenza \u00e8 quella dei <strong>linter<\/strong> (strumenti che analizzano il codice in cerca di errori di sintassi, bug e anti-pattern) e degli strumenti che permettono di migliorare la formattazione del codice (<em>beautifiers<\/em>). Tra questi vi sono:<\/p>\n<ul>\n<li><strong>RSLint<\/strong>, scritto in Rust<\/li>\n<li><strong>Flow<\/strong>, scritto in <a href=\"https:\/\/www.html.it\/25\/10\/2005\/risorse-per-php-e-ocaml\/\">OCaml<\/a><\/li>\n<li><strong>dprint<\/strong>, scritto in Rust<\/li>\n<\/ul>\n<h3>Strumenti di gestione da riga di comando<\/h3>\n<p>Ci sono infine alcuni strumenti utili alla gestione di progetti JavaScript tramite riga di comando, scritti in altri linguaggi. Tra questi menzioniamo <strong>Fast Node Manager<\/strong> (noto anche come <em>fnm<\/em>, e scritto in Rust) e <strong>Volta<\/strong>, entrambi sviluppati in linguaggio Rust.<\/p>\n<h2>Perch\u00e9 utilizzare altri linguaggi?<\/h2>\n<p>I principali motivi che stanno dietro a questa tendenza sono principalmente connessi alle <strong>performance<\/strong>. Come \u00e8 noto, infatti, JavaScript ha molte limitazioni, legate sia alla gestione della memoria, sia alla possibilit\u00e0 di <strong>parallelizzare l\u2019esecuzione del codice<\/strong>. Inoltre, alcuni linguaggi possono risultare oggettivamente pi\u00f9 adatti ad implementare certi tipi di funzionalit\u00e0. Si pensi, ad esempio, ai <a href=\"https:\/\/www.html.it\/pag\/70235\/javascript-e-la-programmazione-funzionale\/\">linguaggi funzionali<\/a> come OCaml o <a href=\"https:\/\/www.html.it\/22\/08\/2012\/web-framework-in-haskell\/\">Haskell<\/a>, che possono pi\u00f9 facilmente supportare alcuni tipi algebrici, o magari gestire meglio certe strutture dati.<\/p>\n<p>D\u2019altra parte, <strong>l\u2019uso di JavaScript ha i suoi vantaggi<\/strong>. Sebbene sia vero che molti linguaggi sono oggi compilabili in JavaScript tramite <a href=\"https:\/\/www.html.it\/11\/10\/2018\/webassembly-un-concorrente-per-javascript\/\">WebAssembly<\/a>, \u00e8 altrettanto vero che JavaScript gode di una delle pi\u00f9 vaste <strong>comunit\u00e0 di sviluppatori<\/strong>, cosa che faciliterebbe la costruzione dei team di sviluppo ed il reperimento di un <strong>maggior numero di contributor<\/strong> per i progetti open source.<\/p>\n<p>Inoltre, l\u2019ampia community JavaScript porta con s\u00e9 un altro importante vantaggio, ovvero la vasta <strong>disponibilit\u00e0 di librerie e strumenti<\/strong> che possono facilitare lo sviluppo dei tool stessi.<\/p>\n<p>Infine, anche la necessit\u00e0 di sfruttare un linguaggio funzionale pu\u00f2 essere facilmente aggirata, visto il supporto (seppur non elegantissimo) di TypeScript.<\/p>\n<p><em>Fonte<\/em>: <a href=\"https:\/\/2ality.com\/2020\/10\/js-plus-other-languages.html\" class=\"text-link text-link--special\" target=\"_blank\" rel=\"nofollow noopener noreferrer\"><span class=\"underline\">2ality<\/span><i class=\"ico-external\"\/><\/a><\/p>\n<\/div>\n<p><script async src=\"https:\/\/platform.twitter.com\/widgets.js\" charset=\"utf-8\"><\/script><br \/>\n<br \/><br \/>\n<br \/><a href=\"http:\/\/feedproxy.google.com\/~r\/htmlitedit\/~3\/Qyh9tyhcQSA\/\">Source link <\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Un recente post pubblicato su 2ality, ha messo in luce un particolare trend che riguarda vari strumenti per lo sviluppo di applicazioni in JavaScript. Da una piccola ricerca su Twitter, \u00e8 venuto fuori che un numero significativo di strumenti di questo tipo, pur essendo pensato per gli sviluppatori JavaScript, \u00e8 spesso scritto sfruttando altri linguaggi&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_s2mail":""},"categories":[37],"tags":[],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v19.13 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>JavaScript: molti tool sono scritti in altri linguaggi. Perch\u00e9? - AGENZIA WEB Italia<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.nycwebdesign.eu\/webdesign\/javascript-molti-tool-sono-scritti-in-altri-linguaggi-perche\/\" \/>\n<meta property=\"og:locale\" content=\"it_IT\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"JavaScript: molti tool sono scritti in altri linguaggi. Perch\u00e9? - AGENZIA WEB Italia\" \/>\n<meta property=\"og:description\" content=\"Un recente post pubblicato su 2ality, ha messo in luce un particolare trend che riguarda vari strumenti per lo sviluppo di applicazioni in JavaScript. Da una piccola ricerca su Twitter, \u00e8 venuto fuori che un numero significativo di strumenti di questo tipo, pur essendo pensato per gli sviluppatori JavaScript, \u00e8 spesso scritto sfruttando altri linguaggi...\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.nycwebdesign.eu\/webdesign\/javascript-molti-tool-sono-scritti-in-altri-linguaggi-perche\/\" \/>\n<meta property=\"og:site_name\" content=\"AGENZIA WEB Italia\" \/>\n<meta property=\"article:published_time\" content=\"2020-10-18T09:13:03+00:00\" \/>\n<meta name=\"author\" content=\"admin\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Scritto da\" \/>\n\t<meta name=\"twitter:data1\" content=\"admin\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tempo di lettura stimato\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minuti\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.nycwebdesign.eu\/webdesign\/javascript-molti-tool-sono-scritti-in-altri-linguaggi-perche\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.nycwebdesign.eu\/webdesign\/javascript-molti-tool-sono-scritti-in-altri-linguaggi-perche\/\"},\"author\":{\"name\":\"admin\",\"@id\":\"https:\/\/www.nycwebdesign.eu\/webdesign\/#\/schema\/person\/c0748e23499fac2fd73b79d1379fdf42\"},\"headline\":\"JavaScript: molti tool sono scritti in altri linguaggi. Perch\u00e9?\",\"datePublished\":\"2020-10-18T09:13:03+00:00\",\"dateModified\":\"2020-10-18T09:13:03+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.nycwebdesign.eu\/webdesign\/javascript-molti-tool-sono-scritti-in-altri-linguaggi-perche\/\"},\"wordCount\":529,\"publisher\":{\"@id\":\"https:\/\/www.nycwebdesign.eu\/webdesign\/#organization\"},\"articleSection\":[\"News\"],\"inLanguage\":\"it-IT\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.nycwebdesign.eu\/webdesign\/javascript-molti-tool-sono-scritti-in-altri-linguaggi-perche\/\",\"url\":\"https:\/\/www.nycwebdesign.eu\/webdesign\/javascript-molti-tool-sono-scritti-in-altri-linguaggi-perche\/\",\"name\":\"JavaScript: molti tool sono scritti in altri linguaggi. Perch\u00e9? - AGENZIA WEB Italia\",\"isPartOf\":{\"@id\":\"https:\/\/www.nycwebdesign.eu\/webdesign\/#website\"},\"datePublished\":\"2020-10-18T09:13:03+00:00\",\"dateModified\":\"2020-10-18T09:13:03+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.nycwebdesign.eu\/webdesign\/javascript-molti-tool-sono-scritti-in-altri-linguaggi-perche\/#breadcrumb\"},\"inLanguage\":\"it-IT\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.nycwebdesign.eu\/webdesign\/javascript-molti-tool-sono-scritti-in-altri-linguaggi-perche\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.nycwebdesign.eu\/webdesign\/javascript-molti-tool-sono-scritti-in-altri-linguaggi-perche\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.nycwebdesign.eu\/webdesign\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"JavaScript: molti tool sono scritti in altri linguaggi. Perch\u00e9?\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.nycwebdesign.eu\/webdesign\/#website\",\"url\":\"https:\/\/www.nycwebdesign.eu\/webdesign\/\",\"name\":\"AGENZIA WEB Italia\",\"description\":\"Web design Web agency Italia\",\"publisher\":{\"@id\":\"https:\/\/www.nycwebdesign.eu\/webdesign\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.nycwebdesign.eu\/webdesign\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"it-IT\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.nycwebdesign.eu\/webdesign\/#organization\",\"name\":\"Multimedia Web\",\"url\":\"https:\/\/www.nycwebdesign.eu\/webdesign\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\/\/www.nycwebdesign.eu\/webdesign\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.nycwebdesign.eu\/webdesign\/wp-content\/uploads\/2016\/05\/multimediaweb1.png\",\"contentUrl\":\"https:\/\/www.nycwebdesign.eu\/webdesign\/wp-content\/uploads\/2016\/05\/multimediaweb1.png\",\"width\":200,\"height\":57,\"caption\":\"Multimedia Web\"},\"image\":{\"@id\":\"https:\/\/www.nycwebdesign.eu\/webdesign\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.nycwebdesign.eu\/webdesign\/#\/schema\/person\/c0748e23499fac2fd73b79d1379fdf42\",\"name\":\"admin\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\/\/www.nycwebdesign.eu\/webdesign\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/991cd68bbfd6f946517378a63fc3a1f7?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/991cd68bbfd6f946517378a63fc3a1f7?s=96&d=mm&r=g\",\"caption\":\"admin\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"JavaScript: molti tool sono scritti in altri linguaggi. Perch\u00e9? - AGENZIA WEB Italia","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.nycwebdesign.eu\/webdesign\/javascript-molti-tool-sono-scritti-in-altri-linguaggi-perche\/","og_locale":"it_IT","og_type":"article","og_title":"JavaScript: molti tool sono scritti in altri linguaggi. Perch\u00e9? - AGENZIA WEB Italia","og_description":"Un recente post pubblicato su 2ality, ha messo in luce un particolare trend che riguarda vari strumenti per lo sviluppo di applicazioni in JavaScript. Da una piccola ricerca su Twitter, \u00e8 venuto fuori che un numero significativo di strumenti di questo tipo, pur essendo pensato per gli sviluppatori JavaScript, \u00e8 spesso scritto sfruttando altri linguaggi...","og_url":"https:\/\/www.nycwebdesign.eu\/webdesign\/javascript-molti-tool-sono-scritti-in-altri-linguaggi-perche\/","og_site_name":"AGENZIA WEB Italia","article_published_time":"2020-10-18T09:13:03+00:00","author":"admin","twitter_card":"summary_large_image","twitter_misc":{"Scritto da":"admin","Tempo di lettura stimato":"3 minuti"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.nycwebdesign.eu\/webdesign\/javascript-molti-tool-sono-scritti-in-altri-linguaggi-perche\/#article","isPartOf":{"@id":"https:\/\/www.nycwebdesign.eu\/webdesign\/javascript-molti-tool-sono-scritti-in-altri-linguaggi-perche\/"},"author":{"name":"admin","@id":"https:\/\/www.nycwebdesign.eu\/webdesign\/#\/schema\/person\/c0748e23499fac2fd73b79d1379fdf42"},"headline":"JavaScript: molti tool sono scritti in altri linguaggi. Perch\u00e9?","datePublished":"2020-10-18T09:13:03+00:00","dateModified":"2020-10-18T09:13:03+00:00","mainEntityOfPage":{"@id":"https:\/\/www.nycwebdesign.eu\/webdesign\/javascript-molti-tool-sono-scritti-in-altri-linguaggi-perche\/"},"wordCount":529,"publisher":{"@id":"https:\/\/www.nycwebdesign.eu\/webdesign\/#organization"},"articleSection":["News"],"inLanguage":"it-IT"},{"@type":"WebPage","@id":"https:\/\/www.nycwebdesign.eu\/webdesign\/javascript-molti-tool-sono-scritti-in-altri-linguaggi-perche\/","url":"https:\/\/www.nycwebdesign.eu\/webdesign\/javascript-molti-tool-sono-scritti-in-altri-linguaggi-perche\/","name":"JavaScript: molti tool sono scritti in altri linguaggi. Perch\u00e9? - AGENZIA WEB Italia","isPartOf":{"@id":"https:\/\/www.nycwebdesign.eu\/webdesign\/#website"},"datePublished":"2020-10-18T09:13:03+00:00","dateModified":"2020-10-18T09:13:03+00:00","breadcrumb":{"@id":"https:\/\/www.nycwebdesign.eu\/webdesign\/javascript-molti-tool-sono-scritti-in-altri-linguaggi-perche\/#breadcrumb"},"inLanguage":"it-IT","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.nycwebdesign.eu\/webdesign\/javascript-molti-tool-sono-scritti-in-altri-linguaggi-perche\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.nycwebdesign.eu\/webdesign\/javascript-molti-tool-sono-scritti-in-altri-linguaggi-perche\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.nycwebdesign.eu\/webdesign\/"},{"@type":"ListItem","position":2,"name":"JavaScript: molti tool sono scritti in altri linguaggi. Perch\u00e9?"}]},{"@type":"WebSite","@id":"https:\/\/www.nycwebdesign.eu\/webdesign\/#website","url":"https:\/\/www.nycwebdesign.eu\/webdesign\/","name":"AGENZIA WEB Italia","description":"Web design Web agency Italia","publisher":{"@id":"https:\/\/www.nycwebdesign.eu\/webdesign\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.nycwebdesign.eu\/webdesign\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"it-IT"},{"@type":"Organization","@id":"https:\/\/www.nycwebdesign.eu\/webdesign\/#organization","name":"Multimedia Web","url":"https:\/\/www.nycwebdesign.eu\/webdesign\/","logo":{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/www.nycwebdesign.eu\/webdesign\/#\/schema\/logo\/image\/","url":"https:\/\/www.nycwebdesign.eu\/webdesign\/wp-content\/uploads\/2016\/05\/multimediaweb1.png","contentUrl":"https:\/\/www.nycwebdesign.eu\/webdesign\/wp-content\/uploads\/2016\/05\/multimediaweb1.png","width":200,"height":57,"caption":"Multimedia Web"},"image":{"@id":"https:\/\/www.nycwebdesign.eu\/webdesign\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/www.nycwebdesign.eu\/webdesign\/#\/schema\/person\/c0748e23499fac2fd73b79d1379fdf42","name":"admin","image":{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/www.nycwebdesign.eu\/webdesign\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/991cd68bbfd6f946517378a63fc3a1f7?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/991cd68bbfd6f946517378a63fc3a1f7?s=96&d=mm&r=g","caption":"admin"}}]}},"_links":{"self":[{"href":"https:\/\/www.nycwebdesign.eu\/webdesign\/wp-json\/wp\/v2\/posts\/22325"}],"collection":[{"href":"https:\/\/www.nycwebdesign.eu\/webdesign\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.nycwebdesign.eu\/webdesign\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.nycwebdesign.eu\/webdesign\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.nycwebdesign.eu\/webdesign\/wp-json\/wp\/v2\/comments?post=22325"}],"version-history":[{"count":0,"href":"https:\/\/www.nycwebdesign.eu\/webdesign\/wp-json\/wp\/v2\/posts\/22325\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.nycwebdesign.eu\/webdesign\/wp-json\/wp\/v2\/media?parent=22325"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.nycwebdesign.eu\/webdesign\/wp-json\/wp\/v2\/categories?post=22325"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.nycwebdesign.eu\/webdesign\/wp-json\/wp\/v2\/tags?post=22325"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}