Linden Scripting Language

Da Wikipedia, l'enciclopedia libera.
Curly Brackets.svg
A questa voce o sezione va aggiunto il template sinottico {{Linguaggio di programmazione}}
Per favore, aggiungi e riempi opportunamente il template e poi rimuovi questo avviso.
Per le altre pagine a cui aggiungere questo template, vedi la relativa categoria.

Il Linden Scripting Language (LSL) è un linguaggio di programmazione utilizzato nel mondo virtuale Second Life della Linden Lab e ideato da Cory Ondrejka. Ha una sintassi simile a quella del linguaggio C e permette di progettare e controllare il comportamento degli oggetti presenti nell'ambiente. Inoltre, è possibile interfacciare i contenuti di Second Life con il resto della rete Internet tramite email, XML-RPC e HTTP.

Caratteristiche[modifica | modifica wikitesto]

LSL è un linguaggio di scripting fortemente tipizzato. Uno script consiste nella definizione finita di un insieme di funzioni, variabili, cicli. LSL aggiunge a queste funzionalità anche gli stati. Ogni stato contiene le istruzioni per gestire gli eventi che avvengono su un oggetto. Un oggetto avrà uno stato quando viene "toccato" (ossia modificato), uno stato quando non lo è, ecc.

Ci sono più di 300 librerie di funzioni disponibili. I programmatori possono definire anche funzioni proprie. Uno script LSL è compilato in bytecode, per essere poi eseguito su uno dei server della Linden Lab. Il pacchetto base di LSL gestisce interi, numeri in virgola mobile, stringhe, quaternioni e vettori, anche eterogenei.

Hello, world in LSL[modifica | modifica wikitesto]

Ecco un esempio di script che saluta il tuo avatar:

default
{
  state_entry()
  {
    llSay(0, "Hello, Avatar!");
  }
   
  touch(integer total_number)
  {
    llSay(0, "Touched.");
  }
}

Si può vedere il metodo touch che indica allo script cosa fare quando l'oggetto indicato come parametro viene "toccato".

Ambiente di sviluppo (IDE)[modifica | modifica wikitesto]

Su Second Life è stato messo a disposizione di chiunque volesse crearsi un proprio script un IDE particolare.
Si tratta di una specie di programma per modellazione 3D, dove si può anche modificare il codice.

Il futuro di LSL[modifica | modifica wikitesto]

Una nuova release del linguaggio era stata annunciata nel 2006, ma è stata posticipata a tempo indefinito. La Linden Lab sta ancora sviluppando il linguaggio, come evidenziato da una dimostrazione fatta alla Microsoft. Il nuovo interprete usa Mono (la versione open source del framework .NET della Microsoft), in quanto macchina virtuale per l'esecuzione degli script sui server.
Il linguaggio rimane lo stesso, ma l'esecuzione su Mono aumenta di molto la velocità di esecuzione.[senza fonte]

Collegamenti esterni[modifica | modifica wikitesto]