<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet type='text/xsl' href='http://crypto1993.spaces.live.com/mmm2008-07-24_12.50/rsspretty.aspx?rssquery=en-US;http%3a%2f%2fcrypto1993.spaces.live.com%2fcategory%2fLinguaggi%2bdi%2bprogrammazione%2ffeed.rss' version='1.0'?><rss version="2.0" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:msn="http://schemas.microsoft.com/msn/spaces/2005/rss" xmlns:live="http://schemas.microsoft.com/live/spaces/2006/rss" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:cf="http://www.microsoft.com/schemas/rss/core/2005" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>IL RUBATORE DI PASSWORD!: Linguaggi di programmazione</title><description /><link>http://crypto1993.spaces.live.com/?_c11_BlogPart_BlogPart=blogview&amp;_c=BlogPart&amp;partqs=catLinguaggi%2bdi%2bprogrammazione</link><language>en-US</language><pubDate>Sat, 23 Aug 2008 17:28:08 GMT</pubDate><lastBuildDate>Sat, 23 Aug 2008 17:28:08 GMT</lastBuildDate><generator>Microsoft Spaces v1.1</generator><docs>http://www.rssboard.org/rss-specification</docs><ttl>60</ttl><cf:parentRSS>http://crypto1993.spaces.live.com/blog/feed.rss</cf:parentRSS><live:type>blogcategory</live:type><live:identity><live:id>-9036054891036908415</live:id><live:alias>crypto1993</live:alias></live:identity><cf:listinfo><cf:group ns="http://schemas.microsoft.com/live/spaces/2006/rss" element="typelabel" label="Type" /><cf:group ns="http://schemas.microsoft.com/live/spaces/2006/rss" element="tag" label="Tag" /><cf:group element="category" label="Category" /><cf:sort element="pubDate" label="Date" data-type="date" default="true" /><cf:sort element="title" label="Title" data-type="string" /><cf:sort ns="http://purl.org/rss/1.0/modules/slash/" element="comments" label="Comments" data-type="number" /></cf:listinfo><item><title>Fortran</title><link>http://crypto1993.spaces.live.com/Blog/cns!82997BF3A0D06481!172.entry</link><description>&lt;p align=left&gt;&lt;font color="#ff0000" size=5&gt;Il &lt;b&gt;Fortran&lt;/b&gt; (o &lt;b&gt;FORTRAN&lt;/b&gt;: il nome in tutte maiuscole è stato sostituito da quello con la sola iniziale maiuscola a partire dal Fortran 90), è uno dei primi &lt;/font&gt;&lt;a title="Linguaggio di programmazione" href="http://crypto1993.spaces.live.com/wiki/Linguaggio_di_programmazione"&gt;&lt;u&gt;&lt;font color="#ff0000" size=5&gt;linguaggi di programmazione&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;font color="#ff0000" size=5&gt;, essendo stato sviluppato, a partire dal &lt;/font&gt;&lt;a title=1954 href="http://crypto1993.spaces.live.com/wiki/1954"&gt;&lt;u&gt;&lt;font color="#ff0000" size=5&gt;1954&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;font color="#ff0000" size=5&gt;, da un gruppo di lavoro guidato da &lt;/font&gt;&lt;a title="John Backus" href="http://crypto1993.spaces.live.com/wiki/John_Backus"&gt;&lt;u&gt;&lt;font color="#ff0000" size=5&gt;John Backus&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;font color="#ff0000" size=5&gt;. Il primo manuale di riferimento per il programmatore del FORTRAN I, &amp;quot;The FORTRAN automatic coding system for the IBM 704 EDPM&amp;quot;, scritto dallo stesso Backus, è del 1956); il &lt;/font&gt;&lt;a title=Compilatore href="http://crypto1993.spaces.live.com/wiki/Compilatore"&gt;&lt;u&gt;&lt;font color="#ff0000" size=5&gt;compilatore&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;font color="#ff0000" size=5&gt; fu rilasciato nel &lt;/font&gt;&lt;a title=1957 href="http://crypto1993.spaces.live.com/wiki/1957"&gt;&lt;u&gt;&lt;font color="#ff0000" size=5&gt;1957&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;font color="#ff0000" size=5&gt;. Il Fortran è un linguaggio &lt;/font&gt;&lt;a title=Compilatore href="http://crypto1993.spaces.live.com/wiki/Compilatore"&gt;&lt;u&gt;&lt;font color="#ff0000" size=5&gt;compilato&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;font color="#ff0000" size=5&gt; (raramente &lt;/font&gt;&lt;a title="Interprete (informatica)" href="http://crypto1993.spaces.live.com/wiki/Interprete_(informatica)"&gt;&lt;u&gt;&lt;font color="#ff0000" size=5&gt;interpretato&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;font color="#ff0000" size=5&gt;), &lt;/font&gt;&lt;a title="Linguaggio imperativo" href="http://crypto1993.spaces.live.com/wiki/Linguaggio_imperativo"&gt;&lt;u&gt;&lt;font color="#ff0000" size=5&gt;imperativo&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;font color="#ff0000" size=5&gt;, con &lt;/font&gt;&lt;a title="Tipo di dato" href="http://crypto1993.spaces.live.com/wiki/Tipo_di_dato"&gt;&lt;u&gt;&lt;font color="#ff0000" size=5&gt;tipizzazione statica&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;font color="#ff0000" size=5&gt; delle variabili, progettato principalmente per il calcolo scientifico e numerico.&lt;/font&gt;
&lt;p align=left&gt;&lt;font color="#ff0000" size=5&gt;Il suo nome deriva da &lt;b&gt;For&lt;/b&gt;mula &lt;b&gt;Tran&lt;/b&gt;slation (o &lt;b&gt;Tran&lt;/b&gt;slator), cioè traduzione/traduttore di formule (matematiche) in algoritmi computazionali.&lt;/font&gt;
&lt;p align=left&gt;&lt;font color="#ff0000" size=5&gt;Grazie sia agli innumerevoli programmi applicativi sviluppati nel corso degli anni, sia alle sterminate &lt;/font&gt;&lt;a title="Libreria software" href="http://crypto1993.spaces.live.com/wiki/Libreria_software"&gt;&lt;u&gt;&lt;font color="#ff0000" size=5&gt;librerie di funzioni&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;font color="#ff0000" size=5&gt; (richiamabili anche da programmi scritti con altri linguaggi di programmazione), il Fortran è tuttora vivo e vegeto.&lt;/font&gt;
&lt;p align=left&gt;&lt;font color="#ff0000" size=5&gt;Di esso esistono varianti per il calcolo parallelo (usate nel calcolo scientifico: simulazione di fluidi, interazioni fra particelle, previsioni meteorologiche, ecc.); inoltre, anche se progettato originariamente come &lt;/font&gt;&lt;a title="Programmazione procedurale" href="http://crypto1993.spaces.live.com/w/index.php?title=Programmazione_procedurale&amp;amp;action=edit"&gt;&lt;u&gt;&lt;font color="#ff0000" size=5&gt;linguaggio procedurale&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;font color="#ff0000" size=5&gt;, alcune sue versioni più recenti consentono di usare anche costrutti propri della &lt;/font&gt;&lt;a title="Programmazione orientata agli oggetti" href="http://crypto1993.spaces.live.com/wiki/Programmazione_orientata_agli_oggetti"&gt;&lt;u&gt;&lt;font color="#ff0000" size=5&gt;programmazione orientata agli oggetti&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;font color="#ff0000" size=5&gt;.&lt;/font&gt;
&lt;p align=left&gt;&lt;font color="#ff0000" size=5&gt;&lt;/font&gt; 
&lt;p align=left&gt;&lt;font color="#ff0000" size=5&gt;Esempi di programmi&lt;/font&gt;
&lt;p align=left&gt;&lt;font color="#ff0000" size=5&gt; &lt;/font&gt;
&lt;p align=left&gt;&lt;font color="#ff0000" size=5&gt;Il seguente esempio stampa il testo &amp;quot;&lt;/font&gt;&lt;a title="Hello world" href="http://crypto1993.spaces.live.com/wiki/Hello_world"&gt;&lt;u&gt;&lt;font color="#ff0000" size=5&gt;Hello world&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;font color="#ff0000" size=5&gt;&amp;quot;.&lt;/font&gt;
&lt;div align=left&gt;&lt;pre&gt;&lt;font color="#ff0000" size=5&gt;      PROGRAM HELLO
        PRINT *, 'Hello, world'
      END
