Scopri cosa rende Wren unico
Wren è un piccolo e veloce linguaggio di scripting concorrente basato sulle classi. Immagina Smalltalk in un pacchetto delle dimensioni di Lua, con un pizzico di Erlang, il tutto avvolto in una sintassi familiare e moderna.
Piccolo. La VM sta sotto i 4.000 punti e virgola di C leggibile e commentato con amore.
Veloce. Un compilatore intelligente a passata singola produce bytecode compatto ed efficiente.
Basato sulle classi. Classi e oggetti sono al centro dell'attenzione.
Concorrente. Le fibre leggere sono integrate nel linguaggio.
Scripting. Incorporabile, senza dipendenze, con una piccola libreria standard e un'API in C facile da usare.
Il cuore di Wren è la VM. La macchina virtuale di Wren è il nucleo del linguaggio ed esegue tutto il codice sorgente Wren. È solo una libreria, non un'applicazione autonoma. È progettata per essere incorporata in un'applicazione ospite più grande.
Puoi trovare Wren incorporato in progetti come:
Puoi persino incorporare Wren nei tuoi progetti. Ai fini di Exercism, l'applicazione ospite che useremo è Wren Console: ci permette di eseguire e testare i nostri script Wren dal terminale.
Wren è stato creato originariamente da Bob Nystrom, noto per Crafting Interpreters. Ha più di qualche linguaggio alle spalle, ma spiega nello specifico cosa ha portato alla creazione di Wren:
Esistono alcuni linguaggi di scripting usati per l'incorporamento nelle applicazioni. Lua è il principale. Un tempo lo era TCL. Ci sono anche Guile, sempre più spesso JavaScript, e alcune applicazioni incorporano Python. Sono un ex sviluppatore di giochi, quindi quando penso allo «scripting», tendo a pensare allo «scripting di gioco».
Lua è carino: è piccolo, semplice e veloce. Ma, e non lo dico come critica, è anche strano se sei abituato a linguaggi come C++ e Java. La sintassi è diversa. La semantica, in particolare il modello a oggetti, è insolita. Chiunque può abituarsi all'indicizzazione che parte da 1, ma cose come le metatable mostrano davvero che gli oggetti sono stati aggiunti a Lua in un secondo momento.
Penso che ci sia spazio per un linguaggio semplice come Lua, ma che risulti naturale a chi viene dalla programmazione orientata agli oggetti. Wren è il mio tentativo di farlo.
Puoi fare una prova veloce direttamente nel tuo browser (senza installare nulla). Se vuoi sperimentare con Wren avvolto in un'interfaccia accattivante, dai un'occhiata a Wren Playground.