Linden Scripting Language: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
m ha spostato Linden script a Linden Scripting Language: corretto
Funzionalità collegamenti suggeriti: 3 collegamenti inseriti.
 
(34 versioni intermedie di 27 utenti non mostrate)
Riga 1:
{{Linguaggio di programmazione
Il linden script è un linguaggio di programmazione dedicato al metamondo Second Life; appunto della LindenLab.
|immagine =
|didascalia =
|data = 2003
|versione =
|utilizzo =
|paradigmi =
|tipizzazione =
|specifiche =
|estensione =
|ha_influenzato =
|implementazione_riferimento =
|sistema_operativo =
|lingua =
|licenza =
}}
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 [[C (linguaggio)|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 ==
LSL è un [[linguaggio di scripting]] [[Linguaggio tipizzato|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 [[Numero intero|interi]], [[Numero in virgola mobile|numeri in virgola mobile]], [[stringa (informatica)|stringhe]], quaternioni e [[array|vettori]], anche eterogenei.
 
== Hello, world in LSL ==
Ecco un esempio di script che saluta il tuo avatar:
<span style='color:darkred'>default</span>
<span style='color:black'>{</span>
<span style='color:darkblue'>state_entry</span><span style='color:black'>()</span>
<span style='color:black'>{</span>
<span style='color:darkred'>llSay</span><span style='color:black'>(</span><span style='color:black'>0</span>, <span style='color:green'>"Hello, Avatar!"</span><span style='color:black'>)</span>;
<span style='color:black'>}</span>
<span style='color:darkblue'>touch</span><span style='color:black'>(</span><span style='color:#CC33FF'>integer</span> <span style='color:black'>total_number)</span>
<span style='color:black'>{</span>
<span style='color:darkred'>llSay</span><span style='color:black'>(</span><span style='color:black'>0</span>, <span style='color:green'>"Touched."</span><span style='color:black'>)</span>;
<span style='color:black'>}</span>
<span style='color:black'>}</span>
Si può vedere il metodo ''touch'' che indica allo script cosa fare quando l'oggetto indicato come parametro viene "toccato".
 
== Ambiente di sviluppo (IDE) ==
{{S sezione|informatica}}
Su [[Second Life]] è stato messo a disposizione di chiunque volesse crearsi un proprio script un [[Ambiente di sviluppo integrato|IDE]] particolare.<br />
Si tratta di una specie di programma per modellazione [[Computer grafica 3D|3D]], dove si può anche modificare il codice.
 
== Il futuro di LSL ==
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 (progetto)|Mono]] (la versione [[open source]] del framework .NET della [[Microsoft]]), in quanto [[macchina virtuale]] per l'esecuzione degli script sui server.<br />
Il linguaggio rimane lo stesso, ma l'esecuzione su Mono aumenta di molto la velocità di esecuzione.{{citazione necessaria}}
 
== Collegamenti esterni ==
* {{Collegamenti esterni}}
* [https://web.archive.org/web/20061207091842/http://forums.secondlife.com/forumdisplay.php?f=54 LSL forum] Forum di LSL
* [https://web.archive.org/web/20070303101236/http://lslwiki.net/ LSL Wiki] Una community per supportare la documentazione di LSL
* [http://wiki.secondlife.com/wiki/LSL_Portal LSL Portal] Un nuovo wiki ospitato da SecondLife
* [http://wiki.secondlife.com/wiki/Mono Mono for Second Life] Informazioni sul passaggio a Mono come virtual machine
* [http://xahlee.org/sl/ls-prob.html Linden Scripting Language Problems] Critiche al linguaggio da Xah Lee
 
{{Portale|Informatica}}
 
[[Categoria:Linguaggi di scripting]]