&lt;/font&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;div align=left&gt; &lt;/div&gt;
&lt;p align=left&gt;&lt;a&gt;&lt;font color="#ff0000" size=5&gt;&lt;/font&gt;&lt;/a&gt;
&lt;h3 align=left&gt;&lt;font color="#ff0000" size=5&gt;Uno dei primi programmi in Fortran&lt;/font&gt;&lt;/h3&gt;
&lt;p align=left&gt;&lt;font color="#ff0000" size=5&gt;Il programma seguente, scritto da Backus, è riportato nel manuale per il programmatore del FORTRAN I citato sopra. Il programma legge N numeri e ne calcola il massimo.&lt;/font&gt;
&lt;div align=left&gt;&lt;pre&gt;&lt;font color="#ff0000" size=5&gt;         DIMENSION A(999) 
         FREQUENCY 30 (2,1,10), 5(100) 
         READ 1, N, (A(I), I = 1,N) 
       1 FORMAT (I3/(12F6.2)) 
         BIGA = A(1) 
       5 DO 20 I = 2,N 
      30 IF (BIGA-A((I)) 10,20,20 
      10 BIGA = A(I) 
      20 CONTINUE 
         PRINT 2, N, BIGA 
       2 FORMAT (22H1THE LARGEST OF THESE NUMBERS IS F7.2) 
         STOP 77777 
&lt;/font&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;div align=left&gt;&lt;pre&gt;&lt;font color="#ff0000" size=5&gt;Il primo &lt;/font&gt;&lt;a title=Compilatore href="http://crypto1993.spaces.live.com/wiki/Compilatore"&gt;&lt;u&gt;&lt;font color="#ff0000" size=5&gt;compilatore&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;font color="#ff0000" size=5&gt; 
FORTRAN fu sviluppato a partire dal &lt;/font&gt;&lt;a title=1954 href="http://crypto1993.spaces.live.com/wiki/1954"&gt;&lt;u&gt;&lt;font color="#ff0000" size=5&gt;1954&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;font color="#ff0000" size=5&gt; per 
il calcolatore IBM 704 da un gruppo di lavoro guidato da &lt;/font&gt;&lt;a title="John Backus" href="http://crypto1993.spaces.live.com/wiki/John_Backus"&gt;&lt;u&gt;&lt;font color="#ff0000" size=5&gt;John Backus&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;font color="#ff0000" size=5&gt;. Si trattò di un &lt;/font&gt;&lt;a title=Compilatore href="http://crypto1993.spaces.live.com/wiki/Compilatore"&gt;&lt;u&gt;&lt;font color="#ff0000" size=5&gt;compilatore ottimizzante&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;font color="#ff0000" size=5&gt; (o ottimizzatore), poiché 
i progettisti ritenevano che nessuno avrebbe usato un linguaggio la cui 
efficienza non si avvicinasse a quella dei &lt;/font&gt;&lt;a title=Assembly href="http://crypto1993.spaces.live.com/wiki/Assembly"&gt;&lt;u&gt;&lt;font color="#ff0000" size=5&gt;linguaggi assemblatori&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;font color="#ff0000" size=5&gt;.&lt;/font&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;div align=left&gt;&lt;pre&gt;&lt;font color="#ff0000" size=5&gt;Il linguaggio fu usato su larga scala soprattutto per scrivere programmi che 
eseguivano molti calcoli matematici e questo incoraggiò i progettisti a creare 
compilatori che generavano codice molto veloce. L'inclusione del &lt;/font&gt;&lt;a title="Tipo di dato" href="http://crypto1993.spaces.live.com/wiki/Tipo_di_dato"&gt;&lt;u&gt;&lt;font color="#ff0000" size=5&gt;tipo&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;font color="#ff0000" size=5&gt; &lt;/font&gt;&lt;a title="Numero complesso" href="http://crypto1993.spaces.live.com/wiki/Numero_complesso"&gt;&lt;u&gt;&lt;font color="#ff0000" size=5&gt;numero complesso&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;font color="#ff0000" size=5&gt; rese 
poi il Fortan il linguaggio d'elezione nella comunità scientifica. Al giorno 
d’oggi vengono ancora progettati nuovi compilatori Fortran, con prestazioni 
sempre più alte. Non si deve dimenticare poi che molti progressi nella teoria e 
nel progetto dei compilatori sono proprio derivati dalla necessità di ottenere 
compilatori Fortran in grado di generare un &amp;quot;buon&amp;quot; codice.&lt;/font&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;div align=left&gt;&lt;pre&gt;&lt;font color="#ff0000" size=5&gt;Diversi sono le versioni Fortran apparse: il FORTRAN I nel 1957, il FORTRAN 
II nel 1958, il FORTRAN III nel 1958 (usato da una ventina di clienti dell'IBM, 
ma mai rilasciato come prodotto commerciale per la sua mancanza di portabilità), 
il FORTRAN IV nel 1961, il FORTRAN 66 nel 1966, il FORTRAN 77 nel 1977, il 
Fortran 90 nel 1990, il Fortran 95 nel 1995 e il Fortran 2003 nel 2003.&lt;/font&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;div align=left&gt;&lt;pre&gt;&lt;font color="#ff0000" size=5&gt;Il FORTRAN II introdusse la possibilità di compilazioni separate, il FORTRAN 
III la possibilità di usare espressioni booleane (o logiche) e quella di 
inserire &amp;quot;in linea&amp;quot; codice in linguaggio assemblatore (cioè di mescolare 
istruzioni Fortran e istruzioni in linguaggio assemblatore). Fu questo a 
renderlo non portabile, poiché ciascun assemblatore ovviamente è specifico di un 
dato calcolatore, non essendo altro, in ultima analisi, che una forma simbolica 
del suo &lt;/font&gt;&lt;a title="Linguaggio macchina" href="http://crypto1993.spaces.live.com/wiki/Linguaggio_macchina"&gt;&lt;u&gt;&lt;font color="#ff0000" size=5&gt;linguaggio macchina&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;font color="#ff0000" size=5&gt;. Le espressioni 
booleane furono introdotte anche nel FORTAN IV, insieme alla nuova istruzione 
condizionale IF in grado di eseguire un test sulla veridicità di un'espressione 
booleana, che si aggiungeva alla precedente istruzione condizionale IF presente 
nel FORTRAN II (che a sua volta l'aveva ereditata dal FORTRAN I, come si può 
vedere nel programma d'esempio, riportato sopra, che calcola il massimo di N 
numeri). Questa valutava invece un'espressione numerica e prevedeva tre diversi 
salti a seconda che il suo valore fosse negativo, nullo o positivo.&lt;/font&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;div align=left&gt;&lt;pre&gt;&lt;font color="#ff0000" size=5&gt;I primi programmi in FORTRAN venivano perforati per lo più su &lt;/font&gt;&lt;a title="Scheda perforata" href="http://crypto1993.spaces.live.com/wiki/Scheda_perforata"&gt;&lt;u&gt;&lt;font color="#ff0000" size=5&gt;schede&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;font color="#ff0000" size=5&gt; a 80 colonne, 
con regole molto stringenti. Una riga di codice non poteva superare i 72 
caratteri, che venivano perforati nelle colonne da 1 a 72. In particolare se la 
colonna 1 conteneva una C i caratteri successivi costituivano un commento; le 
colonne da 1 a 5 potevano contenere un'etichetta numerica che identificava 
l'istruzione e che poteva essere usata per saltare all'istruzione stessa da un 
altro punto del programma; le colonne da 7 a 72 contenevano l'istruzione; la 
colonna 6 era normalmente vuota e, se conteneva un carattere, indicava che 
l'istruzione era il seguito dell'istruzione perforata nella scheda precedente. 
Le colonne da 73 a 80 venivano spesso usate per numerare le schede e permettere 
così di riordinarle nel caso fossero &lt;/font&gt;&lt;a title="Click for more about state!" style="color:#65b45c;text-decoration:underline"&gt;&lt;font color="#ff0000" size=5&gt;state&lt;/font&gt;&lt;/a&gt;&lt;font color="#ff0000" size=5&gt; accidentalmente 
mescolate.&lt;/font&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;div align=left&gt;&lt;pre&gt;&lt;font color="#ff0000" size=5&gt;Con l'avvento del Fortran 90, una revisione &amp;quot;principale&amp;quot; del linguaggio, 
queste regole stringenti sono state abbandonate in favore del codice in formato 
libero. Altre notevoli innovazioni introdotte dal Fortran 90 sono l'&lt;/font&gt;&lt;a title="Allocazione dinamica della memoria" href="http://crypto1993.spaces.live.com/wiki/Allocazione_dinamica_della_memoria"&gt;&lt;u&gt;&lt;font color="#ff0000" size=5&gt;allocazione dinamica della 
memoria&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;font color="#ff0000" size=5&gt;, le operazioni sugli &lt;/font&gt;&lt;a title=Array href="http://crypto1993.spaces.live.com/wiki/Array"&gt;&lt;u&gt;&lt;font color="#ff0000" size=5&gt;array&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;font color="#ff0000" size=5&gt;, i 
&lt;/font&gt;&lt;a title="Tipo di dato astratto" href="http://crypto1993.spaces.live.com/wiki/Tipo_di_dato_astratto"&gt;&lt;u&gt;&lt;font color="#ff0000" size=5&gt;tipi di dati 
astratti&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;font color="#ff0000" size=5&gt;, l'&lt;/font&gt;&lt;a title=Overloading href="http://crypto1993.spaces.live.com/wiki/Overloading"&gt;&lt;u&gt;&lt;font color="#ff0000" size=5&gt;overloading&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;font color="#ff0000" size=5&gt; (o 
sovraccarico) degli operatori, i &lt;/font&gt;&lt;a title="Tipo di dato" href="http://crypto1993.spaces.live.com/wiki/Tipo_di_dato"&gt;&lt;u&gt;&lt;font color="#ff0000" size=5&gt;puntatore&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;font color="#ff0000" size=5&gt; e i moduli (questi ultimi consentono di 
raggruppare sottoprogrammi e dati correlati).&lt;/font&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;div align=left&gt;&lt;pre&gt;&lt;font color="#ff0000" size=5&gt;Il Fortran 95, una revisione &amp;quot;minore&amp;quot; del linguaggio, ha introdotto 
essenzialmente la possibilità delle programmazione parallela.&lt;/font&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;div align=left&gt;&lt;pre&gt;&lt;font color="#ff0000" size=5&gt;Lo standard formale più recente del linguaggio è il Fortran 2003 (anche se il 
documento che lo definisce è stato pubblicato nel 2004). Si tratta di 
un'estensione propria del Fortran 95, che include l'aritmetica in virgola &lt;/font&gt;&lt;a title="Win a Motorola Razr V3 - Super Hip Cellphone" style="color:#65b45c;text-decoration:underline"&gt;&lt;font color="#ff0000" size=5&gt;mobile&lt;/font&gt;&lt;/a&gt;&lt;font color="#ff0000" size=5&gt; &lt;/font&gt;&lt;a title="IEEE 754" href="http://crypto1993.spaces.live.com/wiki/IEEE_754"&gt;&lt;u&gt;&lt;font color="#ff0000" size=5&gt;IEEE_754&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;font color="#ff0000" size=5&gt;, la gestione delle 
eccezioni, costrutti per la programmazione orientata agli oggetti e una 
migliorata interoperabilità col linguaggio &lt;/font&gt;&lt;a title=C href="http://crypto1993.spaces.live.com/wiki/C"&gt;&lt;u&gt;&lt;font color="#ff0000" size=5&gt;C&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;font color="#ff0000" size=5&gt;.&lt;/font&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;div align=left&gt;&lt;pre&gt;&lt;font color="#ff0000" size=5&gt; &lt;/font&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;div align=left&gt;&lt;pre&gt;&lt;font color="#ff0000" size=5&gt;I primi programmi in Fortran, come già detto, dovevano essere scritti con 
regole molto stringenti (imposte dall’uso delle schede perforate). Inoltre 
facevano un uso piuttosto pesante di etichette numeriche e dell’istruzione di 
salto &lt;/font&gt;&lt;a title=GOTO href="http://crypto1993.spaces.live.com/wiki/GOTO"&gt;&lt;u&gt;&lt;font color="#ff0000" size=5&gt;GOTO&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;font color="#ff0000" size=5&gt;. Queste “necessità” sono state 
eliminate dalle versioni più recenti del linguaggio. Sono stati inoltre 
introdotti concetti “moderni” di programmazione (ad esempio il costrutto 
IF-THEN-ELSE, a partire dal FORTRAN 77) , sempre tuttavia non perdendo di vista 
gli obiettivi della sinteticità del codice sorgente e dell’efficienza del codice 
eseguibile. In Fortran sono anche stati scritti molti linguaggi specializzati, 
fra cui il &lt;/font&gt;&lt;a title="SAS (linguaggio di programmazione)" href="http://crypto1993.spaces.live.com/wiki/SAS_(linguaggio_di_programmazione)"&gt;&lt;u&gt;&lt;font color="#ff0000" size=5&gt;SAS&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;font color="#ff0000" size=5&gt;, per la generazione 
di report statistici e il &lt;/font&gt;&lt;a title=SIMSCRIPT href="http://crypto1993.spaces.live.com/w/index.php?title=SIMSCRIPT&amp;amp;action=edit"&gt;&lt;u&gt;&lt;font color="#ff0000" size=5&gt;SIMSCRIPT&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;font color="#ff0000" size=5&gt;, per la 
simulazione di sistemi a code.&lt;/font&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;div align=left&gt;&lt;pre&gt;&lt;font color="#ff0000" size=5&gt;I fabbricanti di calcolatori scientifici ad alte prestazioni (come ad esempio 
Burroughs, CDC, Cray, Honeywell, IBM, &lt;/font&gt;&lt;a title="Click for more about texas!" style="color:#65b45c;text-decoration:underline"&gt;&lt;font color="#ff0000" size=5&gt;Texas&lt;/font&gt;&lt;/a&gt;&lt;font color="#ff0000" size=5&gt; Instruments, 
UNIVAC) hanno aggiunto al linguaggio estensioni allo scopo di sfruttare 
particolari caratteristiche delle proprie macchine (come esempio si possono 
ricordare il FORTRAN VI G, il FORTRAN IV H e il FORTRAN IV H Extended dell’IBM, 
o il FORTRAN V dell’UNIVAC).&lt;/font&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;div align=left&gt;&lt;pre&gt;&lt;font color="#ff0000" size=5&gt;Il destino delle estensioni è di essere abbandonate o di essere incorporate 
in versioni successive del linguaggio.&lt;/font&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;div align=left&gt;&lt;pre&gt;&lt;font color="#ff0000" size=5&gt;Per finire si può ricordare che si sta sviluppando un nuovo linguaggio, il &lt;/font&gt;&lt;a title=Fortress href="http://crypto1993.spaces.live.com/w/index.php?title=Fortress&amp;amp;action=edit"&gt;&lt;u&gt;&lt;font color="#ff0000" size=5&gt;Fortress&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;font color="#ff0000" size=5&gt;, che dovrebbe, 
nelle intenzioni dei progettisti, sostituire il Fortran.&lt;/font&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;div align=left&gt;&lt;pre&gt;&lt;font color="#ff0000" size=5&gt;&lt;/font&gt; &lt;/pre&gt;&lt;/div&gt;
&lt;div align=left&gt;&lt;pre&gt;&lt;font color="#ff0000" size=5&gt;&lt;/font&gt; &lt;/pre&gt;&lt;/div&gt;
&lt;div align=left&gt;&lt;pre&gt;&lt;font color="#ff0000" size=5&gt;Trattandosi del primo &lt;/font&gt;&lt;a title="Linguaggio di programmazione" href="http://crypto1993.spaces.live.com/wiki/Linguaggio_di_programmazione"&gt;&lt;u&gt;&lt;font color="#ff0000" size=5&gt;linguaggio di programmazione ad alto 
livello&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;font color="#ff0000" size=5&gt;, il Fortran ha una sintassi che può apparire oscura ai programmatori 
che hanno familiarità solo con linguaggi molto più recenti, come ad esempio il 
&lt;/font&gt;&lt;a title=C href="http://crypto1993.spaces.live.com/wiki/C"&gt;&lt;u&gt;&lt;font color="#ff0000" size=5&gt;C&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;font color="#ff0000" size=5&gt;. Tuttavia le più recenti versioni del linguaggio 
tengono conto dei progressi compiuti nel campo dei linguaggi di programmazione e 
cercano di scoraggiare tale sintassi in favore di una più trasparente e robusta. 
La “vecchia” sintassi infatti rende molto difficile progettare un &lt;/font&gt;&lt;a title=Compilatore href="http://crypto1993.spaces.live.com/wiki/Compilatore"&gt;&lt;u&gt;&lt;font color="#ff0000" size=5&gt;analizzatore lessicale&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;font color="#ff0000" size=5&gt;, e può 
bastare anche un solo carattere sbagliato a generare errori rilevabili solo in 
esecuzione, anziché in compilazione. I costrutti introdotti nelle versioni più 
recenti, così come la possibilità di scrivere codice in formato libero (cioè non 
più vincolato al rigido formalismo originale imposto dalle schede perforate) 
hanno molto ridotto i problemi, anche se una buona programmazione rimane sempre 
il miglior modo di procedere.&lt;/font&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;div align=left&gt;&lt;pre&gt;&lt;font color="#ff0000" size=5&gt;Si dovrebbe anche considerare il fatto che le caratteristiche del Fortran 
sono state ritagliate essenzialmente sul calcolo scientifico e numerico, 
piuttosto che sullo sviluppo del software. Così nel Fortran 95, ad esempio, 
esistono comandi molto brevi che consentono di effettuare operazioni matematiche 
sugli &lt;/font&gt;&lt;a title=Array href="http://crypto1993.spaces.live.com/wiki/Array"&gt;&lt;u&gt;&lt;font color="#ff0000" size=5&gt;array&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;font color="#ff0000" size=5&gt;, che non solo rendono i 
programmi molto più leggibili, ma sono di ausilio al compilatore, nel caso 
quest’ultimo sia in grado di generare codice che esegue operazioni matematiche 
in parallelo. Per i motivi accennati il Fortran, anche se è poco usato per 
applicazioni estranee al calcolo scientifico e numerico, rimane tuttora il 
linguaggio d’elezione in tali campi, oltretutto perché anche persone digiune di 
programmazione possono imparare facilmente a scrivere codice efficiente.&lt;/font&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;div align=left&gt;&lt;pre&gt;&lt;font color="#ff0000" size=5&gt;Dato che il Fortan esiste ormai da mezzo secolo, i programmi scritti in 
questo linguaggio (specialmente in FORTRAN 77, il suo dialetto più importante) 
tuttora usati sono innumerevoli. Il Fortran rimane inoltre il linguaggio di 
prima scelta per i programmi destinati a girare sui &lt;/font&gt;&lt;a title=Supercomputer href="http://crypto1993.spaces.live.com/wiki/Supercomputer"&gt;&lt;u&gt;&lt;font color="#ff0000" size=5&gt;supercomputer&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;font color="#ff0000" size=5&gt;, come ad esempio quelli usati per 
le previsioni meteorologiche, basati sui &lt;/font&gt;&lt;a title="Modello matematico" href="http://crypto1993.spaces.live.com/wiki/Modello_matematico"&gt;&lt;u&gt;&lt;font color="#ff0000" size=5&gt;modelli matematici&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;font color="#ff0000" size=5&gt; del clima&lt;/font&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;div align=left&gt;&lt;pre&gt;&lt;font color="#ff0000" size=5&gt;&lt;/font&gt; &lt;/pre&gt;&lt;/div&gt;
&lt;div align=left&gt;&lt;pre&gt;&lt;font color="#ff0000" size=5&gt;I documenti elencati nel seguito si riferiscono alle più recenti recenti 
standardizzazioni del Fortran.&lt;/font&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;ul&gt;
&lt;p align=left&gt;&lt;font color="#ff0000" size=5&gt;&lt;/font&gt; &lt;font color="#ff0000" size=5&gt; &lt;/font&gt;
&lt;li&gt;&lt;font color="#ff0000" size=5&gt;ANSI X3.198-1992 (R1997). Titolo: &lt;i&gt;Programming Language &amp;quot;Fortran&amp;quot; Extended&lt;/i&gt;. Noto informalmente come Fortran 90. Pubblicato dall'&lt;/font&gt;&lt;a title=ANSI href="http://crypto1993.spaces.live.com/wiki/ANSI"&gt;&lt;u&gt;&lt;font color="#ff0000" size=5&gt;ANSI&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;font color="#ff0000" size=5&gt;. &lt;/font&gt;
&lt;li&gt;&lt;font color="#ff0000" size=5&gt;ISO/IEC 1539-1:1997. Titolo: &lt;i&gt;Information &lt;a title="Lowest prices on the web" style="color:#65b45c;text-decoration:underline"&gt;technology&lt;/a&gt; - Programming languages - Fortran - Part 1: Base language&lt;/i&gt;. Noto informalmente come Fortran 95. Esistono altre due parti di questo standard. La parte 1 è stata formalmente adottata dall'ANSI. &lt;/font&gt;
&lt;li&gt;&lt;font color="#ff0000" size=5&gt;ISO/IEC 1539-1:2004. Titolo: &lt;i&gt;Information technology - Programming languages - Fortran - Part 1: Base language. Noto informalmente come Fortran 2003.&lt;/i&gt; &lt;/font&gt;&lt;/ul&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-9036054891036908415&amp;page=RSS%3a+Fortran&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=crypto1993.spaces.live.com&amp;amp;GT1=crypto1993"&gt;</description><comments>http://crypto1993.spaces.live.com/Blog/cns!82997BF3A0D06481!172.entry#comment</comments><guid isPermaLink="true">http://crypto1993.spaces.live.com/Blog/cns!82997BF3A0D06481!172.entry</guid><pubDate>Wed, 20 Sep 2006 16:05:17 GMT</pubDate><slash:comments>1</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://crypto1993.spaces.live.com/blog/cns!82997BF3A0D06481!172/comments/feed.rss</wfw:commentRss><wfw:comment>http://crypto1993.spaces.live.com/Blog/cns!82997BF3A0D06481!172.entry#comment</wfw:comment><dcterms:modified>2006-09-20T16:05:17Z</dcterms:modified></item><item><title>Visual Basic</title><link>http://crypto1993.spaces.live.com/Blog/cns!82997BF3A0D06481!171.entry</link><description>&lt;div&gt;
&lt;p&gt;&lt;font color="#ff0000" size=5&gt;In &lt;/font&gt;&lt;a title=Informatica href="http://crypto1993.spaces.live.com/wiki/Informatica"&gt;&lt;u&gt;&lt;font color="#ff0000" size=5&gt;informatica&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;font color="#ff0000" size=5&gt;, il &lt;b&gt;Visual Basic&lt;/b&gt; (&lt;b&gt;VB&lt;/b&gt; abbreviato) è un &lt;/font&gt;&lt;a title="Linguaggio di programmazione" href="http://crypto1993.spaces.live.com/wiki/Linguaggio_di_programmazione"&gt;&lt;u&gt;&lt;font color="#ff0000" size=5&gt;linguaggio di programmazione&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;font color="#ff0000" size=5&gt; derivato dal &lt;/font&gt;&lt;a title=BASIC href="http://crypto1993.spaces.live.com/wiki/BASIC"&gt;&lt;u&gt;&lt;font color="#ff0000" size=5&gt;BASIC&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;font color="#ff0000" size=5&gt;; si tratta di un linguaggio di sviluppo orientato agli eventi.&lt;/font&gt;
&lt;p&gt;&lt;font color="#ff0000" size=5&gt;Sviluppato dalla &lt;/font&gt;&lt;a title=Microsoft href="http://crypto1993.spaces.live.com/wiki/Microsoft"&gt;&lt;u&gt;&lt;font color="#ff0000" size=5&gt;Microsoft&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;font color="#ff0000" size=5&gt;, Visual Basic è noto per la sua semplicità d'uso (che deriva dal suo predecessore), per la potenza nel disegnare in breve tempo (ambiente di lavoro &lt;/font&gt;&lt;a title=RAD href="http://crypto1993.spaces.live.com/w/index.php?title=RAD&amp;amp;action=edit"&gt;&lt;u&gt;&lt;font color="#ff0000" size=5&gt;RAD&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;font color="#ff0000" size=5&gt;, Rapid Application Development) l'&lt;/font&gt;&lt;a title="Interfaccia utente" href="http://crypto1993.spaces.live.com/wiki/Interfaccia_utente"&gt;&lt;u&gt;&lt;font color="#ff0000" size=5&gt;interfaccia utente&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;font color="#ff0000" size=5&gt; (&lt;/font&gt;&lt;a title="Interfaccia grafica" href="http://crypto1993.spaces.live.com/wiki/Interfaccia_grafica"&gt;&lt;u&gt;&lt;font color="#ff0000" size=5&gt;GUI&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;font color="#ff0000" size=5&gt; - graphical user interface) di un programma, anche se abbastanza complessa, per il semplice accesso alle basi dati e la semplice creazione di controlli &lt;/font&gt;&lt;a title=ActiveX href="http://crypto1993.spaces.live.com/wiki/ActiveX"&gt;&lt;u&gt;&lt;font color="#ff0000" size=5&gt;ActiveX&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;font color="#ff0000" size=5&gt;.&lt;/font&gt;
&lt;p&gt;&lt;font color="#ff0000" size=5&gt;Tramite l'uso dei controlli &lt;/font&gt;&lt;a title="Visual Basic Extension" href="http://crypto1993.spaces.live.com/w/index.php?title=Visual_Basic_Extension&amp;amp;action=edit"&gt;&lt;u&gt;&lt;font color="#ff0000" size=5&gt;VBX&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;font color="#ff0000" size=5&gt; (nelle versioni a 16 &lt;/font&gt;&lt;a title=Bit href="http://crypto1993.spaces.live.com/wiki/Bit"&gt;&lt;u&gt;&lt;font color="#ff0000" size=5&gt;bit&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;font color="#ff0000" size=5&gt;) e dei controlli &lt;/font&gt;&lt;a title="OLE Control Extension" href="http://crypto1993.spaces.live.com/w/index.php?title=OLE_Control_Extension&amp;amp;action=edit"&gt;&lt;u&gt;&lt;font color="#ff0000" size=5&gt;OCX&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;font color="#ff0000" size=5&gt; (presenti nelle versioni a 32 &lt;/font&gt;&lt;a title=Bit href="http://crypto1993.spaces.live.com/wiki/Bit"&gt;&lt;u&gt;&lt;font color="#ff0000" size=5&gt;bit&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;font color="#ff0000" size=5&gt; e basati su &lt;/font&gt;&lt;a title="Object Linking and Embedding" href="http://crypto1993.spaces.live.com/wiki/Object_Linking_and_Embedding"&gt;&lt;u&gt;&lt;font color="#ff0000" size=5&gt;OLE&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;font color="#ff0000" size=5&gt;) è possibile ampliare notevolmente le potenzialità di questo linguaggio integrando nei propri progetti componenti sviluppati da altri programmatori.&lt;/font&gt;
&lt;p&gt;&lt;font color="#ff0000" size=5&gt;Visual Basic è stato (ed è adesso, anche se sta venendo lentamente soppiantato da &lt;/font&gt;&lt;a title="Visual Basic .NET" href="http://crypto1993.spaces.live.com/wiki/Visual_Basic_.NET"&gt;&lt;u&gt;&lt;font color="#ff0000" size=5&gt;Visual Basic .NET&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;font color="#ff0000" size=5&gt;) uno dei linguaggi più utilizzati al mondo, grazie alla sua grande semplicità ma allo stesso tempo grande versatilità.&lt;/font&gt;&lt;/div&gt;
&lt;p&gt;&lt;font color="#ff0000" size=5&gt; &lt;/font&gt;
&lt;p&gt;&lt;font color="#ff0000" size=5&gt;Microsoft ha derivato diverse versioni di Visual Basic per personalizzare le applicazioni:&lt;/font&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a title="Visual Basic for Applications" href="http://crypto1993.spaces.live.com/w/index.php?title=Visual_Basic_for_Applications&amp;amp;action=edit"&gt;&lt;u&gt;&lt;font color="#ff0000" size=5&gt;Visual Basic for Applications&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;font color="#ff0000" size=5&gt; (VBA) è incluso in molte applicazioni Microsoft (ad esempio &lt;/font&gt;&lt;a title="Microsoft Office" href="http://crypto1993.spaces.live.com/wiki/Microsoft_Office"&gt;&lt;u&gt;&lt;font color="#ff0000" size=5&gt;Microsoft Office&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;font color="#ff0000" size=5&gt;) ed anche in diversi prodotti di terze parti (ad esempio WordPerfect Office 2002). Ci sono alcune differenze su come VBA è implementato nelle differenti applicazioni, ma fondamentalmente si tratta di un linguaggio molto simile a VB6 &lt;/font&gt;
&lt;li&gt;&lt;a title=VBScript href="http://crypto1993.spaces.live.com/wiki/VBScript"&gt;&lt;u&gt;&lt;font color="#ff0000" size=5&gt;VBScript&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;font color="#ff0000" size=5&gt; è un linguaggio di &lt;/font&gt;&lt;a title=Scripting href="http://crypto1993.spaces.live.com/wiki/Scripting"&gt;&lt;u&gt;&lt;font color="#ff0000" size=5&gt;scripting&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;font color="#ff0000" size=5&gt; che ricorda la sintassi VB, ma che viene eseguito dal sottosistema &lt;/font&gt;&lt;a title="Windows Script Host" href="http://crypto1993.spaces.live.com/w/index.php?title=Windows_Script_Host&amp;amp;action=edit"&gt;&lt;u&gt;&lt;font color="#ff0000" size=5&gt;Windows Script Host&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;font color="#ff0000" size=5&gt; di Windows invece che dal runtime VB. Queste differenze possono aver effetto sulle performance. Gli usi di questo linguaggio sono molteplici: &lt;/font&gt;
&lt;ul&gt;
&lt;li&gt;&lt;font color="#ff0000" size=5&gt;linguaggio predefinito per le &lt;/font&gt;&lt;a title="Active Server Pages" href="http://crypto1993.spaces.live.com/wiki/Active_Server_Pages"&gt;&lt;u&gt;&lt;font color="#ff0000" size=5&gt;pagine ASP&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;font color="#ff0000" size=5&gt; &lt;/font&gt;
&lt;li&gt;&lt;font color="#ff0000" size=5&gt;automazione del Sistema Operativo Windows, scrivendo direttamente script per il sottosistema Windows Script Host &lt;/font&gt;
&lt;li&gt;&lt;font color="#ff0000" size=5&gt;codice lato client nel browser &lt;/font&gt;&lt;a title="Internet Explorer" href="http://crypto1993.spaces.live.com/wiki/Internet_Explorer"&gt;&lt;u&gt;&lt;font color="#ff0000" size=5&gt;Internet Explorer&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;font color="#ff0000" size=5&gt;. Questa possibilità però è utilizzata praticamente solo dalle applicazioni e dai siti di Microsoft. Nella quasi totalità delle applicazioni internet si fa uso di &lt;/font&gt;&lt;a title=Javascript href="http://crypto1993.spaces.live.com/wiki/Javascript"&gt;&lt;u&gt;&lt;font color="#ff0000" size=5&gt;Javascript&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;font color="#ff0000" size=5&gt;. &lt;/font&gt;&lt;/ul&gt;&lt;/ul&gt;
&lt;p&gt;&lt;font color="#ff0000" size=5&gt;Quando Microsoft cominciò a pensare alla creazione di un nuovo linguaggio di programmazione, dovette scegliere se modificare il popolare Visual Basic 6.0 o creare qualcosa di completamente nuovo e più potente. Con la produzione del &lt;/font&gt;&lt;a title="Microsoft .NET" href="http://crypto1993.spaces.live.com/wiki/Microsoft_.NET"&gt;&lt;u&gt;&lt;font color="#ff0000" size=5&gt;.NET Framework&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;font color="#ff0000" size=5&gt; &lt;/font&gt;&lt;a title=Microsoft href="http://crypto1993.spaces.live.com/wiki/Microsoft"&gt;&lt;u&gt;&lt;font color="#ff0000" size=5&gt;Microsoft&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;font color="#ff0000" size=5&gt; cominciò a produrre un nuovo linguaggio specifico per questa piattaforma il &lt;/font&gt;&lt;a title="C sharp" href="http://crypto1993.spaces.live.com/wiki/C_sharp"&gt;&lt;u&gt;&lt;font color="#ff0000" size=5&gt;C#&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;font color="#ff0000" size=5&gt;, ma contemporaneamente, per sfruttare al meglio la grande quantità di programmatori esistenti in Visual Basic, sviluppò &lt;/font&gt;&lt;a title="Visual Basic .NET" href="http://crypto1993.spaces.live.com/wiki/Visual_Basic_.NET"&gt;&lt;u&gt;&lt;font color="#ff0000" size=5&gt;Visual Basic .NET&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;font color="#ff0000" size=5&gt;. Sebbene &lt;/font&gt;&lt;a title="Visual Basic .Net" href="http://crypto1993.spaces.live.com/wiki/Visual_Basic_.Net"&gt;&lt;u&gt;&lt;font color="#ff0000" size=5&gt;Visual Basic .Net&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;font color="#ff0000" size=5&gt; sia architetturalmente molto diverso dal suo predecessore e renda quindi impossibile passare programmatori VB6 su .NET senza un'adeguata formazione, mantiene una sintassi molto simile al classico Visual Basic rendendo quindi questo passaggio più semplice di quanto sarebbe stato riconvertire i programmatori VB6 in &lt;/font&gt;&lt;a title="C sharp" href="http://crypto1993.spaces.live.com/wiki/C_sharp"&gt;&lt;u&gt;&lt;font color="#ff0000" size=5&gt;C#&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;font color="#ff0000" size=5&gt;).&lt;/font&gt;
&lt;p&gt;&lt;font color="#ff0000" size=5&gt; &lt;/font&gt;
&lt;p&gt;&lt;font color="#ff0000" size=5&gt;Visual Basic è stato disegnato per essere utilizzabile da tutte le categorie di programmatori, sia principianti che esperti. Le Finestre sono create utilizzando la tecniche del &amp;quot;drag and drop&amp;quot; (trascina e lascia); una barra di strumenti permette di posizionare i controlli (caselle di teso, bottoni, immagini, etc.) nella finestra. I controlli hanno degli attributi e dei gestori di eventi associati. Nel momento in cui un controllo viene creato sono associati dei valori predefiniti a questi attributi, ma molti valori sono poi cambiati dal programmatore. Molti attributi possono essere cambiati durante l'esecuzione del programma (run time) in base alle azioni dell'utente o all'ambiente di lavoro, creando così un'interfaccia dinamica.&lt;/font&gt;
&lt;p&gt;&lt;font color="#ff0000" size=5&gt;Un'applicazione Visual Basic può essere formata da una o più finestre, o da una singola finestra che ne contiene altre (applicazione &lt;/font&gt;&lt;a title=MDI href="http://crypto1993.spaces.live.com/w/index.php?title=MDI&amp;amp;action=edit"&gt;&lt;u&gt;&lt;font color="#ff0000" size=5&gt;MDI&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;font color="#ff0000" size=5&gt;). I controlli forniscono le funzionalità di base per l'applicazione, mentre il programmatore può inserire logica addizionale negli appropriati gestori di eventi. Per esempio una ComboBox automaticamente visualizza la sua lista e permette all'utente di selezionare un elemento; un gestore di evento è chiamato quando un elemento viene selezionato e qui il programmatore può scrivere il codice da eseguire sulla base dell'elemento selezionato.&lt;/font&gt;
&lt;p&gt;&lt;font color="#ff0000" size=5&gt;In alternativa, un componente Visual Basic può non avere un'interfaccia utente, ma interagire con altri programmi implementando una serie di funzionalità. In questo caso parliamo di un processo lato &amp;quot;&lt;/font&gt;&lt;a title=Server href="http://crypto1993.spaces.live.com/wiki/Server"&gt;&lt;u&gt;&lt;font color="#ff0000" size=5&gt;server&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;font color="#ff0000" size=5&gt;&amp;quot; o di un modello &amp;quot;&lt;/font&gt;&lt;a title=Add-in href="http://crypto1993.spaces.live.com/w/index.php?title=Add-in&amp;amp;action=edit"&gt;&lt;u&gt;&lt;font color="#ff0000" size=5&gt;add-in&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;font color="#ff0000" size=5&gt;&amp;quot;.&lt;/font&gt;
&lt;p&gt;&lt;font color="#ff0000" size=5&gt;Visual Basic ha creato il primo mercato commerciale di componenti riutilizzabili; esistono migliaia di componenti di terze parti disponibili per gli sviluppatori. Visual Basic rende semplice sviluppare e riutilizzare componenti, comunque non è semplice riutilizzare finestre create per un'applicazione all'interno di un'altra per la natura stessa del linguaggio.&lt;/font&gt;
&lt;p&gt;&lt;font color="#ff0000" size=5&gt; &lt;/font&gt;
&lt;p&gt;&lt;font color="#ff0000" size=5&gt;Molti programmatori hanno un rapporto difficile con Visual Basic in quanto è stato disegnato per essere un linguaggio semplice e molte caratteristiche che sono presenti in linguaggi come &lt;/font&gt;&lt;a title="C++" href="http://crypto1993.spaces.live.com/wiki/C%2B%2B"&gt;&lt;u&gt;&lt;font color="#ff0000" size=5&gt;C++&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;font color="#ff0000" size=5&gt; e &lt;/font&gt;&lt;a title="Java (linguaggio)" href="http://crypto1993.spaces.live.com/wiki/Java_(linguaggio)"&gt;&lt;u&gt;&lt;font color="#ff0000" size=5&gt;Java&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;font color="#ff0000" size=5&gt; non sono disponibili in Visual Basic. Nell'interesse della convenienza e del rapido sviluppo alcune funzionalità come la verifica del &amp;quot;cast&amp;quot; dei dati e la dichiarazione obbligatoria delle variabili sono disabilitate. Questo rende Visual Basic molto semplice da utilizzare, ma i programmi così realizzati possono essere distribuiti con errori nascosti dovuti a questa mancanza di controlli.&lt;/font&gt;
&lt;p&gt;&lt;font color="#ff0000" size=5&gt;Molti critici di Visual Basic spiegano che la sua natura semplice è dannosa nel lungo periodo. Innanzitutto è spesso utilizzato per insegnare la programmazione proprio a causa della sua semplicità, ma imparare a programmare in Visual Basic non introduce i programmatori a molte delle tecniche e dei costrutti fondamentali della programmazione. In secondo luogo, come già detto in precedenza, la possibilità di disabilitare errori ed avvertimenti in fase di compilazione, può rendere difficoltosa la ricerca degli errori. I programmatori esperti in Visual Basic tendono comunque ad abilitare questi controlli.&lt;/font&gt;
&lt;p&gt;&lt;font color="#ff0000" size=5&gt;Molti dei suoi sostenitori insistono invece sul fatto che la sua semplice natura è il suo punto di forza, in quanto permette un rapido sviluppo di applicazioni da parte di programmatori esperti ed una curva di apprendimento piuttosto breve per i programmatori che provengono da altri linguaggi. Inoltre le applicazioni Visual Basic possono essere integrate con la basi dati in maniera molto semplice.&lt;/font&gt;
&lt;p&gt;&lt;font color="#ff0000" size=5&gt;Visual Basic è inoltre un'agglomerato di funzionalità e sintassi diverse con meno consistenza, ma con più tolleranza, degli altri moderni linguaggi di programmazione. Alcune istruzioni come &amp;quot;gosub&amp;quot;, &amp;quot;on error&amp;quot; e la dichiarazione del tipo di variabile con l'ultimo carattere del nome (ad esempio miaStringa$ per le stringhe), sono retaggi delle origini del Basic che sono &lt;/font&gt;&lt;a title="Click for more about state!" style="color:#65b45c;text-decoration:underline"&gt;&lt;font color="#ff0000" size=5&gt;state&lt;/font&gt;&lt;/a&gt;&lt;font color="#ff0000" size=5&gt; incluse per mantenere una compatibilità verso il basso del codice.&lt;/font&gt;
&lt;p&gt;&lt;font color="#ff0000" size=5&gt;Il linguaggio continua ad attirare molti apprezzamenti e molte critiche, ma continua ad avere una grande diffusione di utenti e sviluppatori nonostante l'uscita del &amp;quot;successore&amp;quot; &lt;/font&gt;&lt;a title="Visual Basic .Net" href="http://crypto1993.spaces.live.com/wiki/Visual_Basic_.Net"&gt;&lt;u&gt;&lt;font color="#ff0000" size=5&gt;Visual Basic .Net&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;font color="#ff0000" size=5&gt;. Infatti molti pensano che &lt;/font&gt;&lt;a title="Visual Basic .Net" href="http://crypto1993.spaces.live.com/wiki/Visual_Basic_.Net"&gt;&lt;u&gt;&lt;font color="#ff0000" size=5&gt;Visual Basic .Net&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;font color="#ff0000" size=5&gt; sia l'evoluzione di VB6, mentre è esattamente un altro linguaggio.&lt;/font&gt;
&lt;h2&gt;&lt;font color="#ff0000" size=5&gt;&lt;/font&gt; &lt;/h2&gt;
&lt;h2&gt;&lt;font color="#ff0000" size=5&gt;Funzionalità non supportate&lt;/font&gt;&lt;/h2&gt;
&lt;p&gt; 
&lt;ul&gt;
&lt;li&gt;&lt;a title="Programmazione orientata agli oggetti" href="http://crypto1993.spaces.live.com/wiki/Programmazione_orientata_agli_oggetti"&gt;&lt;u&gt;&lt;font color="#ff0000" size=5&gt;Programmazione orientata agli oggetti&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;font color="#ff0000" size=5&gt;. Visual Basic ha un supporto molto limitato per la programmazione orientata agli oggetti e molte delle caratteristiche di un linguaggio ad oggetti (come ad esempio ereditarietà e polimorfismo) non sono presenti. &lt;/font&gt;
&lt;li&gt;&lt;a title=Multithreading href="http://crypto1993.spaces.live.com/wiki/Multithreading"&gt;&lt;u&gt;&lt;font color="#ff0000" size=5&gt;Multithreading&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;font color="#ff0000" size=5&gt;. Non esiste un supporto per la programmazione multithread. &lt;/font&gt;
&lt;li&gt;&lt;font color="#ff0000" size=5&gt;Operatori &amp;quot;bitwise&amp;quot;. Non sono supportati nativamente gli operatori &amp;quot;bitwise&amp;quot; per le operazioni sui singoli &lt;/font&gt;&lt;a title=Bit href="http://crypto1993.spaces.live.com/wiki/Bit"&gt;&lt;u&gt;&lt;font color="#ff0000" size=5&gt;bit&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;font color="#ff0000" size=5&gt;. &lt;/font&gt;
&lt;li&gt;&lt;font color="#ff0000" size=5&gt;Puntatori. Non esiste una gestione dei puntatori come avviene in &lt;/font&gt;&lt;a title=C href="http://crypto1993.spaces.live.com/wiki/C"&gt;&lt;u&gt;&lt;font color="#ff0000" size=5&gt;C&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;font color="#ff0000" size=5&gt;. &lt;/font&gt;
&lt;li&gt;&lt;font color="#ff0000" size=5&gt;Numerici senza segno. I tipi di dati numerici supportati da Visual Basic sono esclusivamente quelli con il segno (da 8 a 64 bit), mentre molti altri linguaggi supportano nativamente i numerici senza segno. &lt;/font&gt;&lt;/ul&gt;
&lt;h2&gt;&lt;font color="#ff0000" size=5&gt;&lt;/font&gt; &lt;/h2&gt;
&lt;h2&gt;&lt;font color="#ff0000" size=5&gt;Peculiarità&lt;/font&gt;&lt;/h2&gt;
&lt;p&gt; 
&lt;ul&gt;
&lt;li&gt;&lt;font color="#ff0000" size=5&gt;Indice di base degli array. Il primo elemento di un array può essere referenziato con l'indice 0 o con l'indice 1 (in base al settaggio del parametro &amp;quot;option base&amp;quot;); questo può causare una certa confusione quando si legge del codice di Visual Basic. L'indice inferiore inoltre non è limitato al valore di 0 od 1 in quanto può essere definito diversamente al momento della dichiarazione dell'array. In questo modo sia il limite inferiore dell'array che quello superiore sono personalizzabili. &lt;/font&gt;
&lt;li&gt;&lt;font color="#ff0000" size=5&gt;Possibilità di eseguire un'applicazione senza effettuare una compilazione completa; in questo modo è possibile cambiare il codice e continuare l'esecuzione direttamente in fase di debug.&lt;/font&gt;&lt;/ul&gt;
&lt;p&gt;&lt;font color="#ff0000" size=5&gt; &lt;/font&gt;
&lt;p&gt;&lt;font color="#ff0000" size=5&gt;Con l'uscita del &lt;/font&gt;&lt;a title="Microsoft .NET" href="http://crypto1993.spaces.live.com/wiki/Microsoft_.NET"&gt;&lt;u&gt;&lt;font color="#ff0000" size=5&gt;.NET Framework&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;font color="#ff0000" size=5&gt;, Microsoft ha introdotto una nuova versione del suo più famoso linguaggio di sviluppo. Più di un aggiornamento del vecchio VB6 si tratta in realtà di un nuovo linguaggio che integra tutte le classi di base del framework .NET mantenendo però una sintassi simile a quella conosciutissima di Visual Basic. Questo cambiamento ha interrotto la compatibilità verso il basso di Visual Basic ma ha colmato tutte quelle carenze tipiche del VB6 descritte in precedenza. Sono inoltre state introdotte tutta una serie di funzionalità tipiche del &lt;/font&gt;&lt;a title="Microsoft .NET" href="http://crypto1993.spaces.live.com/wiki/Microsoft_.NET"&gt;&lt;u&gt;&lt;font color="#ff0000" size=5&gt;.NET Framework&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;font color="#ff0000" size=5&gt; come &amp;quot;remoting&amp;quot;, &amp;quot;&lt;/font&gt;&lt;a title="Web Service" href="http://crypto1993.spaces.live.com/wiki/Web_Service"&gt;&lt;u&gt;&lt;font color="#ff0000" size=5&gt;Web Service&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;font color="#ff0000" size=5&gt;&amp;quot;, &amp;quot;&lt;/font&gt;&lt;a title="Servizi Windows" href="http://crypto1993.spaces.live.com/w/index.php?title=Servizi_Windows&amp;amp;action=edit"&gt;&lt;u&gt;&lt;font color="#ff0000" size=5&gt;Servizi Windows&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;font color="#ff0000" size=5&gt;&amp;quot;, &lt;/font&gt;&lt;a title=ADO.NET href="http://crypto1993.spaces.live.com/wiki/ADO.NET"&gt;&lt;u&gt;&lt;font color="#ff0000" size=5&gt;ADO.NET&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;font color="#ff0000" size=5&gt;, etc. Anche se esiste un tools per la migrazione delle applicazioni, alcune funzionalità non possono essere convertite automaticamente richiedendo quindi uno sforzo successivo per completare la migrazione.&lt;/font&gt;
&lt;p&gt;&lt;font color="#ff0000" size=5&gt;Molte delle originali carenze sono state colmate, ma questo ha reso &lt;/font&gt;&lt;a title="Visual Basic .Net" href="http://crypto1993.spaces.live.com/wiki/Visual_Basic_.Net"&gt;&lt;u&gt;&lt;font color="#ff0000" size=5&gt;Visual Basic .Net&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;font color="#ff0000" size=5&gt; un linguaggio più complesso del suo predecessore, ma al tempo stesso estremamente più potente e versatile. Alcuni ritengono che il supporto per Visual Basic .NET diminuirà nel tempo a favore del &lt;/font&gt;&lt;a title="C sharp" href="http://crypto1993.spaces.live.com/wiki/C_sharp"&gt;&lt;u&gt;&lt;font color="#ff0000" size=5&gt;C#&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;font color="#ff0000" size=5&gt;, che diventerà il linguaggio più utilizzato in ambito .NET; tuttavia per il momento Microsoft fornisce il pieno supporto a &lt;/font&gt;&lt;a title="Visual Basic .Net" href="http://crypto1993.spaces.live.com/wiki/Visual_Basic_.Net"&gt;&lt;u&gt;&lt;font color="#ff0000" size=5&gt;Visual Basic .Net&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;font color="#ff0000" size=5&gt; tanto che anche nella versione 2.0 del &lt;/font&gt;&lt;a title="Microsoft .NET" href="http://crypto1993.spaces.live.com/wiki/Microsoft_.NET"&gt;&lt;u&gt;&lt;font color="#ff0000" size=5&gt;.NET Framework&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;font color="#ff0000" size=5&gt;, le differenze nelle potenzialità dei due linguaggi sono talmente minime da rendere la scelta nell'utilizzo dell'uno o dell'altro, una cosa influenzata più dalla cultura degli sviluppatori che non dalle necessità tecniche.&lt;/font&gt;
&lt;p&gt;&lt;font color="#ff0000" size=5&gt;&lt;/font&gt; 
&lt;h2&gt;&lt;font color="#ff0000" size=5&gt;&lt;/font&gt; &lt;/h2&gt;
&lt;h2&gt;&lt;font color="#ff0000" size=5&gt;Storia di Visual Basic&lt;/font&gt;&lt;/h2&gt;
&lt;p&gt; 
&lt;ul&gt;
&lt;li&gt;&lt;font color="#ff0000"&gt;&lt;font size=5&gt;&lt;b&gt;Visual Basic 1.0 per Windows&lt;/b&gt; (&lt;/font&gt;&lt;/font&gt;&lt;a title=Maggio href="http://crypto1993.spaces.live.com/wiki/Maggio"&gt;&lt;u&gt;&lt;font color="#ff0000" size=5&gt;Maggio&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;font color="#ff0000" size=5&gt; &lt;/font&gt;&lt;a title=1991 href="http://crypto1993.spaces.live.com/wiki/1991"&gt;&lt;u&gt;&lt;font color="#ff0000" size=5&gt;1991&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;font color="#ff0000" size=5&gt;). L'approccio per collegare il linguaggio di programmazione con l'interfaccia grafica è derivato da un sistema chiamato &lt;i&gt;Tripod&lt;/i&gt;, sviluppato in origine da Alan Cooper. &lt;/font&gt;&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;&lt;font color="#ff0000"&gt;&lt;font size=5&gt;&lt;b&gt;Visual Basic 1.0 per DOS&lt;/b&gt; (&lt;/font&gt;&lt;/font&gt;&lt;a title=Settembre href="http://crypto1993.spaces.live.com/wiki/Settembre"&gt;&lt;u&gt;&lt;font color="#ff0000" size=5&gt;Settembre&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;font color="#ff0000" size=5&gt; &lt;/font&gt;&lt;a title=1992 href="http://crypto1993.spaces.live.com/wiki/1992"&gt;&lt;u&gt;&lt;font color="#ff0000" size=5&gt;1992&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;font color="#ff0000" size=5&gt;). Il linguaggio in sé stesso non era molto compatibile con quello di Visual Basic per Windows. L'interfaccia utilizzava i caratteri &lt;/font&gt;&lt;a title=ASCII href="http://crypto1993.spaces.live.com/wiki/ASCII"&gt;&lt;u&gt;&lt;font color="#ff0000" size=5&gt;ASCII&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;font color="#ff0000" size=5&gt; estesi per simulare l'apparenza di una interfaccia grafica. &lt;/font&gt;&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;&lt;font color="#ff0000"&gt;&lt;font size=5&gt;&lt;b&gt;Visual Basic 2.0&lt;/b&gt; (&lt;/font&gt;&lt;/font&gt;&lt;a title=Novembre href="http://crypto1993.spaces.live.com/wiki/Novembre"&gt;&lt;u&gt;&lt;font color="#ff0000" size=5&gt;Novembre&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;font color="#ff0000" size=5&gt; &lt;/font&gt;&lt;a title=1992 href="http://crypto1993.spaces.live.com/wiki/1992"&gt;&lt;u&gt;&lt;font color="#ff0000" size=5&gt;1992&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;font color="#ff0000" size=5&gt;). L'ambiente di sviluppo era stato semplificato e la velocità aumentata. &lt;/font&gt;&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;&lt;font color="#ff0000"&gt;&lt;font size=5&gt;&lt;b&gt;Visual Basic 3.0&lt;/b&gt; (Estate &lt;/font&gt;&lt;/font&gt;&lt;a title=1993 href="http://crypto1993.spaces.live.com/wiki/1993"&gt;&lt;u&gt;&lt;font color="#ff0000" size=5&gt;1993&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;font color="#ff0000" size=5&gt;). Venne rilasciato nelle versioni Standard e Professional. Includeva un motore di database che poteva leggere e scrivere basi dati Access. &lt;/font&gt;&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;&lt;font color="#ff0000"&gt;&lt;font size=5&gt;&lt;b&gt;Visual Basic 4.0&lt;/b&gt; (&lt;/font&gt;&lt;/font&gt;&lt;a title=Agosto href="http://crypto1993.spaces.live.com/wiki/Agosto"&gt;&lt;u&gt;&lt;font color="#ff0000" size=5&gt;Agosto&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;font color="#ff0000" size=5&gt; &lt;/font&gt;&lt;a title=1995 href="http://crypto1993.spaces.live.com/wiki/1995"&gt;&lt;u&gt;&lt;font color="#ff0000" size=5&gt;1995&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;font color="#ff0000" size=5&gt;). È stata la prima versione che permetteva di creare applicazioni a 16 bit o 32 bit. È stata inoltre introdotta la possibilià di scrivere classi in Visual Basic. &lt;/font&gt;&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;&lt;font color="#ff0000"&gt;&lt;font size=5&gt;&lt;b&gt;Visual Basic 5.0&lt;/b&gt; (&lt;/font&gt;&lt;/font&gt;&lt;a title=Febbraio href="http://crypto1993.spaces.live.com/wiki/Febbraio"&gt;&lt;u&gt;&lt;font color="#ff0000" size=5&gt;Febbraio&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;font color="#ff0000" size=5&gt; &lt;/font&gt;&lt;a title=1997 href="http://crypto1993.spaces.live.com/wiki/1997"&gt;&lt;u&gt;&lt;font color="#ff0000" size=5&gt;1997&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;font color="#ff0000" size=5&gt;). Viene rilasciata una versione esclusivamente per lo sviluppo a 32 bit. Visual Basic 5.0 offriva anche la possibilità di compilare in eseguibili Windows nativi, in modo da migliorare la velocità rispetto agli eseguibili compilati in P-Code. &lt;/font&gt;&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;&lt;font color="#ff0000"&gt;&lt;font size=5&gt;&lt;b&gt;Visual Basic 6.0&lt;/b&gt; (Estate &lt;/font&gt;&lt;/font&gt;&lt;a title=1998 href="http://crypto1993.spaces.live.com/wiki/1998"&gt;&lt;u&gt;&lt;font color="#ff0000" size=5&gt;1998&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;font color="#ff0000" size=5&gt;). Sono state aggiunte numerose funzionalità, fra cui la possibilità di creare applicazioni web. VB6 smetterà di essere supportato da Microsoft nel &lt;/font&gt;&lt;a title=Marzo href="http://crypto1993.spaces.live.com/wiki/Marzo"&gt;&lt;u&gt;&lt;font color="#ff0000" size=5&gt;Marzo&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;font color="#ff0000" size=5&gt; &lt;/font&gt;&lt;a title=2008 href="http://crypto1993.spaces.live.com/wiki/2008"&gt;&lt;u&gt;&lt;font color="#ff0000" size=5&gt;2008&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;font color="#ff0000" size=5&gt;. Sono stati rilasciati diversi &lt;/font&gt;&lt;a title="Service pack" href="http://crypto1993.spaces.live.com/wiki/Service_pack"&gt;&lt;u&gt;&lt;font color="#ff0000" size=5&gt;Service pack&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;font color="#ff0000" size=5&gt; per correggere od aggiungere funzionalità. L'ultimo &lt;/font&gt;&lt;a title="Click for more about service!" style="color:#65b45c;text-decoration:underline"&gt;&lt;font color="#ff0000" size=5&gt;service&lt;/font&gt;&lt;/a&gt;&lt;font color="#ff0000" size=5&gt; pack installabile è il 6. Visual Basic &lt;i&gt;muore&lt;/i&gt; con questa versione, in quanto non verranno sviluppate nuove versioni. &lt;/font&gt;&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;&lt;font color="#ff0000"&gt;&lt;font size=5&gt;&lt;b&gt;Visual Basic .NET&lt;/b&gt; (&lt;/font&gt;&lt;/font&gt;&lt;a title=2001 href="http://crypto1993.spaces.live.com/wiki/2001"&gt;&lt;u&gt;&lt;font color="#ff0000" size=5&gt;2001&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;font color="#ff0000" size=5&gt;). La versatilità di questo nuovo linguaggio (Si ricorda che visual basic .net NON è VisualBasic 7) è estremamente maggiore del vecchio VisualBasic. &lt;/font&gt;&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;&lt;font color="#ff0000"&gt;&lt;font size=5&gt;&lt;b&gt;Visual Basic .NET 2003&lt;/b&gt; (&lt;/font&gt;&lt;/font&gt;&lt;a title=2003 href="http://crypto1993.spaces.live.com/wiki/2003"&gt;&lt;u&gt;&lt;font color="#ff0000" size=5&gt;2003&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;font color="#ff0000" size=5&gt;). Adeguate le funzionalità con l'uscita del .NET framework 1.1; introdotta la possibilità di sviluppare applicazioni per PDA PocketPC e sistemi WindowsCE. &lt;/font&gt;&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;&lt;font color="#ff0000"&gt;&lt;font size=5&gt;&lt;b&gt;Visual Basic 2005&lt;/b&gt; (&lt;/font&gt;&lt;/font&gt;&lt;a title=2005 href="http://crypto1993.spaces.live.com/wiki/2005"&gt;&lt;u&gt;&lt;font color="#ff0000" size=5&gt;2005&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;font color="#ff0000" size=5&gt;). Non si usa più la keyword &lt;i&gt;.Net&lt;/i&gt; nel nome in quanto ora sarà sottointeso che visulbasic è basato su &lt;/font&gt;&lt;a title=".NET framework" href="http://crypto1993.spaces.live.com/wiki/.NET_framework"&gt;&lt;u&gt;&lt;font color="#ff0000" size=5&gt;.NET framework&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;font color="#ff0000" size=5&gt;. Adeguate le funzionalità con l'uscita del .NET framework 2.0. Aggiunta di nuove classi e keyword per facilitare il porting dalla versione 6. &lt;/font&gt;&lt;/ul&gt;
&lt;p&gt;&lt;font color="#ff0000" size=5&gt;&lt;/font&gt; 
&lt;p&gt;&lt;font color="#ff0000" size=5&gt;Programma di esempio&lt;/font&gt;
&lt;p&gt;&lt;font color="#ff0000" size=5&gt;Il seguente esempio, inserito nell'evento &lt;i&gt;Form_Load()&lt;/i&gt; (l'evento che scatta al caricamento del form) fa apparire un popup (con il solo bottone OK, per chiuderlo) e la scritta &amp;quot;&lt;/font&gt;&lt;a title="Hello world" href="http://crypto1993.spaces.live.com/wiki/Hello_world"&gt;&lt;u&gt;&lt;font color="#ff0000" size=5&gt;Hello world&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;font color="#ff0000" size=5&gt;&amp;quot;.&lt;/font&gt;&lt;pre&gt;&lt;font color="#ff0000" size=5&gt;MsgBox &amp;quot;Hello World&amp;quot;
&lt;/font&gt;&lt;/pre&gt;
&lt;p&gt;&lt;font color="#ff0000" size=5&gt;Se si vuole scrivere &amp;quot;&lt;/font&gt;&lt;a title="Hello world" href="http://crypto1993.spaces.live.com/wiki/Hello_world"&gt;&lt;u&gt;&lt;font color="#ff0000" size=5&gt;Hello world&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;font color="#ff0000" size=5&gt;&amp;quot; in un campo di testo del proprio progetto, al caricamento del main form, occorrerà trascinare un controllo TextBox sul form, e nell'evento &lt;i&gt;Form_load()&lt;/i&gt; scrivere il seguente codice:&lt;/font&gt;&lt;pre&gt;&lt;font color="#ff0000" size=5&gt;[NOMEOGGETTO].text = &amp;quot;Hello World!&amp;quot;
&lt;/font&gt;&lt;/pre&gt;
&lt;p&gt;&lt;font color="#ff0000" size=5&gt;Oppure si puo' stampare il testo nella finestra stessa con il seguente codice :&lt;/font&gt;&lt;pre&gt;&lt;font color="#ff0000" size=5&gt;Print &amp;quot;Hello World!&amp;quot;
&lt;/font&gt;&lt;/pre&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-9036054891036908415&amp;page=RSS%3a+Visual+Basic&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=crypto1993.spaces.live.com&amp;amp;GT1=crypto1993"&gt;</description><comments>http://crypto1993.spaces.live.com/Blog/cns!82997BF3A0D06481!171.entry#comment</comments><guid isPermaLink="true">http://crypto1993.spaces.live.com/Blog/cns!82997BF3A0D06481!171.entry</guid><pubDate>Wed, 20 Sep 2006 15:59:45 GMT</pubDate><slash:comments>0</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://crypto1993.spaces.live.com/blog/cns!82997BF3A0D06481!171/comments/feed.rss</wfw:commentRss><wfw:comment>http://crypto1993.spaces.live.com/Blog/cns!82997BF3A0D06481!171.entry#comment</wfw:comment><dcterms:modified>2006-09-20T15:59:45Z</dcterms:modified></item><item><title>LOGO</title><link>http://crypto1993.spaces.live.com/Blog/cns!82997BF3A0D06481!170.entry</link><description>&lt;div&gt;
&lt;p&gt;&lt;font size=5&gt;&lt;font color="#ff0000"&gt;&lt;b&gt;Logo&lt;/b&gt; è un &lt;/font&gt;&lt;/font&gt;&lt;a title="Linguaggio di programmazione" href="http://crypto1993.spaces.live.com/wiki/Linguaggio_di_programmazione"&gt;&lt;u&gt;&lt;font color="#ff0000" size=5&gt;linguaggio di programmazione&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;font color="#ff0000" size=5&gt; fortemente orientato alla grafica e alla geometria di base.&lt;/font&gt;
&lt;p&gt;&lt;font color="#ff0000" size=5&gt;Tramite il comando &lt;i&gt;mostarta&lt;/i&gt; (&lt;i&gt;showturtle&lt;/i&gt;) è possibile visualizzare sullo schermo un &lt;/font&gt;&lt;a title=Cursore href="http://crypto1993.spaces.live.com/wiki/Cursore"&gt;&lt;u&gt;&lt;font color="#ff0000" size=5&gt;cursore&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;font color="#ff0000" size=5&gt; triangolare chiamato &lt;i&gt;tartaruga&lt;/i&gt;. Questo cursore &lt;img src="http://upload.wikimedia.org/wikipedia/commons/thumb/2/2c/Remi_turtlegrafik.png/300px-Remi_turtlegrafik.png" align=right&gt;può essere spostato con i comandi &lt;i&gt;avanti&lt;/i&gt; e &lt;i&gt;indietro&lt;/i&gt; (&lt;i&gt;forward&lt;/i&gt; e &lt;i&gt;back&lt;/i&gt;) seguiti dal numero di &amp;quot;passi&amp;quot; che deve compiere e può essere ruotato con &lt;i&gt;destra&lt;/i&gt; e &lt;i&gt;sinistra&lt;/i&gt; (&lt;i&gt;right&lt;/i&gt; e &lt;i&gt;left&lt;/i&gt;) seguiti dall'angolo di rotazione espresso in gradi.&lt;/font&gt;
&lt;p&gt;&lt;font color="#ff0000" size=5&gt;Con &lt;i&gt;giulapenna&lt;/i&gt; e &lt;i&gt;sulapenna&lt;/i&gt; (&lt;i&gt;penup&lt;/i&gt;, &lt;i&gt;pendown&lt;/i&gt;) è possibile ordinare alla tartaruga di tracciare una linea lungo il proprio cammino o di non farlo.&lt;/font&gt;
&lt;p&gt;&lt;font color="#ff0000" size=5&gt;Logo include anche molti comandi per la gestione di &lt;/font&gt;&lt;a title=Input href="http://crypto1993.spaces.live.com/wiki/Input"&gt;&lt;u&gt;&lt;font color="#ff0000" size=5&gt;input&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;font color="#ff0000" size=5&gt;/&lt;/font&gt;&lt;a title=Output href="http://crypto1993.spaces.live.com/wiki/Output"&gt;&lt;u&gt;&lt;font color="#ff0000" size=5&gt;output&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;font color="#ff0000" size=5&gt; testuale e per l'elaborazione di dati (operatori di confronto, variabili, cicli, selezioni condizionali), ma questa sua parte è meno nota.&lt;/font&gt;
&lt;p&gt;&lt;font color="#ff0000" size=5&gt;La geometria della tartaruga si differenzia dal modo tradizionale di disegnare al &lt;/font&gt;&lt;a title="Win an HP DV5000 Top of the Line Laptop" style="color:#65b45c;text-decoration:underline"&gt;&lt;font color="#ff0000" size=5&gt;computer&lt;/font&gt;&lt;/a&gt;&lt;font color="#ff0000" size=5&gt; perché descrive i percorsi &amp;quot;dall'interno&amp;quot; piuttosto che &amp;quot;dall'esterno&amp;quot; o &amp;quot;dall'alto&amp;quot;. Ad esempio dicendo &amp;quot;gira a destra&amp;quot; non si esprime una direzione assoluta, ma una direzione relativa all'orientamento corrente della tartaruga, dicendo &amp;quot;vai avanti di 10 passi&amp;quot; ci si riferisce alla posizione e alla direzione correnti. Questo approccio ha molti vantaggi, ad esempio disegnare un &lt;/font&gt;&lt;a title=Quadrato href="http://crypto1993.spaces.live.com/wiki/Quadrato"&gt;&lt;u&gt;&lt;font color="#ff0000" size=5&gt;quadrato&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;font color="#ff0000" size=5&gt; inclinato è facile come disegnare un quadrato con i lati orizzontali e verticali: la sequenza delle istruzioni sarà la stessa, cambierà solo la posizione iniziale della tartaruga. Un altro vantaggio è di carattere &lt;/font&gt;&lt;a title=Pedagogia href="http://crypto1993.spaces.live.com/wiki/Pedagogia"&gt;&lt;u&gt;&lt;font color="#ff0000" size=5&gt;pedagogico&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;font color="#ff0000" size=5&gt;, piuttosto che computazionale: questo modo di disegnare, infatti, è consono all'esperienza del ragazzo, poiché è analogo al modo di muoversi nello spazio.&lt;/font&gt;
&lt;p&gt;&lt;font color="#ff0000" size=5&gt;Il LOGO è stato utilizzato con vantaggio nelle scuole elementari e medie inferiori perché permette anche a un pincipiante di ottenere subito risultati visibili. Dal punto di vista didattico, Il LOGO insegnava un metodo di programmazione più strutturato rispetto al più famoso &lt;/font&gt;&lt;a title=BASIC href="http://crypto1993.spaces.live.com/wiki/BASIC"&gt;&lt;u&gt;&lt;font color="#ff0000" size=5&gt;BASIC&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;font color="#ff0000" size=5&gt; in cui anche i programmi più banali costringono ad un uso massiccio del costrutto &lt;/font&gt;&lt;a title=GOTO href="http://crypto1993.spaces.live.com/wiki/GOTO"&gt;&lt;u&gt;&lt;font color="#ff0000" size=5&gt;GOTO&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;font color="#ff0000" size=5&gt;.&lt;/font&gt;
&lt;p&gt;&lt;font color="#ff0000" size=5&gt;Il LOGO incoraggia la programmazione modulare con uso intensivo di &lt;/font&gt;&lt;a title=Procedura href="http://crypto1993.spaces.live.com/w/index.php?title=Procedura&amp;amp;action=edit"&gt;&lt;u&gt;&lt;font color="#ff0000" size=5&gt;procedure&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;font color="#ff0000" size=5&gt; e offre molta estendibilità per gli utenti più esperti. Al programmatore principiante vengono proposte in modo naturale le basi della &lt;/font&gt;&lt;a title="Programmazione per contratto" href="http://crypto1993.spaces.live.com/w/index.php?title=Programmazione_per_contratto&amp;amp;action=edit"&gt;&lt;u&gt;&lt;font color="#ff0000" size=5&gt;programmazione per contratto&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;font color="#ff0000" size=5&gt;. Ad esempio in un manuale di LOGO per la scuola media si legge: &amp;quot;È bene abituarsi scrivere i programmi in modo tale che alla fine la tartaruga risulti rivolta verso l'alto&amp;quot;&lt;/font&gt;&lt;/div&gt;
&lt;p&gt;&lt;font color="#ff0000" size=5&gt;Il linguaggio LOGO fu ideato e realizzato negli anni '60 dal professor &lt;/font&gt;&lt;a title="Seymour Papert" href="http://crypto1993.spaces.live.com/wiki/Seymour_Papert"&gt;&lt;u&gt;&lt;font color="#ff0000" size=5&gt;Seymour Papert&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;font color="#ff0000" size=5&gt; del &lt;/font&gt;&lt;a title="Massachusetts Institute of Technology" href="http://crypto1993.spaces.live.com/wiki/Massachusetts_Institute_of_Technology"&gt;&lt;u&gt;&lt;font color="#ff0000" size=5&gt;MIT&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;font color="#ff0000" size=5&gt;. Ereditava le tecniche di calcolo simbolico del &lt;/font&gt;&lt;a title=Lisp href="http://crypto1993.spaces.live.com/wiki/Lisp"&gt;&lt;u&gt;&lt;font color="#ff0000" size=5&gt;Lisp&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;font color="#ff0000" size=5&gt;, dal quale riprende parte della sintassi ed il modo di gestire le &lt;/font&gt;&lt;a title=Lista href="http://crypto1993.spaces.live.com/w/index.php?title=Lista&amp;amp;action=edit"&gt;&lt;u&gt;&lt;font color="#ff0000" size=5&gt;liste&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;font color="#ff0000" size=5&gt;.&lt;/font&gt;
&lt;p&gt;&lt;font color="#ff0000" size=5&gt;In origine il LOGO fu utilizzato per muovere un semplice &lt;/font&gt;&lt;a title=Robot href="http://crypto1993.spaces.live.com/wiki/Robot"&gt;&lt;u&gt;&lt;font color="#ff0000" size=5&gt;robot&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;font color="#ff0000" size=5&gt;, al quale si potevano dare comandi del tipo FORWARD 50 per andare avanti di 50 passi o RIGHT 90 per girare a destra di 90 gradi. Il primo di questi robot aveva una corazza simile a quella di una tartaruga, da cui il nome del cursore (che nelle prime versioni su schermo era semplicemente un piccolo triangolo). Con lo sviluppo dei monitor il linguaggio LOGO divenne più accessibile e negli &lt;/font&gt;&lt;a title="Anni 1980" href="http://crypto1993.spaces.live.com/wiki/Anni_1980"&gt;&lt;u&gt;&lt;font color="#ff0000" size=5&gt;anni '80&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;font color="#ff0000" size=5&gt; ne vennero realizzate versioni per &lt;/font&gt;&lt;a title="Personal computer" href="http://crypto1993.spaces.live.com/wiki/Personal_computer"&gt;&lt;u&gt;&lt;font color="#ff0000" size=5&gt;personal computer&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;font color="#ff0000" size=5&gt;, ad esempio l'&lt;/font&gt;&lt;a title="Apple II" href="http://crypto1993.spaces.live.com/wiki/Apple_II"&gt;&lt;u&gt;&lt;font color="#ff0000" size=5&gt;Apple II&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;font color="#ff0000" size=5&gt; e il &lt;/font&gt;&lt;a title="Commodore 64" href="http://crypto1993.spaces.live.com/wiki/Commodore_64"&gt;&lt;u&gt;&lt;font color="#ff0000" size=5&gt;Commodore 64&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;font color="#ff0000" size=5&gt;, utilizzate a scopi didattici, spesso per il laboratorio di geometria.&lt;/font&gt;
&lt;p&gt;&lt;font color="#ff0000" size=5&gt;Negli anni '80 fu realizzata anche una versione del LOGO con i comandi in italiano. Una delle caratteristiche del LOGO è che ogni comando ha una forma lunga e una abbreviata.&lt;/font&gt;
&lt;p&gt;&lt;font color="#ff0000" size=5&gt; &lt;/font&gt;
&lt;h2&gt;&lt;font color="#ff0000" size=5&gt;Programma di esempio&lt;/font&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a&gt;&lt;font color="#ff0000" size=5&gt;&lt;/font&gt;&lt;/a&gt;
&lt;h3&gt;&lt;u&gt;&lt;font color="#ff0000" size=5&gt;&lt;/font&gt;&lt;/u&gt; &lt;/h3&gt;
&lt;p&gt;&lt;font color="#ff0000" size=5&gt;Il seguente esempio stampa il testo &amp;quot;&lt;/font&gt;&lt;a title="Hello world" href="http://crypto1993.spaces.live.com/wiki/Hello_world"&gt;&lt;u&gt;&lt;font color="#ff0000" size=5&gt;Hello world&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;font color="#ff0000" size=5&gt;&amp;quot;.&lt;/font&gt;&lt;pre&gt;&lt;font color="#ff0000" size=5&gt;  print word &amp;quot;Hello World&amp;quot;
&lt;/font&gt;&lt;/pre&gt;
&lt;p&gt;&lt;a&gt;&lt;font color="#ff0000" size=5&gt;&lt;/font&gt;&lt;/a&gt;
&lt;h3&gt;&lt;font color="#ff0000" size=5&gt;Disegno di un &lt;/font&gt;&lt;a title=Quadrato href="http://crypto1993.spaces.live.com/wiki/Quadrato"&gt;&lt;u&gt;&lt;font color="#ff0000" size=5&gt;Quadrato&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;font color="#ff0000" size=5&gt;Altro programma di esempio: Disegno di un quadrato con 50 &lt;/font&gt;&lt;a title=Pixel href="http://crypto1993.spaces.live.com/wiki/Pixel"&gt;&lt;u&gt;&lt;font color="#ff0000" size=5&gt;pixel&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;font color="#ff0000" size=5&gt; di lato&lt;/font&gt;&lt;pre&gt;&lt;font color="#ff0000" size=5&gt;  (versione LOGO in inglese)
  REPEAT 4 [FORWARD 50 RIGHT 90]       oppure
  REPEAT 4 [FD 50 RT 90]          (sintassi abbreviata)
