Linden Scripting Language: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Funzionalità collegamenti suggeriti: 3 collegamenti inseriti.
 
(26 versioni intermedie di 23 utenti non mostrate)
Riga 1:
{{Linguaggio di programmazione
Il '''Linden Scripting Language''' (LSL) è un linguaggio di programmazione dedicato al metamondo [[Second Life]], realizzato dalla [[Linden Lab]]. Ha una sintassi simile a quella del [[C (linguaggio)|linguaggio C]] e permette di progettare e controllare il comportamento degli oggetti presenti nell'ambiente. È possibile inoltre grazie a tali script interfacciare il contenuto del mondo di Secondo Life con il resto della rete internet mediante email, XML-RPC, e recentemente anche via HTTP.
|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]] dedicatoutilizzato alnel metamondo[[mondo virtuale]] [[Second Life]], realizzato dalladella [[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 inoltre grazie a tali script interfacciare ili contenuto del mondocontenuti di SecondoSecond Life con il resto della rete internet[[Internet]] mediantetramite [[email]], [[XML-RPC,]] e recentemente anche via [[HTTP]].
 
== Caratteristiche ==
LSL è un [[linguaggio di scripting]] [[Linguaggio_tipizzatoLinguaggio tipizzato|fortemente tipizzato]]. Uno script consiste nella definizione finita di un insieme di funzioni, variabili, cicli.<br>
LSL aggiunge a queste funzionalità anche gli stati. Ogni stato contiene le istruzioni per gestire gli eventi che siavvengono modificanosu un oggetto. Un oggetto muro avrà uno stato quando viene "toccato" (ossia modificato), uno stato quando non lo è, ecc.<br>
 
Ci sono più di 300 librerie di funzioni disponibili. I programmatori possono definire anche funzioni prorpie.<br>
Ci sono più di 300 librerie di funzioni disponibili. I programmatori possono definire anche funzioni proprie. Uno script LSL è complilatocompilato in [[bytecode]], per essere poi eseguito su uno dei server della Linden Lab.<br> 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.
 
Il pacchetto base di LSL comprende [[intero|interi]], [[float|numeri in virgola mobile]], [[stringa|stringhe]], [[vettore|vettori]] e rotazioni. Ci sono anche vettori eterogenei, e non ci sono array nè funzioni built-in.<br>
D'altro canto, gli script di continuare a circolare anche quando un utente non è connesso, e se un oggetto è stato salvato (presa in inventario), e poi re-introdotto nel mondo in seguito, si mantiene ancora il suo stato precedente.<br>
== 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: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".
 
== AnbienteAmbiente di sviluppo (IDE) ==
{{S sezione|informatica|marzo 2009}}
Su Seconf[[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.
 
== Anbiente di sviluppo (IDE) ==
{{S sezione|informatica|marzo 2009}}
Su Seconf Life è stato messo a disposizione di chiunque volesse crearsi un proprio script un [[IDE]] particolare.<br>
Si tratta di una specie di programma per modellazione [[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 monoMono aumenta di molto la velocità di esecuzione.{{citazione necessaria}}
 
== Collegamenti Esterniesterni ==
* [http://forums.secondlife.com/forumdisplay.php?f=54 LSL forum] Forum di LSL
* {{Collegamenti esterni}}
* [http://www.lslwiki.net/ LSL Wiki] Una community per supportare la documentazione di LSL
* [https://web.archive.org/web/20061207091842/http://wikiforums.secondlife.com/wiki/LSL_Portalforumdisplay.php?f=54 LSL Portalforum] UnForum nuovodi wiki hostato da SecondLifeLSL
* [httphttps://wwwweb.archive.org/web/20070303101236/http://lslwiki.net/ LSL Wiki] Una community per supportare la documentazione di LSL
* [http://wiki.secondlife.com/wiki/Mono Mono for Second Life] Informazioni sul passaggio a mono come virtual machine
* [http://wiki.secondlife.com/wiki/LSL_Portal LSL Portal] Un nuovo wiki ospitato da SecondLife
* [http://xahlee.org/sl/ls-prob.html Linden Scripting Language Problems] Critiche al linguaggo da Xah Lee
* [http://wiki.secondlife.com/wiki/Mono Mono for Second Life] Informazioni sul passaggio a monoMono come virtual machine
* [http://xahlee.org/sl/ls-prob.html Linden Scripting Language Problems] Critiche al linguaggolinguaggio da Xah Lee
 
{{Portale|Informatica}}
 
[[Categoria:Linguaggi di scripting]]
[[en:Linden Scripting Language]]
[[fr:Linden Scripting Language]]
[[ja:Linden Scripting Language]]