973 resultados para Logica linguaggio identità descrizioni
Resumo:
La tesi si propone di studiare il rapporto tra i due linguaggi di programmazione più diffusi per dispositivi portatili, e si concentra in particolare sul porting dal diffusissimo linguaggio Java all'emergente Objective-C. Strumenti come J2ObjC e Codename One saranno studiati e comparati.
Resumo:
La specificità dell'acquisizione di contenuti attraverso le interfacce digitali condanna l'agente epistemico a un'interazione frammentata, insufficiente da un punto di vista computazionale, mnemonico e temporale, rispetto alla mole informazionale oggi accessibile attraverso una qualunque implementazione della relazione uomo-computer, e invalida l'applicabilità del modello standard di conoscenza, come credenza vera e giustificata, sconfessando il concetto di credenza razionalmente fondata, per formare la quale, sarebbe invece richiesto all'agente di poter disporre appunto di risorse concettuali, computazionali e temporali inaccessibili. La conseguenza è che l'agente, vincolato dalle limitazioni ontologiche tipiche dell'interazione con le interfacce culturali, si vede costretto a ripiegare su processi ambigui, arbitrari e spesso più casuali di quanto creda, di selezione e gestione delle informazioni che danno origine a veri e propri ibridi (alla Latour) epistemologici, fatti di sensazioni e output di programmi, credenze non fondate e bit di testimonianze indirette e di tutta una serie di relazioni umano-digitali che danno adito a rifuggire in una dimensione trascendente che trova nel sacro il suo più immediato ambito di attuazione. Tutto ciò premesso, il presente lavoro si occupa di costruire un nuovo paradigma epistemologico di conoscenza proposizionale ottenibile attraverso un'interfaccia digitale di acquisizione di contenuti, fondato sul nuovo concetto di Tracciatura Digitale, definito come un un processo di acquisizione digitale di un insieme di tracce, ossia meta-informazioni di natura testimoniale. Tale dispositivo, una volta riconosciuto come un processo di comunicazione di contenuti, si baserà sulla ricerca e selezione di meta-informazioni, cioè tracce, che consentiranno l'implementazione di approcci derivati dall'analisi decisionale in condizioni di razionalità limitata, approcci che, oltre ad essere quasi mai utilizzati in tale ambito, sono ontologicamente predisposti per una gestione dell'incertezza quale quella riscontrabile nell'istanziazione dell'ibrido informazionale e che, in determinate condizioni, potranno garantire l'agente sulla bontà epistemica del contenuto acquisito.
Resumo:
L’obiettivo di questa tesi è stato lo svilippo di un convertitore di potenza per applicazioni di energy harvesting in grado di convogliare l’energia estratta da diversi tipi di trasduttori di grandezze ambientali in un unico dispositivo di storage, ad es. un condensatore, utilizzabile per alimentare circuiti a basso consumo. L’idea di base è stata quella di ottimizzare il trasferimento di energia, attraverso una rete logica in grado di gestire le priorità di conversione dalle diverse tipologie di sorgenti e grazie ad una implementazione di un algoritmo di Maximum Power Point Tracking. In base alle specifiche di progetto, in una prima fase è stata sviluppata la rete a livello funzionale, poi sono stati scelti i componenti più opportuni ed infine si è verificato il funzionamento attraverso simulazioni circuitali.
Resumo:
Web is constantly evolving, thanks to the 2.0 transition, HTML5 new features and the coming of cloud-computing, the gap between Web and traditional desktop applications is tailing off. Web-apps are more and more widespread and bring several benefits compared to traditional ones. On the other hand reference technologies, JavaScript primarly, are not keeping pace, so a paradim shift is taking place in Web programming, and so many new languages and technologies are coming out. First objective of this thesis is to survey the reference and state-of-art technologies for client-side Web programming focusing in particular on what concerns concurrency and asynchronous programming. Taking into account the problems that affect existing technologies, we finally design simpAL-web, an innovative approach to tackle Web-apps development, based on the Agent-oriented programming abstraction and the simpAL language. == Versione in italiano: Il Web è in continua evoluzione, grazie alla transizione verso il 2.0, alle nuove funzionalità introdotte con HTML5 ed all’avvento del cloud-computing, il divario tra le applicazioni Web e quelle desktop tradizionali va assottigliandosi. Le Web-apps sono sempre più diffuse e presentano diversi vantaggi rispetto a quelle tradizionali. D’altra parte le tecnologie di riferimento, JavaScript in primis, non stanno tenendo il passo, motivo per cui la programmazione Web sta andando incontro ad un cambio di paradigma e nuovi linguaggi e tecnologie stanno spuntando sempre più numerosi. Primo obiettivo di questa tesi è di passare al vaglio le tecnologie di riferimento ed allo stato dell’arte per quel che riguarda la programmmazione Web client-side, porgendo particolare attenzione agli aspetti inerenti la concorrenza e la programmazione asincrona. Considerando i principali problemi di cui soffrono le attuali tecnologie passeremo infine alla progettazione di simpAL-web, un approccio innovativo con cui affrontare lo sviluppo di Web-apps basato sulla programmazione orientata agli Agenti e sul linguaggio simpAL.
Resumo:
La crescente disponibilità di dispositivi meccanici e -soprattutto - elettronici le cui performance aumentano mentre il loro costo diminuisce, ha permesso al campo della robotica di compiere notevoli progressi. Tali progressi non sono stati fatti unicamente per ciò che riguarda la robotica per uso industriale, nelle catene di montaggio per esempio, ma anche per quella branca della robotica che comprende i robot autonomi domestici. Questi sistemi autonomi stanno diventando, per i suddetti motivi, sempre più pervasivi, ovvero sono immersi nello stesso ambiente nel quale vivono gli essere umani, e interagiscono con questi in maniera proattiva. Essi stanno compiendo quindi lo stesso percorso che hanno attraversato i personal computer all'incirca 30 anni fa, passando dall'essere costosi ed ingombranti mainframe a disposizione unicamente di enti di ricerca ed università, ad essere presenti all'interno di ogni abitazione, per un utilizzo non solo professionale ma anche di assistenza alle attività quotidiane o anche di intrattenimento. Per questi motivi la robotica è un campo dell'Information Technology che interessa sempre più tutti i tipi di programmatori software. Questa tesi analizza per prima cosa gli aspetti salienti della programmazione di controllori per robot autonomi (ovvero senza essere guidati da un utente), quindi, come l'approccio basato su agenti sia appropriato per la programmazione di questi sistemi. In particolare si mostrerà come un approccio ad agenti, utilizzando il linguaggio di programmazione Jason e quindi l'architettura BDI, sia una scelta significativa, dal momento che il modello sottostante a questo tipo di linguaggio è basato sul ragionamento pratico degli esseri umani (Human Practical Reasoning) e quindi è adatto alla implementazione di sistemi che agiscono in maniera autonoma. Dato che le possibilità di utilizzare un vero e proprio sistema autonomo per poter testare i controllori sono ridotte, per motivi pratici, economici e temporali, mostreremo come è facile e performante arrivare in maniera rapida ad un primo prototipo del robot tramite l'utilizzo del simulatore commerciale Webots. Il contributo portato da questa tesi include la possibilità di poter programmare un robot in maniera modulare e rapida per mezzo di poche linee di codice, in modo tale che l'aumento delle funzionalità di questo risulti un collo di bottiglia, come si verifica nella programmazione di questi sistemi tramite i classici linguaggi di programmazione imperativi. L'organizzazione di questa tesi prevede un capitolo di background nel quale vengono riportare le basi della robotica, della sua programmazione e degli strumenti atti allo scopo, un capitolo che riporta le nozioni di programmazione ad agenti, tramite il linguaggio Jason -quindi l'architettura BDI - e perché tale approccio è adatto alla programmazione di sistemi di controllo per la robotica. Successivamente viene presentata quella che è la struttura completa del nostro ambiente di lavoro software che comprende l'ambiente ad agenti e il simulatore, quindi nel successivo capitolo vengono mostrate quelle che sono le esplorazioni effettuate utilizzando Jason e un approccio classico (per mezzo di linguaggi classici), attraverso diversi casi di studio di crescente complessità; dopodiché, verrà effettuata una valutazione tra i due approcci analizzando i problemi e i vantaggi che comportano questi. Infine, la tesi terminerà con un capitolo di conclusioni e di riflessioni sulle possibili estensioni e lavori futuri.
Resumo:
L’attenzione dei pochi automobilisti che oggi passano velocemente per via Cavalli, nella frazione di Santa Maria Nuova, sotto il comune di Bertinoro (FC), non viene attirata dal palazzo settecentesco seminascosto dalla vegetazione che cresce incolta. L’edificio potrebbe passare per un casolare di campagna abbandonato, senza alcuna pretesa di bellezza, mutilato dei suoi terreni. Solo salendo lo scalone dissestato si può scoprire la ricchezza delle decorazione interne, stucchi baroccheggianti con maschere di volti provenienti da terre lontane e abbondanti cornucopie che circondano lo stemma della famiglia Cavalli. La piccola cappella della villa, in perfetto stato di conservazione, mostra, con un trionfo di stucchi, l’assunzione della Vergine al cielo, osservata dai santi Pietro e Paolo. Le quattro stanze centrali del piano nobile sono finemente dipinte con paesaggi marini e lacustri, stanze sepolcrali egizie e atrii di templi antichi. La ravennate famiglia dei marchesi Cavalli, una delle più ricche della zona nel XVIII e XIX secolo, utilizzava la villa come luogo di villeggiatura e come casino per la caccia. Testimonianze della loro presenza sono conservate nelle mappe storiche all’Archivio del Comune di Bertinoro e nell’Archivio parrocchiale di Santa Maria Nuova, dove si trovano descrizioni della ricchezza sia dell’edificio che delle terre possedute dai marchesi. Il complesso di villa Cavalli ha subito numerosi passaggi di proprietà dal 1900 ad oggi, è stato utilizzato come magazzino, pollaio, essiccatoio per il tabacco e le sue proprietà sono state frazionate fino a ridursi al piccolo parco presente oggi. Poiché gli attuali proprietari non possono garantire né la manutenzione ordinaria né quella straordinaria e il complesso è tutelato dal D. Lgs. 42/2004 Codice dei Beni Culturali e del Paesaggio è stato messo all’asta per tre volte, l’ultima nel dicembre 2011, senza risultato. La tesi sviluppa un’analisi dello stato di fatto della villa e del parco, partendo dal suo inserimento nel territorio fino allo studio dei dettagli costruttivi, per giungere ad un’ipotesi di progetto che vede il complesso strettamente legato a Santa Maria Nuova e alla sua gente. L’edificio fungerà da centro culturale, con mostre permanenti e temporanee, laboratori didattici, ludoteca per bambini e ospiterà la sede distaccata della biblioteca del comune di Bertinoro, ora inserita in un edificio di Santa Maria Nuova ma con dimensioni estremamente limitate. Si intendono effettuare interventi di consolidamento strutturale su tutti i solai della villa, su volte e copertura, con un atteggiamento di delicatezza verso il piano nobile, agendo dal piano inferiore e da quello superiore. Capitoli specifici trattano il restauro delle finiture e delle superfici dipinte e stuccate, per finire con l’intervento di adeguamento impiantistico e di valorizzazione del parco.
Resumo:
Il problema dell'antibiotico-resistenza è un problema di sanità pubblica per affrontare il quale è necessario un sistema di sorveglianza basato sulla raccolta e l'analisi dei dati epidemiologici di laboratorio. Il progetto di dottorato è consistito nello sviluppo di una applicazione web per la gestione di tali dati di antibiotico sensibilità di isolati clinici utilizzabile a livello di ospedale. Si è creata una piattaforma web associata a un database relazionale per avere un’applicazione dinamica che potesse essere aggiornata facilmente inserendo nuovi dati senza dover manualmente modificare le pagine HTML che compongono l’applicazione stessa. E’ stato utilizzato il database open-source MySQL in quanto presenta numerosi vantaggi: estremamente stabile, elevate prestazioni, supportato da una grande comunità online ed inoltre gratuito. Il contenuto dinamico dell’applicazione web deve essere generato da un linguaggio di programmazione tipo “scripting” che automatizzi operazioni di inserimento, modifica, cancellazione, visualizzazione di larghe quantità di dati. E’ stato scelto il PHP, linguaggio open-source sviluppato appositamente per la realizzazione di pagine web dinamiche, perfettamente utilizzabile con il database MySQL. E’ stata definita l’architettura del database creando le tabelle contenenti i dati e le relazioni tra di esse: le anagrafiche, i dati relativi ai campioni, microrganismi isolati e agli antibiogrammi con le categorie interpretative relative al dato antibiotico. Definite tabelle e relazioni del database è stato scritto il codice associato alle funzioni principali: inserimento manuale di antibiogrammi, importazione di antibiogrammi multipli provenienti da file esportati da strumenti automatizzati, modifica/eliminazione degli antibiogrammi precedenti inseriti nel sistema, analisi dei dati presenti nel database con tendenze e andamenti relativi alla prevalenza di specie microbiche e alla chemioresistenza degli stessi, corredate da grafici. Lo sviluppo ha incluso continui test delle funzioni via via implementate usando reali dati clinici e sono stati introdotti appositi controlli e l’introduzione di una semplice e pulita veste grafica.
L'area dei Lungarni di Pisa nel tardo Medioevo (XIV-XV secolo). un tentativo di ricostruzione in 3D.
Resumo:
Lo scopo di questa ricerca è la ricostruzione dei Lungarni di Pisa nel Tardo Medioevo (XIV-XV secolo); lo studio intende sottolineare le trasformazioni urbanistiche che hanno cambiato il volto di Pisa nel corso del tempo e ricordare che l’area fluviale ebbe un ruolo di primo piano come baricentro commerciale ed economico della città, vocazione che si è in gran parte persa con l’età moderna e contemporanea. La metodologia seguita, affinata e perfezionata durante la partecipazione al progetto Nu.M.E. (Nuovo Museo Elettronico della Città di Bologna), si basa sull’analisi e il confronto di fonti eterogenee ma complementari, che includono precedenti studi di storia dell’urbanistica, un corpus di documentazione di epoca medievale (provvedimenti amministrativi come gli Statuti del Comune di Pisa, ma anche descrizioni di cronisti e viaggiatori), fonti iconografiche, tra cui vedute e mappe cinquecentesche o successive, e fonti materiali, come le persistenze medievali ancora osservabili all’interno degli edifici ed i reperti rinvenuti durante alcune campagne di scavo archeologiche. Il modello 3D non è concepito come statico e “chiuso”, ma è liberamente esplorabile all’interno di un engine tridimensionale; tale prodotto può essere destinato a livelli di utenza diversi, che includono sia studiosi e specialisti interessati a conoscere un maggior numero di informazioni e ad approfondire la ricerca, sia semplici cittadini appassionati di storia o utenti più giovani, come studenti di scuole medie superiori e inferiori.
Resumo:
I temi della ricerca riguardano il rapporto fra avvento del web e la modificazione dei processi di formazione di identità personale e sociale, della percezione dello spazio e del tempo, del prosumerismo digitale e delle varie forme di partecipazione ed associazione. Centrale è stata l’analisi del rapporto fra il Web 2.0 e la trasformazione delle forme di comunicazione a vari livelli, sia personali che sociali. Partendo da una analisi dei contesti socio-economici globali che hanno trasformato la società moderna nella società informazionale, è stato impostato un percorso di ricerca che approfondisse gli attuali criteri di strutturazione della propria identità, alla luce dell’avvento dei social network e delle reti virtuali di comunicazione come strumento preferenziale di socializzazione. La realtà delle reti sociali è stata analizzata in un’ottica di aggregazione spontanea mirata tanto alla comunicazione quanto alla tutela dei consumatori, e le trasformazioni portate dal Web 2.0 sono state la chiave di lettura per ridefinire i parametri della partecipazione dal basso generata dalla rete. Per comprendere la portata di tali trasformazioni nel contesto italiano è stato impostato un paragone tra l’uso del web negli Stati Uniti e in Italia, avendo le recente campagne elettorali dimostrato l’importanza del web nella partecipazione politica bottom-up; il percorso di ricerca ha dunque affrontato una comparazione di due casi, quello italiano e quello statunitense, finalizzato a comprendere l’attuale ruolo dell’utente nelle dinamiche di comunicazione mediatica. Per focalizzare al meglio le trasformazioni sociali generate dalla partecipazione on line è stato infine analizzato il caso del citizen journalism, per misurare, attraverso la metodologia dell’etnografia digitale, l’entità delle trasformazioni in corso. Il portale di giornalismo partecipativo YouReporter è stato il contesto privilegiato dove poter verificare le ipotesi iniziali circa le dinamiche di partecipazione, e il supporto di programmi di elaborazione statistica netnografica ha permesso di destrutturare al meglio tali dinamiche.
Resumo:
La questione energetica ha assunto, negli ultimi anni, un ruolo centrale nel dibattito mondiale in relazione a quattro fattori principali: la non riproducibilità delle risorse naturali, l’aumento esponenziale dei consumi, gli interessi economici e la salvaguardia dell'equilibrio ambientale e climatico del nostro Pianeta. E’ necessario, dunque, cambiare il modello di produzione e consumo dell’energia soprattutto nelle città, dove si ha la massima concentrazione dei consumi energetici. Per queste ragioni, il ricorso alle Fonti Energetiche Rinnovabili (FER) si configura ormai come una misura necessaria, opportuna ed urgente anche nella pianificazione urbanistica. Per migliorare la prestazione energetica complessiva del sistema città bisogna implementare politiche di governo delle trasformazioni che escano da una logica operativa “edificio-centrica” e ricomprendano, oltre al singolo manufatto, le aggregazioni di manufatti e le loro relazioni/ interazioni in termini di input e output materico-energetiche. La sostituzione generalizzata del patrimonio edilizio esistente con nuovi edifici iper-tecnologici, è improponibile. In che modo quindi, è possibile ridefinire la normativa e la prassi urbanistica per generare tessuti edilizi energeticamente efficienti? La presente ricerca propone l’integrazione tra la nascente pianificazione energetica del territorio e le più consolidate norme urbanistiche, nella generazione di tessuti urbani “energy saving” che aggiungano alle prestazioni energetico-ambientali dei singoli manufatti quelle del contesto, in un bilancio energetico complessivo. Questo studio, dopo aver descritto e confrontato le principali FER oggi disponibili, suggerisce una metodologia per una valutazione preliminare del mix di tecnologie e di FER più adatto per ciascun sito configurato come “distretto energetico”. I risultati di tale processo forniscono gli elementi basilari per predisporre le azioni necessarie all’integrazione della materia energetica nei Piani Urbanistici attraverso l’applicazione dei principi della perequazione nella definizione di requisiti prestazionali alla scala insediativa, indispensabili per un corretto passaggio alla progettazione degli “oggetti” e dei “sistemi” urbani.
Resumo:
Oggetto della ricerca è lo studio del National Institute of Design (NID), progettato da Gautam Sarabhai e sua sorella Gira, ad Ahmedabad, assunta a paradigma del nuovo corso della politica che il Primo Ministro Nehru espresse nei primi decenni del governo postcoloniale. Obiettivo della tesi è di analizzare il fenomeno che unisce modernità e tradizione in architettura. La modernità indiana, infatti, nacque e si sviluppò con i caratteri di un Giano bifronte: da un lato, la politica del Primo Ministro Nehru favorì lo sviluppo dell’industria e della scienza; dall’altro, la visione di Gandhi mirava alla riscoperta del locale, delle tradizioni e dell’artigianato. Questi orientamenti influenzarono l’architettura postcoloniale. Negli anni ‘50 e ’60 Ahmedabad divenne la culla dell’architettura moderna indiana. Kanvinde, i Sarabhai, Correa, Doshi, Raje trovarono qui le condizioni per costruire la propria identità come progettisti e come intellettuali. I motori che resero possibile questo fermento furono principalmente due: una committenza di imprenditori illuminati, desiderosi di modernizzare la città; la presenza ad Ahmedabad, a partire dal 1951, dei maestri dell’architettura moderna, tra cui i più noti furono Le Corbusier e Kahn, invitati da quella stessa committenza, per la quale realizzarono edifici di notevole rilevanza. Ad Ahmedabad si confrontarono con forza entrambe le visioni dell’India moderna. Lo sforzo maggiore degli architetti indiani si espresse nel tentativo di conciliare i due aspetti, quelli che derivavano dalle influenze internazionali e quelli che provenivano dallo spirito della tradizione. Il progetto del NID è uno dei migliori esempi di questo esercizio di sintesi. Esso recupera nella composizione spaziale la lezione di Wright, Le Corbusier, Kahn, Eames ibridandola con elementi della tradizione indiana. Nell’uso sapiente della struttura modulare e a padiglione, della griglia ordinatrice a base quadrata, dell’integrazione costante fra spazi aperti, natura e architettura affiorano nell’edificio del NID echi di una cultura millenaria.
Resumo:
La presente tesi è dedicata al riuso nel software. Eccettuata un'introduzione organica al tema, l'analisi è a livello dei meccanismi offerti dai linguaggi di programmazione e delle tecniche di sviluppo, con speciale attenzione rivolta al tema della concorrenza. Il primo capitolo fornisce un quadro generale nel quale il riuso del software è descritto, assieme alle ragioni che ne determinano l'importanza e ai punti cruciali relativi alla sua attuazione. Si individuano diversi livelli di riuso sulla base dell'astrazione e degli artefatti in gioco, e si sottolinea come i linguaggi contribuiscano alla riusabilità e alla realizzazione del riuso. In seguito, viene esplorato, con esempi di codice, il supporto al riuso da parte del paradigma ad oggetti, in termini di incapsulamento, ereditarietà, polimorfismo, composizione. La trattazione prosegue analizzando differenti feature – tipizzazione, interfacce, mixin, generics – offerte da vari linguaggi di programmazione, mostrando come esse intervengano sulla riusabilità dei componenti software. A chiudere il capitolo, qualche parola contestualizzata sull'inversione di controllo, la programmazione orientata agli aspetti, e il meccanismo della delega. Il secondo capitolo abbraccia il tema della concorrenza. Dopo aver introdotto l'argomento, vengono approfonditi alcuni significativi modelli di concorrenza: programmazione multi-threaded, task nel linguaggio Ada, SCOOP, modello ad Attori. Essi vengono descritti negli elementi fondamentali e ne vengono evidenziati gli aspetti cruciali in termini di contributo al riuso, con esempi di codice. Relativamente al modello ad Attori, viene presentata la sua implementazione in Scala/Akka come caso studio. Infine, viene esaminato il problema dell'inheritance anomaly, sulla base di esempi e delle tre classi principali di anomalia, e si analizza la suscettibilità del supporto di concorrenza di Scala/Akka a riscontrare tali problemi. Inoltre, in questo capitolo si nota come alcuni aspetti relativi al binomio riuso/concorrenza, tra cui il significato profondo dello stesso, non siano ancora stati adeguatamente affrontati dalla comunità informatica. Il terzo e ultimo capitolo esordisce con una panoramica dell'agent-oriented programming, prendendo il linguaggio simpAL come riferimento. In seguito, si prova ad estendere al caso degli agenti la nozione di riuso approfondita nei capitoli precedenti.
Resumo:
Il Web nel corso della sua esistenza ha subito un mutamento dovuto in parte dalle richieste del mercato, ma soprattutto dall’evoluzione e la nascita costante delle numerose tecnologie coinvolte in esso. Si è passati da un’iniziale semplice diffusione di contenuti statici, ad una successiva collezione di siti web, dapprima con limitate presenze di dinamicità e interattività (a causa dei limiti tecnologici), ma successivamente poi evoluti alle attuali applicazioni web moderne che hanno colmato il gap con le applicazioni desktop, sia a livello tecnologico, che a livello di diffusione effettiva sul mercato. Tali applicazioni web moderne possono presentare un grado di complessità paragonabile in tutto e per tutto ai sistemi software desktop tradizionali; le tecnologie web hanno subito nel tempo un evoluzione legata ai cambiamenti del web stesso e tra le tecnologie più diffuse troviamo JavaScript, un linguaggio di scripting nato per dare dinamicità ai siti web che si ritrova tutt’ora ad essere utilizzato come linguaggio di programmazione di applicazioni altamente strutturate. Nel corso degli anni la comunità di sviluppo che ruota intorno a JavaScript ha prodotto numerose librerie al supporto del linguaggio dotando così gli sviluppatori di un linguaggio completo in grado di far realizzare applicazioni web avanzate. Le recenti evoluzioni dei motori javascript presenti nei browser hanno inoltre incrementato le prestazioni del linguaggio consacrandone la sua leadership nei confronti dei linguaggi concorrenti. Negli ultimi anni a causa della crescita della complessità delle applicazioni web, javascript è stato messo molto in discussione in quanto come linguaggio non offre le classiche astrazioni consolidate nel tempo per la programmazione altamente strutturata; per questo motivo sono nati linguaggi orientati alla programmazione ad oggetti per il web che si pongono come obiettivo la risoluzione di questo problema: tra questi si trovano linguaggi che hanno l’ambizione di soppiantare JavaScript come ad esempio Dart creato da Google, oppure altri che invece sfruttano JavaScript come linguaggio base al quale aggiungono le caratteristiche mancanti e, mediante il processo di compilazione, producono codice JavaScript puro compatibile con i motori JavaScript presenti nei browser. JavaScript storicamente fu introdotto come linguaggio sia per la programmazione client-side, che per la controparte server-side, ma per vari motivi (la forte concorrenza, basse performance, etc.) ebbe successo solo come linguaggio per la programmazione client; le recenti evoluzioni del linguaggio lo hanno però riportato in auge anche per la programmazione server-side, soprattutto per i miglioramenti delle performance, ma anche per la sua naturale predisposizione per la programmazione event-driven, paradigma alternativo al multi-threading per la programmazione concorrente. Un’applicazione web di elevata complessità al giorno d’oggi può quindi essere interamente sviluppata utilizzando il linguaggio JavaScript, acquisendone sia i suoi vantaggi che gli svantaggi; le nuove tecnologie introdotte ambiscono quindi a diventare la soluzione per i problemi presenti in JavaScript e di conseguenza si propongono come potenziali nuovi linguaggi completi per la programmazione web del futuro, anticipando anche le prossime evoluzioni delle tecnologie già esistenti preannunciate dagli enti standard della programmazione web, il W3C ed ECMAScript. In questa tesi saranno affrontate le tematiche appena introdotte confrontando tra loro le tecnologie in gioco con lo scopo di ottenere un’ampia panoramica delle soluzioni che uno sviluppatore web dovrà prendere in considerazione per realizzare un sistema di importanti dimensioni; in particolare sarà approfondito il linguaggio TypeScript proposto da Microsoft, il quale è nato in successione a Dart apparentemente con lo stesso scopo, ma grazie alla compatibilità con JavaScript e soprattutto con il vasto mondo di librerie legate ad esso nate in questi ultimi anni, si presenta nel mercato come tecnologia facile da apprendere per tutti gli sviluppatori che già da tempo hanno sviluppato abilità nella programmazione JavaScript.