&lt;/font&gt;&lt;/pre&gt;&lt;pre&gt;&lt;font color="#ff0000" size=5&gt;  (versione LOGO in italiano)
  RIPETI 4 [AVANTI 50 DESTRA 90]       oppure
  RIPETI 4 [A 50 D 90]            (sintassi abbreviata)
&lt;/font&gt;&lt;/pre&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-9036054891036908415&amp;page=RSS%3a+LOGO&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=crypto1993.spaces.live.com&amp;amp;GT1=crypto1993"&gt;</description><comments>http://crypto1993.spaces.live.com/Blog/cns!82997BF3A0D06481!170.entry#comment</comments><guid isPermaLink="true">http://crypto1993.spaces.live.com/Blog/cns!82997BF3A0D06481!170.entry</guid><pubDate>Wed, 20 Sep 2006 15:51:43 GMT</pubDate><slash:comments>0</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://crypto1993.spaces.live.com/blog/cns!82997BF3A0D06481!170/comments/feed.rss</wfw:commentRss><wfw:comment>http://crypto1993.spaces.live.com/Blog/cns!82997BF3A0D06481!170.entry#comment</wfw:comment><dcterms:modified>2006-09-20T15:51:43Z</dcterms:modified></item><item><title>Pascal</title><link>http://crypto1993.spaces.live.com/Blog/cns!82997BF3A0D06481!169.entry</link><description>&lt;div&gt;&lt;font color="#ff0000" size=5&gt;In informatica, il Pascal è un linguaggio di programmazione creato da Niklaus Wirth.&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font color="#ff0000" size=5&gt;Il Pascal si basa sul linguaggio ALGOL e fu così chiamato in onore del matematico e filosofo francese Blaise Pascal, inventore della prima macchina calcolatrice automatica.&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font color="#ff0000" size=5&gt;Wirth era un docente di programmazione e sentiva la mancanza di un vero linguaggio di programmazione adatto alla didattica e che fosse dotato di strutture dati avanzate. Il BASIC, creato nel 1964, era facile da imparare ma non aveva strutture dati avanzate e soprattutto non incoraggiava affatto ad analizzare il problema da risolvere prima di scrivere il codice. Perciò, Wirth creò da zero il Pascal, inserendo nel linguaggio il concetto di programmazione strutturata.&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font color="#ff0000" size=5&gt;La prima implementazione del linguaggio divenne operativa nel 1970, ma raggiunse una discreta diffusione nel campo industriale nel 1973 con la pubblicazione del testo: &amp;quot;Pascal user manual and Report&amp;quot;. Questo è il testo di riferimento standard per il linguaggio.&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font color="#ff0000" size=5&gt;TeX e buona parte delle prime versioni del sistema operativo del Macintosh furono scritte in Pascal.&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font color="#ff0000" size=5&gt;Le caratteristiche principali del Pascal sono una sintassi molto chiara e molto rigida, l'obbligo di dividere il programma in sezioni ben definite (uses, declaration, implementation) e di dichiarare in anticipo tutte le variabili usate nel programma; permette l'uso di tipi di dati complessi e definibili dal programmatore (i record); permette (con alcune limitazioni) l'uso dei puntatori e l'allocazione dinamica della memoria (new e dispose). Al posto delle subroutine di uso comune nei linguaggi di allora, il Pascal introduce le procedure e le funzioni, che estendono il concetto di subroutine incapsulando al loro interno le variabili e i dati locali, ed esponendo solo i valori in ingresso ed in uscita. Inoltre, nella sua formulazione originale, era privo dell'istruzione GOTO, aggiunta poi in seguito con riluttanza.&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font color="#ff0000" size=5&gt;Essendo un linguaggio pensato per degli utenti inesperti, spesso i compilatori Pascal hanno un atteggiamento materno nei confronti del programmatore, partendo dal presupposto che qualunque irregolarità del codice scritto sia un errore, che infastidisce un po' gli esperti. In cambio è un linguaggio completo e potente, e soprattutto educa fin dall'inizio ad adottare un buono stile di programmazione e ad analizzare a fondo il problema prima di cominciare a scrivere il codice, cosa che rende i programmi Pascal più chiari e più facili da leggere.&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font color="#ff0000" size=5&gt;Data la diffusione negli ambienti scolastici, ne sono state create versioni ad oggetti, come il Turbo Pascal e l'Object Pascal (utilizzato nell'ambiente di sviluppo Delphi di Borland).&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font color="#ff0000" size=5&gt;&lt;/font&gt; &lt;/div&gt;
&lt;div&gt;&lt;font color="#ff0000" size=5&gt;&lt;/font&gt; &lt;/div&gt;
&lt;div&gt;&lt;font color="#ff0000" size=5&gt;Programma di esempio&lt;br&gt;&lt;br&gt;Il seguente esempio stampa il testo &amp;quot;Hello world&amp;quot;.&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font color="#ff0000" size=5&gt;  &lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font color="#ff0000" size=5&gt;  program hello(input, output);&lt;br&gt;  begin&lt;br&gt;      writeln('Hello World');&lt;br&gt;      readln;&lt;br&gt;  end.&lt;br&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font color="#ff0000" size=5&gt;&lt;/font&gt; &lt;/div&gt;
&lt;div&gt;&lt;font color="#ff0000" size=5&gt;Nel linguaggio pascal, e come in tutti gli altri linguaggi di programmazione si usa una sintassi per produrre un sofware.&lt;br&gt;Program Parola che identifica l'inizio di tutti i programmi.&lt;br&gt;Type Dichiarazioni di tipo: il programmatore definisce un tipe di variabile non esistente.&lt;br&gt;Var Da questo punto in poi vengono dichiarate le variabili.&lt;br&gt;Begin Dopo aver dichiarato eventuali varibili,tipi,procedure,funzioni e tutto il resto,da questo punto si inizi a programmare.&lt;br&gt;end. l'end. chiude tutte le applicazioni in pascal&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font color="#ff0000" size=5&gt;Il Pascal mette a disposizione molti tipi di variabili:&lt;/font&gt;&lt;/div&gt;
&lt;p&gt;&lt;font color="#ff0000" size=5&gt;Tipi interi, utilizzati per memorizzare valori interi, possono consentire di memorizzare o meno numeri negativi. In Pascal sono: &lt;br&gt;&lt;/font&gt;&lt;font color="#ff0000" size=5&gt;&lt;/font&gt;
&lt;ul&gt;
&lt;li&gt;&lt;font color="#ff0000" size=5&gt;integer: variabile di tipo intero (numeri da -32768 a 32767), non consentono numeri con la virgola. È il tipo intero più utilizzato. Per la memorizzazione sono utilizzati solitamente 2 byte di memoria, equivalenti a 16 bit, da cui 216 = 65536 &lt;br&gt;&lt;/font&gt;
&lt;li&gt;&lt;font color="#ff0000" size=5&gt;word: copre i valori da 0 a 65535; si tratta quindi di soli valori positivi e come il tipo precedente occupa solitamente 2 byte in memoria. &lt;br&gt;&lt;/font&gt;
&lt;li&gt;&lt;font color="#ff0000" size=5&gt;byte: come già suggerisce il nome, questo tipo occupa 1 byte in memoria e consente 28 = 256 differenti valori, nel dettaglio da 0 a 255. Questo tipo è completamente compatibile con il tipo char, l'unica differenza consiste nel fatto che un tipo byte ha come visualizzazione predefinita quella di un numero, mentre il char quella di un carattere. &lt;br&gt;&lt;/font&gt;
&lt;li&gt;&lt;font color="#ff0000" size=5&gt;short: come il precedente occupa un solo byte ma i valori possono variare da -128 e 127. &lt;br&gt;longint: è il tipo intero più grande messo a disposizione dal Pascal. In memoria occupa 4 byte (e quindi 4x8=32 bit) e permette quindi di gestire 232 = 4294967296 diversi valori, compresi fra -2147483648 e 2147483647. &lt;br&gt;&lt;/font&gt;&lt;/ul&gt;
&lt;p&gt;&lt;font color="#ff0000" size=5&gt;Tipi reali: &lt;br&gt;&lt;/font&gt;
&lt;ul&gt;
&lt;li&gt;&lt;font color="#ff0000" size=5&gt;real: numero reale (numeri da -2.9E-39 a 1.7E38), se nel stampare a video risultati reali ottenete numeri incomprensibili è perché essi sono scritti notazione scientifica o esponeziale. &lt;br&gt;&lt;/font&gt;
&lt;li&gt;&lt;font color="#ff0000" size=5&gt;Tipo carattere (char): variabile carattere, contiene 1 solo carattere. &lt;br&gt;&lt;/font&gt;
&lt;li&gt;&lt;font color="#ff0000" size=5&gt;Tipo boolean: variabile binaria(vero falso, true false). &lt;br&gt;&lt;/font&gt;&lt;/ul&gt;
&lt;p&gt;&lt;font color="#ff0000" size=5&gt;Tipi strutturati: &lt;br&gt;&lt;/font&gt;
&lt;ul&gt;
&lt;li&gt;&lt;font color="#ff0000" size=5&gt;string: stringa di caratteri, utilizzata per l'input di più carattere, come un testo.&lt;/font&gt;&lt;/ul&gt;
&lt;div&gt;&lt;font color="#ff0000" size=5&gt;&lt;/font&gt; &lt;/div&gt;
&lt;div&gt;&lt;font color="#ff0000" size=5&gt;L'input di variabili da tastiera, viene effettuato tramite l'utilizzo del comando readln(nome_variabile).&lt;br&gt;L'output invece usa il comando writeln(nome_variabile); la stampa a video usa lo stesso il comando writeln, però il testo è tra apici ' ' (writeln('ciao mondo');)&lt;br&gt;I/O di interi:&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;br&gt;&lt;font color="#ff0000" size=5&gt; program input_output(input, output);&lt;br&gt; var n1,n2,ris:integer;               {Dichiarazione tipo intero}&lt;br&gt; begin&lt;br&gt;    writeln('Inserisci n1');         {viene visualizzato il testo tra ' '}&lt;br&gt;    readln(n1);                      {comando di input, la variabile introdotta viene messa in n1}&lt;br&gt;    writeln('Inserisci n2');&lt;br&gt;    readln(n2);&lt;br&gt;    ris:=n1+n2;                      {fa la somma di n1 e n2 e il risultato vine messo in ris}&lt;br&gt;    writeln('La somma e uguale a ',ris);     {stampa il messaggio tra ' ' e la variabile ris}&lt;br&gt; end.&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;br&gt;&lt;font color="#ff0000" size=5&gt;&lt;/font&gt; &lt;/div&gt;
&lt;div&gt;&lt;font color="#ff0000" size=5&gt;I/O reali: per l'input di numeri reali il metodo resta sempre lo stesso( readln(varibile)),&lt;br&gt;invece per l'output, per vedere numeri comprensibili bisogna usare una sintassi diversa nel writeln&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;br&gt;&lt;font color="#ff0000" size=5&gt;program input_output(input, output);&lt;br&gt; var n1,n2,ris:real;               {Dichiarazione tipo reale}&lt;br&gt; begin&lt;br&gt;    writeln('Inserisci n1');         {viene visualizzato il testo tra ' '}&lt;br&gt;    readln(n1);                      {comando di input, la variabile introdotta viene messa in n1}&lt;br&gt;    writeln('Inserisci n2');&lt;br&gt;    readln(n2);&lt;br&gt;    ris:=n1+n2;                      {fa la somma di n1 e n2 e il risultato vine messo in ris}&lt;br&gt;    writeln('La somma e uguale a ',ris:3:2);  {stampa il messaggio tra ' ' e la variabile ris, con 3 numeri prima della , e 2 dopo}&lt;br&gt; end.&lt;br&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font color="#ff0000" size=5&gt;&lt;/font&gt; &lt;/div&gt;
&lt;div&gt;&lt;font color="#ff0000" size=5&gt;Nella stampa a video abbiamo usata una 'modifica' del comando writeln: la modifica sta nell'aggiungere var:n:m dove var è il nome&lt;br&gt;della variabile da visualizzare, n è il numero di cifra prima della virgola da visualizzare e m è quella dopo la virgola.&lt;br&gt;Se ci sono più cifre da visualizzare di quelle indicate, esse non vengono fatte vedere.&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;br&gt;&lt;font color="#ff0000" size=5&gt;I/O caratteri: l'input e l'output di caratteri(numeri, lettere, simboli), è molto semplice da effettuare, per il semplice motivo che è lo stesso metodo di i/o dei numeri interi&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;br&gt;&lt;font color="#ff0000" size=5&gt;program input_output(input, output);&lt;br&gt; var ch:char;               {Dichiarazione tipo carattere}&lt;br&gt; begin&lt;br&gt;    writeln('Inserisci il carattere');         {viene visualizzato il testo tra ' '}&lt;br&gt;    readln(ch);                      {comando di input, la variabile introdotta viene messa in ch}&lt;br&gt;    writeln('Il carattere inserito è ,ch);     {stampa il messaggio tra ' ' e la variabile ch}&lt;br&gt; end.&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;br&gt;&lt;font color="#ff0000" size=5&gt;I/O stringhe: le variabili stringhe in effetti non sono altro che array di char (vettori di caratteri). Questo esempio è veramente semplice in confronto alle potenzialità del Pascal, difatti con questo linguaggio si possono creare vere e proprie applicazioni.&lt;/font&gt;&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-9036054891036908415&amp;page=RSS%3a+Pascal&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=crypto1993.spaces.live.com&amp;amp;GT1=crypto1993"&gt;</description><comments>http://crypto1993.spaces.live.com/Blog/cns!82997BF3A0D06481!169.entry#comment</comments><guid isPermaLink="true">http://crypto1993.spaces.live.com/Blog/cns!82997BF3A0D06481!169.entry</guid><pubDate>Wed, 20 Sep 2006 15:45:34 GMT</pubDate><slash:comments>1</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://crypto1993.spaces.live.com/blog/cns!82997BF3A0D06481!169/comments/feed.rss</wfw:commentRss><wfw:comment>http://crypto1993.spaces.live.com/Blog/cns!82997BF3A0D06481!169.entry#comment</wfw:comment><dcterms:modified>2006-09-20T15:45:34Z</dcterms:modified></item><item><title>Awk</title><link>http://crypto1993.spaces.live.com/Blog/cns!82997BF3A0D06481!168.entry</link><description>&lt;div&gt;
&lt;p&gt;&lt;font size=5&gt;&lt;font color="#ff0000"&gt;&lt;b&gt;AWK&lt;/b&gt; è un &lt;/font&gt;&lt;/font&gt;&lt;a title="Linguaggio di programmazione" href="http://crypto1993.spaces.live.com/wiki/Linguaggio_di_programmazione"&gt;&lt;u&gt;&lt;font color="#ff0000" size=5&gt;linguaggio per calcolatori&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;font color="#ff0000" size=5&gt; orientato alla manipolazione di dati di tipo testuale, sia in forma di &lt;/font&gt;&lt;a title=File href="http://crypto1993.spaces.live.com/wiki/File"&gt;&lt;u&gt;&lt;font color="#ff0000" size=5&gt;file&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;font color="#ff0000" size=5&gt; che di &lt;/font&gt;&lt;a title="Flusso di dati" href="http://crypto1993.spaces.live.com/w/index.php?title=Flusso_di_dati&amp;amp;action=edit"&gt;&lt;u&gt;&lt;font color="#ff0000" size=5&gt;flusso di dati&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;font color="#ff0000" size=5&gt;. Il nome AWK deriva dalle iniziali dei cognomi dei suoi autori: &lt;/font&gt;&lt;a title="Alfred Aho" href="http://crypto1993.spaces.live.com/w/index.php?title=Alfred_Aho&amp;amp;action=edit"&gt;&lt;u&gt;&lt;font color="#ff0000" size=5&gt;Alfred Aho&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;font color="#ff0000" size=5&gt;, &lt;/font&gt;&lt;a title="Peter Weinberger" href="http://crypto1993.spaces.live.com/w/index.php?title=Peter_Weinberger&amp;amp;action=edit"&gt;&lt;u&gt;&lt;font color="#ff0000" size=5&gt;Peter Weinberger&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;font color="#ff0000" size=5&gt;, e &lt;/font&gt;&lt;a title="Brian Kernighan" href="http://crypto1993.spaces.live.com/wiki/Brian_Kernighan"&gt;&lt;u&gt;&lt;font color="#ff0000" size=5&gt;Brian Kernighan&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;font color="#ff0000" size=5&gt;.&lt;/font&gt;
&lt;p&gt;&lt;font color="#ff0000" size=5&gt;AWK è un tipico linguaggio che usa in maniera estensiva il tipo stringa, gli &lt;/font&gt;&lt;a title="Array associativi" href="http://crypto1993.spaces.live.com/w/index.php?title=Array_associativi&amp;amp;action=edit"&gt;&lt;u&gt;&lt;font color="#ff0000" size=5&gt;array associativi&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;font color="#ff0000" size=5&gt; (cioè, &lt;i&gt;array&lt;/i&gt; indicizzati tramite stringhe chiave), ed &lt;/font&gt;&lt;a title="Espressione regolare" href="http://crypto1993.spaces.live.com/wiki/Espressione_regolare"&gt;&lt;u&gt;&lt;font color="#ff0000" size=5&gt;espressioni regolari&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;font color="#ff0000" size=5&gt;.&lt;/font&gt;
&lt;p&gt;&lt;font color="#ff0000" size=5&gt;AWK può essere usato come &lt;/font&gt;&lt;a title="Filtro (Unix)" href="http://crypto1993.spaces.live.com/wiki/Filtro_(Unix)"&gt;&lt;u&gt;&lt;font color="#ff0000" size=5&gt;Filtro&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;font color="#ff0000" size=5&gt;, ed è stato uno dei primi strumenti a fare la sua comparsa dalla versione 7 di &lt;/font&gt;&lt;a title=Unix href="http://crypto1993.spaces.live.com/wiki/Unix"&gt;&lt;u&gt;&lt;font color="#ff0000" size=5&gt;Unix&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;font color="#ff0000" size=5&gt; ed ottenne la giusta fama di essere un modo per aggiungere capacità computazionali ad una &lt;i&gt;&lt;a title="Pipeline (Unix)" href="http://crypto1993.spaces.live.com/wiki/Pipeline_(Unix)"&gt;&lt;u&gt;pipeline Unix&lt;/u&gt;&lt;/a&gt;&lt;/i&gt;. L'AWK è ormai presente fra le applicazioni &lt;i&gt;standard&lt;/i&gt; di ogni versione recente di sistema operativo Unix disponibile oggi. Implementazioni di AWK esistono comunque per quasi tutti gli altri sistemi operativi.&lt;/font&gt;
&lt;p&gt;&lt;font color="#ff0000" size=5&gt;Solitamente AWK è un &lt;/font&gt;&lt;a title="Linguaggio interpretato" href="http://crypto1993.spaces.live.com/wiki/Linguaggio_interpretato"&gt;&lt;u&gt;&lt;font color="#ff0000" size=5&gt;linguaggio interpretato&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;font color="#ff0000" size=5&gt;, cioè esiste un &lt;i&gt;file&lt;/i&gt; eseguibile chiamato awk che legge o da linea di comando o da un file il programma vero e proprio scritto in linguaggio awk e lo applica ad uno o più &lt;i&gt;file&lt;/i&gt; di ingresso per produrre un risultato.&lt;/font&gt;&lt;/div&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-9036054891036908415&amp;page=RSS%3a+Awk&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=crypto1993.spaces.live.com&amp;amp;GT1=crypto1993"&gt;</description><comments>http://crypto1993.spaces.live.com/Blog/cns!82997BF3A0D06481!168.entry#comment</comments><guid isPermaLink="true">http://crypto1993.spaces.live.com/Blog/cns!82997BF3A0D06481!168.entry</guid><pubDate>Wed, 20 Sep 2006 15:39:28 GMT</pubDate><slash:comments>0</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://crypto1993.spaces.live.com/blog/cns!82997BF3A0D06481!168/comments/feed.rss</wfw:commentRss><wfw:comment>http://crypto1993.spaces.live.com/Blog/cns!82997BF3A0D06481!168.entry#comment</wfw:comment><dcterms:modified>2006-09-20T15:39:28Z</dcterms:modified></item><item><title>C++</title><link>http://crypto1993.spaces.live.com/Blog/cns!82997BF3A0D06481!158.entry</link><description>&lt;div&gt;&lt;font color="#ff0000" size=5&gt;Il C++ è un linguaggio di programmazione orientato agli oggetti, con tipizzazione statica. È stato sviluppato (in origine col nome di &amp;quot;C con classi&amp;quot;) da Bjarne Stroustrup ai Bell Labs nel 1983 come un miglioramento del linguaggio C. Il miglioramento iniziale è stata l'aggiunta delle classi, seguito, tra le altre cose, dalle funzioni virtuali, overloading degli operatori, ereditarietà multipla, template e gestione delle eccezioni.&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font color="#ff0000" size=5&gt;È possibile scrivere programmi C validi anche come programmi C++, anche se il C non è un sottoinsieme del C++ nel senso più stretto della parola. Il C++ fu standardizzato nel 1998 (ISO/IEC 14882:1998 &amp;quot;Information Technology - Programming Languages - C++&amp;quot;, aggiornato nel 2003). Una nuova versione dello standard (nota informalmente come C++0x) è in fase di preparazione.&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font color="#ff0000" size=5&gt;In aggiunta al supporto alla programmazione orientata agli oggetti, il C++ è distinto dal C per il suo supporto alla programmazione generica e alla metaprogrammazione attraverso l'uso dei template.&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font color="#ff0000" size=5&gt;Il C++ è molto diffuso e apprezzato, ma raramente è usato al massimo delle sue potenzialità: la semantica del C++ è molto ricca di dettagli e sfumature che condizionano il comportamento del codice, e che molto spesso i compilatori implementano in maniera scorretta o incompleta: molte delle caratteristiche dello standard ISO del linguaggio non sono ancora implementate nei compilatori attuali, anche se la situazione sta migliorando lentamente. La grande ricchezza semantica del C++, insieme alle librerie che lo accompagnano, lo rende un linguaggio estremamente espressivo e potente, ma che richiede molto tempo per venire appreso e padroneggiato completamente. Inoltre a causa della variabilità del comportamento dei compilatori nel maneggiare le funzioni più avanzate del linguaggio, i programmi C++ che scelgono di farne uso si rivolgono ad un'architettura (processore, sistema operativo e compilatore) particolare sacrificando la portabilità su altre piattaforme.&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font color="#ff0000" size=5&gt;Come il C, anche il C++ ha una libreria standard. Di particolare importanza è la STL, Standard Template Library, la parte della libreria standard che utilizza i template per implementare contenitori generici, come vettori, code, array associativi, e così via. La programmazione ne risulta molto semplificata, al prezzo di un gran lavoro del compilatore per interpretare i complessi template.&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font color="#ff0000" size=5&gt;Alcuni compilatori per C++ sono: gcc (disponibile per molte piattaforme diverse), mingw (porting di gcc per Windows) e djgpp. Oltre a questi ci sono i compilatori commerciali come VisualC++ e il compilatore di Borland C++ Builder.&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font color="#ff0000" size=5&gt;Stroustrup iniziò a lavorare al C con le classi nel 1979. L'idea di creare un nuovo linguaggio ha origine nelle sue esperienze di programmazione durante la tesi di laurea. Stroustrup trovò che il Simula avesse caratteristiche utili per lo sviluppo di grossi progetti software, ma il linguaggio era troppo lento per l'utilizzo pratico, mentre il BCPL era veloce ma troppo a basso livello per lo sviluppo di grosse applicazioni.Quando Stroustrup cominciò a lavorare ai laboratori Bell, gli fu affidato il compito di analizzare il kernel di UNIX in ambito di elaborazione distribuita. Ricordandosi del lavoro della tesi, decise di aggiungere al linguaggio C alcune delle caratteristiche di Simula. Fu scelto il C perché era un linguaggio per uso generico portabile e veloce. Oltre al C ed al Simula, altri linguaggi che lo hanno ispirato sono stati l'ALGOL 68, Ada, il CLU ed il linguaggio ML. Inizialmente, le funzionalità di classe, classe derivata, controllo rigoroso dei tipi e argomento di default furono aggiunte al C con Cfront. La prima versione commerciale fu rilasciata nell'ottobre del 1985.&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font color="#ff0000" size=5&gt;Nel 1983 il nome del linguaggio fu cambiato da &amp;quot;C con classi&amp;quot; a C++. Furono aggiunte nuove funzionalità, tra cui funzioni virtuali, overloading di funzioni ed operatori, reference, costanti, controllo dell'utente della gestione della memoria, type checking migliorato e commenti nel nuovo stile (&amp;quot;//&amp;quot;). Nel 1985 fu pubblicata la prima edizione di The C++ programming Language, che fornì un'importante guida di riferimento del linguaggio, che non era ancora stato ufficialmente standardizzato. Nel 1989 fu rilasciata la versione 2.0 del C++, le cui novità includono l'ereditarietà multipla, le classi astratte, le funzioni membro statiche, le funzioni membro const, e i membri protetti. Nel 1990 fu pubblicato The Annotated C++ Reference Manual, che fornì le basi del futuro standard. Le ultime aggiunte di funzionalità includono i template, le eccezioni, i namespace i nuovi tipi di cast ed il tipo di dato booleano.&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font color="#ff0000" size=5&gt;Così come il linguaggio, anche la libreria standard ha avuto un'evoluzione. La prima aggiunta alla libreria standard del C++ è stata la libreria dei flussi di I/O che forniva servizi sostitutivi della libreria C tradizionale (come printf e scanf. In seguito, tra le aggiunte più significative c'è la Standard Template Library.&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font color="#ff0000" size=5&gt;Dopo anni di lavoro, un comitato che presentava membri della ANSI e della ISO hanno standardizzato C++ nel 1998(ISO/IEC 14882:1998). Per qualche anno seguente al rilascio ufficiale degli standard, il comitato ha seguito lo sviluppo del linguaggio e ha pubblicato nel 2003 una versione corretta dello standard. Risale invece al 2005 un report tecnico, chiamato &amp;quot;Technical Report 1&amp;quot; (abbreviato TR1) che, pur non facendo ufficialmente parte dello standard, contiene un numero di estensioni alla libreria standard previste nella prossima versione di C++. Quasi tutti i moderni compilatori C++ supportano oggigiorno il TR1.&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font color="#ff0000" size=5&gt;Non c'è un proprietario del linguaggio C++, che è implementabile senza dover pagare royalty. Il documento di standardizzazione stesso però è disponibile solo a pagamento.&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font color="#ff0000" size=5&gt;La pronuncia di C++ è /ˌsi: plʌs ˈplʌs/ (all'inglese) oppure, come molti italiani dicono, &amp;quot;ci più più&amp;quot; (/ˌʧi pju ˈpju/).&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font color="#ff0000" size=5&gt;Il nome fu suggerito da Rick Mascitti alla metà del 1983, quando il linguaggio veniva usato per la prima volta al di fuori dei centri di ricerca. Precedentemente il linguaggio si chiamava &amp;quot;C with classes&amp;quot; (C con classi).&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font color="#ff0000" size=5&gt;Il nome è un gioco di parole con un costrutto del C (dove il doppio segno più è un operatore che ha l'effetto di incrementare il valore di una variabile) insieme con la comune convenzione di aggiungere un segno più per indicare una versione potenziata. Secondo Stroustrup: «++ è l'operatore di incremento del C... il nome esprime la natura evoluzionaria dei cambiamenti dal C». Impiegando il gioco di parole si evita anche il problema che &amp;quot;C+&amp;quot; è già stato usato per un linguaggio senza alcun nesso col C++ (senza menzionare che è comunemente associato con una valutazione meno che stellare di una performance accademica).&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font color="#ff0000" size=5&gt;Quando furono chieste informalmente spiegazioni sul nome a Rick Mascitti nel 1992, ha spiegato che diede il suggerimento con spirito goliardico, e che non pensava che sarebbe divenuto il nome formale del linguaggio.&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font color="#ff0000" size=5&gt;Tradizionalmente i compilatori C++ hanno avuto un certo numero di problemi. Lo standard del C++ non specifica l'implementazione della decorazione dei nomi, della gestione delle eccezioni e altre funzioni specifiche dell'implementazione, e ciò rende incompatibile il codice oggetto prodotto da compilatori diversi. Ci sono però standard di terze parti per particolari macchine o sistemi operativi che cercano di standardizzare i compilatori per tali piattaforme, ad esempio l'ABI per C++, ed ora molti compilatori hanno standardizzato questi elementi.&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font color="#ff0000" size=5&gt;Per molti anni i diversi compilatori hanno implementato lo standard del C++ con diversi livelli di correttezza, in particolare la specializzazione parziale dei template. Le versioni recenti dei compilatori più usati supporta quasi tutto lo standard del C++ del 1998 &lt;br&gt;Lo standard del C++ del 1998 consiste di due parti: il nucleo del linguaggio e la libreria standard del C++; quest'ultima include la maggior parte della Standard Template Library ed una versione leggermente modificata della libreria standard del C. Esistono molte librerie per il C++ che non fanno parte dello standard; ed è possibile, usando il linking esterno, utilizzare anche le librerie scritte per il linguaggio C.&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font color="#ff0000" size=5&gt;La libreria standard del C++ incorpora la libreria standard del C con alcune modifiche minori che ne permettono un uso più comodo. Un'altra importante parte della libreria del C++ è basata sull'STL, che fornisce strumenti utili come contenitori (ad esempio vettori e liste), iteratori (puntatori generalizzati) ed algoritmi per effettuare operazioni come la ricerca e l'ordinamento. Inoltre sono disponibili i (multi)set e le (multi)map (array associativi), che esportano tutti interfacce compatibili.&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font color="#ff0000" size=5&gt;Come in C, le funzioni della libreria devono essere richieste usando la direttiva del precompilatore #include per includere un header standard. Il C++ fornisce sessantanove header standard, dei quali diciannove sono deprecati.&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font color="#ff0000" size=5&gt;L'STL era in origine una libreria di terze parti, sviluppata da HP ed in seguito da Silicon Graphics, prima che venisse incorporata nel C++ standard. Lo standard non vi si riferisce ad essa come all'&amp;quot;STL&amp;quot;, poiché è semplicemente parte della libreria completa, ma molti continuano ad usare il termine per distinguerla dal resto della libreria (come flussi di I/O, internazionalizzazione, funzioni diagnostiche, ecc.)&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font color="#ff0000" size=5&gt;La maggior parte dei compilatori forniscono anche un'implementazione della libreria standard, STL compresa. Esistono anche versioni indipendenti dal compilatore dell'STL, come ad esempio la STLPort&lt;br&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font color="#ff0000" size=5&gt;Esempio del programma hello world che utilizza la libreria standard C++ (non l'STL), il flusso di output cout per mostrare un messaggio e termina.&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font color="#ff0000" size=5&gt;&lt;/font&gt; &lt;/div&gt;
&lt;div&gt;&lt;font color="#ff0000" size=5&gt;#include &amp;lt;iostream&amp;gt; // per std::cout e std::endl&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font color="#ff0000" size=5&gt;int main()&lt;br&gt;{&lt;br&gt;   std::cout &amp;lt;&amp;lt; &amp;quot;Hello World!&amp;quot; &amp;lt;&amp;lt; std::endl;&lt;br&gt;}&lt;br&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font color="#ff0000" size=5&gt;&lt;/font&gt; &lt;/div&gt;
&lt;div&gt;&lt;font color="#ff0000" size=5&gt;Nota: Lo &amp;quot;std&amp;quot; seguito dai quattro punti (::) specifica il namespace da usare per la risoluzione dei simboli del programma. In particolare &amp;quot;std&amp;quot; indica di usare il simbolo che si trova nel namespace standard del C++.&lt;br&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font color="#ff0000" size=5&gt;Definizione di Classe&lt;br&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font color="#ff0000" size=5&gt;#include &amp;lt;string&amp;gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font color="#ff0000" size=5&gt;using namespace std;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font color="#ff0000" size=5&gt;class Message {&lt;br&gt;    string subject_;&lt;br&gt;    string from_;&lt;br&gt;  &lt;br&gt;public:&lt;br&gt;    Message(const string&amp;amp; subject, const string&amp;amp; from) : &lt;br&gt;        subject_(subject), from_(from) {}&lt;br&gt; &lt;br&gt;    string subject() const { return subject_; }&lt;br&gt;    string from() const { return from_; }&lt;br&gt;};&lt;br&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font color="#ff0000" size=5&gt;&lt;/font&gt; &lt;/div&gt;
&lt;div&gt;&lt;font color="#ff0000" size=5&gt;Essendo specificato std come namespace generale, non è necessario indicare il namespace per la risoluzione di ogni simbolo (std::).&lt;br&gt;&lt;/font&gt;&lt;/div&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-9036054891036908415&amp;page=RSS%3a+C%2b%2b&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=crypto1993.spaces.live.com&amp;amp;GT1=crypto1993"&gt;</description><comments>http://crypto1993.spaces.live.com/Blog/cns!82997BF3A0D06481!158.entry#comment</comments><guid isPermaLink="true">http://crypto1993.spaces.live.com/Blog/cns!82997BF3A0D06481!158.entry</guid><pubDate>Tue, 12 Sep 2006 08:00:23 GMT</pubDate><slash:comments>1</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://crypto1993.spaces.live.com/blog/cns!82997BF3A0D06481!158/comments/feed.rss</wfw:commentRss><wfw:comment>http://crypto1993.spaces.live.com/Blog/cns!82997BF3A0D06481!158.entry#comment</wfw:comment><dcterms:modified>2006-09-20T15:33:13Z</dcterms:modified></item><item><title>Ada</title><link>http://crypto1993.spaces.live.com/Blog/cns!82997BF3A0D06481!157.entry</link><description>&lt;div&gt;&lt;font color="#ff0000" size=5&gt;Ada è un linguaggio di programmazione creato da Jean Ichbiah del CII Honeywell Bull negli anni Settanta, è stato chiamato così in onore di Ada Lovelace, la prima programmatrice della storia.&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font color="#ff0000" size=5&gt;Ada è ancora molto usato per scopi civili o militari, laddove è necessario garantire la correttezza del codice utilizzato: aerei, razzi, etc.&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font color="#ff0000" size=5&gt;Un esempio comune della sintassi del linguaggio è costituito dal programma Hello world. Sono possibili abbreviazioni per &amp;quot;Ada.Text_IO.Put_Line&amp;quot;, con minori necessità di scrivere codice, tuttavia non sono state utilizzate qui per rendere più comprensibile l'esempio.&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font color="#ff0000" size=5&gt;&lt;/font&gt; &lt;/div&gt;
&lt;div&gt;&lt;font color="#ff0000" size=5&gt;with Ada.Text_IO;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font color="#ff0000" size=5&gt;procedure Hello is&lt;br&gt;begin&lt;br&gt;   Ada.Text_IO.Put_Line(&amp;quot;Hello, world!&amp;quot;);&lt;br&gt;end Hello;&lt;br&gt;&lt;/font&gt;&lt;/div&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-9036054891036908415&amp;page=RSS%3a+Ada&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=crypto1993.spaces.live.com&amp;amp;GT1=crypto1993"&gt;</description><comments>http://crypto1993.spaces.live.com/Blog/cns!82997BF3A0D06481!157.entry#comment</comments><guid isPermaLink="true">http://crypto1993.spaces.live.com/Blog/cns!82997BF3A0D06481!157.entry</guid><pubDate>Tue, 12 Sep 2006 07:57:19 GMT</pubDate><slash:comments>0</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://crypto1993.spaces.live.com/blog/cns!82997BF3A0D06481!157/comments/feed.rss</wfw:commentRss><wfw:comment>http://crypto1993.spaces.live.com/Blog/cns!82997BF3A0D06481!157.entry#comment</wfw:comment><dcterms:modified>2006-09-20T15:27:27Z</dcterms:modified></item><item><title>APL</title><link>http://crypto1993.spaces.live.com/Blog/cns!82997BF3A0D06481!156.entry</link><description>&lt;div&gt;&lt;font color="#ff0000" size=5&gt;L'APL (acronimo di A Programming Language) è un linguaggio di programmazione sviluppato da Kenneth Iverson nel 1962. Tra le principali caratteristiche ricordiamo:&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font color="#ff0000" size=5&gt;L'utilizzo di un set di caratteri speciali per rappresentare alcune operazioni matematiche di alto livello. &lt;br&gt;L'elevato numero di istruzioni, dedicate in particolare alla gestione delle matrici, una delle applicazioni più importanti dei computer negli anni in cui è stato progettato. &lt;br&gt;L'uso in modalità interpretata e la possibilità di immettere direttamente le istruzioni. &lt;br&gt;L'APL viene criticato perché spinge a scrivere programmi poco leggibili. L'APL non si è mai diffuso molto, ma i suoi sostenitori sono famosi per la loro convinzione.&lt;/font&gt;&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-9036054891036908415&amp;page=RSS%3a+APL&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=crypto1993.spaces.live.com&amp;amp;GT1=crypto1993"&gt;</description><comments>http://crypto1993.spaces.live.com/Blog/cns!82997BF3A0D06481!156.entry#comment</comments><guid isPermaLink="true">http://crypto1993.spaces.live.com/Blog/cns!82997BF3A0D06481!156.entry</guid><pubDate>Tue, 12 Sep 2006 07:51:48 GMT</pubDate><slash:comments>0</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://crypto1993.spaces.live.com/blog/cns!82997BF3A0D06481!156/comments/feed.rss</wfw:commentRss><wfw:comment>http://crypto1993.spaces.live.com/Blog/cns!82997BF3A0D06481!156.entry#comment</wfw:comment><dcterms:modified>2006-09-20T15:25:04Z</dcterms:modified></item><item><title>ALGOL</title><link>http://crypto1993.spaces.live.com/Blog/cns!82997BF3A0D06481!148.entry</link><description>&lt;div&gt;&lt;font color="#ff0000" size=5&gt;ALGOL (abbreviazione di ALGOrithmic Language, ossia linguaggio algoritmico) è un linguaggio di programmazione sviluppato nel 1958. In un certo senso fu una reazione al Fortran; introdusse concetti fondamentali come lo stack dei record di attivazione e per certi versi si può considerare capostipite di una grande famiglia di linguaggi di notevole successo, dal Pascal al C. Per una trentina d'anni è stato lo standard de facto con cui si rappresentavano gli algoritmi. L'ALGOL utilizza blocchi di istruzioni delimitati da coppie di begin ed end (come il Pascal); è stato il primo linguaggio ad usare questa sintassi molto utilizzata anche in didattica: frammenti di sintassi simile all'ALGOL sono tuttora utilizzati a volte come notazione per gli algoritmi chiamata Pidgin Algol.&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font color="#ff0000" size=5&gt;Esistono tre versioni ufficiali di ALGOL: ALGOL 58, ALGOL 60 ed ALGOL 68. Di queste, solo ALGOL 60 si è diffusa (Niklaus Wirth basò il proprio Algol-W sull'ALGOL 60 prima di cominciare a sviluppare il Pascal). I nomi ufficiali delle versioni di ALGOL sono dovuti all'anno di pubblicazione. L'ALGOL 58 era conosciuto originariamente come IAL (l'acronimo di International Algorithmic Language.)&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font color="#ff0000" size=5&gt;L'ALGOL è stato sviluppato congiuntamente da un comitato di informatici statunitense ed europeo. Esistono tre differenti sintassi: una sintassi di riferimento, una sintassi per la pubblicazione ed una per l'implementazione. Le differenti sintassi permisero di usare differenti parole chiave e convenzioni per i punti decimali (punti o virgole) a seconda della lingua utilizzata.&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font color="#ff0000" size=5&gt;John Backus sviluppò il metodo di descrizione dei linguaggi di programmazione detto Backus normal form (BNF) specificatamente per l'ALGOL 58. È stato rivisto ed ampliato da Peter Naur nella Backus-Naur form per l'ALGOL 60. Sia Backus che Naur fecero parte del comitato che creò l'ALGOL 60. L'ALGOL 60 ispirò molti dei linguaggi che seguirono; la citazione canonica a questo proposito è dovuta a C. A. R. Hoare: &amp;quot;ALGOL fu un grande progresso sui suoi successori&amp;quot;. La citazione completa è: &amp;quot;Qui c'è un linguaggio così avanzato che non è solo un miglioramento rispetto ai predecessori ma anche rispetto ai propri successori&amp;quot; ma l'aforisma è più conosciuto. A volte viene attribuito erroneamente a Edsger Dijkstra, conosciuto per le acute osservazione, che collaborò all'implementazione del primo compilatore per ALGOL 60].&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font color="#ff0000" size=5&gt;Il B5000 della Burroughs Corporation ed i suoi successori erano macchine a stack progettate per essere programmate mediante varianti estese dell'ALGOL 60, conosciute come Elliot ALGOL; effettivamente il loro sistema operativo chiamato MCP (Master Control Program) era scritto in Elliot ALGOL fin dal 1961. La Unisys Corporation vende ancora computer che discendono dal B5000, utilizzano l'MCP e supportano vari compilatori di Elliot ALGOL.&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font color="#ff0000" size=5&gt;ALGOL 60 ufficialmente non possedeva istruzioni di I/O; le varie implementazioni necessariamente dovettero implementarle ma il modo variava da un'implementazione all'altra. ALGOL 68 offrì invece una completa libreria di istruzioni di transput (il termine usato da ALGOL 68 per indicare l'Input/Output).&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font color="#ff0000" size=5&gt;L'ALGOL 60 era dotato di due modalità di passaggio dei parametri: il più comune è detto passaggio per valore, l'altro chiamato passaggio per nome non è mai stato adottato da nessun altro linguaggio di programmazione successivo. Il passaggio per nome aveva alcune limitazioni rispetto al passaggio per riferimento, facendone una caratteristica indesiderata nella progettazione del linguaggio. Per esempio, è impossibile con l'ALGOL 60 sviluppare una procedura che scambi i valori di due parametri se i parametri sono passati mediante una variabile intera ed un array indicizzato mediante la stessa variabile intera.&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font color="#ff0000" size=5&gt;L'ALGOL 68 è stato definito mediante un formalismo chiamato grammatica a due livelli creato da Adriaan van Wijngaarden e dal quale ha preso il nome. Le grammatiche di Van Wijngaarden utilizzano una grammatica senza contesto per generare un insieme infinito di produzioni che permettono di riconoscere un particolare programma in ALGOL 68; sono in grado di esprimere il tipo di richieste che in molti altri standard di linguaggi di programmazione vanno sotto il nome di semantica e devono essere espresse in linguaggio naturale non ambiguo ed in seguito implementati nei compilatori come codice ad hoc collegato col parser del linguaggio formale.&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font color="#ff0000" size=5&gt;Il modo in cui deve essere scritto il testo in grassetto dipende dalla particolare implementazione (es. 'INTEGER' in luogo di 'integer').&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font color="#ff0000" size=5&gt;&lt;/font&gt; &lt;/div&gt;
&lt;div&gt;&lt;font color="#ff0000" size=5&gt;&lt;/font&gt; &lt;/div&gt;
&lt;div&gt;&lt;font color="#ff0000" size=5&gt;procedure Absmax(a) Size:(n, m) Result:(y) Subscripts:(i, k);&lt;br&gt;    value n, m; array a; integer n, m, i, k; real y;&lt;br&gt;comment The absolute greatest element of the matrix a, of size n by m&lt;br&gt;is transferred to y, and the subscripts of this element to i and k;&lt;br&gt;begin integer p, q;&lt;br&gt;    y := 0; i := k := 1;&lt;br&gt;    for p:=1 step 1 until n do&lt;br&gt;    for q:=1 step 1 until m do&lt;br&gt;        if abs(a[p, q]]) &amp;gt; y then&lt;br&gt;            begin y := abs(a[p, q]);&lt;br&gt;            i := p; k := q&lt;br&gt;            end&lt;br&gt;end Absmax&lt;br&gt;&lt;br&gt;Poiché ALGOL 60 non possiede istruzioni di I/O native, non esiste una versione di &amp;quot;Hello World&amp;quot; portabile. Il codice seguente può essere eseguito sull'implementazione di ALGOL per i mainframe &lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font color="#ff0000" size=5&gt;Burroughs A-Series ed è tratta da questo sito.&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font color="#ff0000" size=5&gt;&lt;/font&gt; &lt;/div&gt;
&lt;div&gt;&lt;font color="#ff0000" size=5&gt;BEGIN&lt;br&gt;FILE F (KIND=REMOTE);&lt;br&gt;EBCDIC ARRAY E [0:11];&lt;br&gt;REPLACE E BY &amp;quot;HELLO WORLD!&amp;quot;;&lt;br&gt;WHILE TRUE DO&lt;br&gt;  BEGIN&lt;br&gt;  WRITE (F, *, E);&lt;br&gt;  END;&lt;br&gt;END.&lt;br&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font color="#ff0000" size=5&gt;Un esempio alternativo che utilizza le primitive di I/O dell'Elliott ALGOL è presentato qui di seguito. In realtà l'Elliott ALGOL usa caratteri differenti per 'inizio-stringa' e 'fine-stringa' ma non sono rappresentabili in ASCII.&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font color="#ff0000" size=5&gt; &lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font color="#ff0000" size=5&gt;program HiFolks;&lt;br&gt; begin&lt;br&gt;    print &amp;quot;Hello world&amp;quot;;&lt;br&gt; end;&lt;/font&gt;&lt;br&gt;&lt;/div&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-9036054891036908415&amp;page=RSS%3a+ALGOL&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=crypto1993.spaces.live.com&amp;amp;GT1=crypto1993"&gt;</description><comments>http://crypto1993.spaces.live.com/Blog/cns!82997BF3A0D06481!148.entry#comment</comments><guid isPermaLink="true">http://crypto1993.spaces.live.com/Blog/cns!82997BF3A0D06481!148.entry</guid><pubDate>Sat, 29 Jul 2006 08:59:10 GMT</pubDate><slash:comments>0</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://crypto1993.spaces.live.com/blog/cns!82997BF3A0D06481!148/comments/feed.rss</wfw:commentRss><wfw:comment>http://crypto1993.spaces.live.com/Blog/cns!82997BF3A0D06481!148.entry#comment</wfw:comment><dcterms:modified>2006-09-20T15:23:20Z</dcterms:modified></item><item><title>BASIC</title><link>http://crypto1993.spaces.live.com/Blog/cns!82997BF3A0D06481!147.entry</link><description>&lt;div align=left&gt;&lt;font color="#ff0000" size=5&gt;In informatica il BASIC (un acronimo per Beginner's All purpose Symbolic Instruction Code cioè &amp;quot;Codice di istruzioni simboliche di uso generale per principianti&amp;quot;) è un linguaggio di programmazione ad alto livello sviluppato a partire dal 1963 nell'Università di Dartmouth (Dartmouth College) per il calcolatore GE-225. Ne furono coinventori i professori John George Kemeny e Thomas Eugene Kurtz. Il primo programma in BASIC &amp;quot;girò&amp;quot; il 1° maggio 1964, alle ore 4:00.&lt;/font&gt;&lt;/div&gt;
&lt;div align=left&gt;&lt;font color="#ff0000" size=5&gt;Il BASIC (almeno nelle versioni di Kemeny e Kurtz, che costituiscono il cosiddetto Dartmouth BASIC) fu progettato per essere un linguaggio semplice da imparare. Per questo si differenziò dalla maggior parte dei linguaggi suoi coetanei enfatizzando la semplicità d'uso piuttosto che la potenza espressiva. Nacque infatti, come dice il suo nome, per poter essere usato anche da principianti (il 75% degli studenti dell'Università di Dartmouth era iscritto a facoltà umanistiche). Le istruzioni erano poche e non complesse. Il BASIC offriva inoltre (non per scelta degli autori, ma solo perché era figlio del suo tempo) pochi costrutti strutturati, quindi orientati alla creazione di programmi chiari e comprensibili. Fu pensato inoltre come un linguaggio algoritmico, adatto cioè a programmare algoritmi.&lt;/font&gt;&lt;/div&gt;
&lt;div align=left&gt;&lt;font color="#ff0000" size=5&gt;Il BASIC fu anche progettato per essere un linguaggio facilmente trasportabile su calcolatori diversi dal GE-225 su cui giravano le prime versioni. Concepito e realizzato originariamente come compilatore, molte delle sue versioni più note fanno tuttavia uso di interpreti.&lt;/font&gt;&lt;/div&gt;
&lt;div align=left&gt;&lt;font color="#ff0000" size=5&gt;Una delle più famose versioni è il Microsoft BASIC, sviluppato da Bill Gates e Monte Davidoff per l'Altair 8800, poi evolutasi nel GW-BASIC per il primo MS-DOS. Negli anni dei primi microcomputers, tra cui il famoso Commodore 64, il linguaggio BASIC faceva parte del firmware della macchina.&lt;/font&gt;&lt;/div&gt;
&lt;div align=left&gt;&lt;font color="#ff0000" size=5&gt;Con gli anni il BASIC ha subito notevoli evoluzioni e cambiamenti, diventando un linguaggio strutturato con potenzialità molto simili a quelle di altri linguaggi evoluti per professionisti. Le numerose versioni attuali del BASIC affiancano ai concetti originari nuovi concetti, quali la gestione degli oggetti, la ricorsività, la strutturazione, ecc. (v. ad esempio Visual Basic o REALbasic).&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font color="#ff0000" size=5&gt;&lt;/font&gt; &lt;/div&gt;
&lt;div&gt;&lt;font color="#ff0000" size=5&gt;&lt;/font&gt; &lt;/div&gt;
&lt;div&gt;&lt;font color="#ff0000" size=5&gt;Esempio di codice&lt;br&gt;[modifica]&lt;br&gt;Hello, world!&lt;br&gt;Il seguente esempio stampa il testo &amp;quot;Hello world&amp;quot;.&lt;br&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font color="#ff0000" size=5&gt;Basic tradizionale:&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font color="#ff0000" size=5&gt;10 PRINT &amp;quot;Hello World&amp;quot;&lt;br&gt;20 END&lt;br&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font color="#ff0000" size=5&gt;Basic moderno:&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font color="#ff0000" size=5&gt;print &amp;quot;Hello World&amp;quot;&lt;br&gt;[modifica]&lt;br&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font color="#ff0000" size=5&gt;&lt;/font&gt; &lt;/div&gt;
&lt;div&gt;&lt;font color="#ff0000" size=5&gt;Variabili ed array&lt;br&gt;Il seguente esempio crea una variabile stringa ed un array di 11 elementi (si parte da 0).&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font color="#ff0000" size=5&gt;&lt;/font&gt; &lt;/div&gt;
&lt;div&gt;&lt;font color="#ff0000" size=5&gt;Basic tradizionale:&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font color="#ff0000" size=5&gt;10 LET A$=&amp;quot;&amp;quot;&lt;br&gt;20 DIM A(10)&lt;br&gt;30 END&lt;br&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font color="#ff0000" size=5&gt;Basic moderno:&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font color="#ff0000" size=5&gt;A$=&amp;quot;&amp;quot;&lt;br&gt;DIM A(10)&lt;/font&gt;&lt;br&gt;&lt;/div&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-9036054891036908415&amp;page=RSS%3a+BASIC&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=crypto1993.spaces.live.com&amp;amp;GT1=crypto1993"&gt;</description><comments>http://crypto1993.spaces.live.com/Blog/cns!82997BF3A0D06481!147.entry#comment</comments><guid isPermaLink="true">http://crypto1993.spaces.live.com/Blog/cns!82997BF3A0D06481!147.entry</guid><pubDate>Sat, 29 Jul 2006 08:56:55 GMT</pubDate><slash:comments>0</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://crypto1993.spaces.live.com/blog/cns!82997BF3A0D06481!147/comments/feed.rss</wfw:commentRss><wfw:comment>http://crypto1993.spaces.live.com/Blog/cns!82997BF3A0D06481!147.entry#comment</wfw:comment><dcterms:modified>2006-09-20T15:20:12Z</dcterms:modified></item></channel></rss>