Questa è un'altra spiegazione più semplice e diretta del concetto di linguaggio di programmazione e della differenza che c'è tra compilatore ed interprete.
Corso di Basi e Fondamenti di Programmazione in C++ Lezione 1Daniele Falamesca
Argomenti Trattati nel Corso:
Fondamenti
Costruttori del Linguaggio
Vettori
Record
Funzioni
Ricorsione
Puntatori
Strutture Dinamiche
Programmazione ad Oggetti
Nel Corso saranno presenti circa 60 Esercizi Svolti per aiutarvi a comprendere i concetti delle Lezioni
Corso di Basi e Fondamenti di Programmazione in C++ Lezione 1Daniele Falamesca
Argomenti Trattati nel Corso:
Fondamenti
Costruttori del Linguaggio
Vettori
Record
Funzioni
Ricorsione
Puntatori
Strutture Dinamiche
Programmazione ad Oggetti
Nel Corso saranno presenti circa 60 Esercizi Svolti per aiutarvi a comprendere i concetti delle Lezioni
Presentazione del volume "ICT. Insegnare Con le Tecnologie. Idee per la scuol...Serena Triacca
Slide di presentazione del volume "ICT. Insegnare Con le Tecnologie. Idee per la scuola secondaria" (Junior-Spaggiari, 2015) a cura di Livia Petti e Serena Triacca nell'ambito del seminario tenutoso il 4 marzo 2016 in Università Cattolica http://goo.gl/4Q5XCb
Domain Specific Languages: implementazione in Lisp e integrazione con Java mediante API JSR-223.
Presentazione tenuta il 20/01/2009 in occasione dell'incontro del JUG Genova.
Il talk prevede una breve introduzione alla piattaforma Maemo ed ai Nokia Internet Tablet, sia dal punto di vista dell'utente comune, sia da quello dello sviluppatore.
Verrà poi spiegato come configurare ed installare l'ambiente Scratchbox, il principale ambiente utilizzato per sviluppare applicazioni per Maemo.
Infine verranno presentati due plugin per Eclipse: ESbox e PluThon. Il primo si interfaccia con Eclipse e Scratchbox, permettendo di sviluppare sia applicazione C/C++ che Python e di testarle all'interno dell'ambiente Scratchbox. Il secondo è un plugin specifico per Python e permette di eseguire e debuggare le applicazioni direttamente sul dispositivo.
Presentazione del volume "ICT. Insegnare Con le Tecnologie. Idee per la scuol...Serena Triacca
Slide di presentazione del volume "ICT. Insegnare Con le Tecnologie. Idee per la scuola secondaria" (Junior-Spaggiari, 2015) a cura di Livia Petti e Serena Triacca nell'ambito del seminario tenutoso il 4 marzo 2016 in Università Cattolica http://goo.gl/4Q5XCb
Domain Specific Languages: implementazione in Lisp e integrazione con Java mediante API JSR-223.
Presentazione tenuta il 20/01/2009 in occasione dell'incontro del JUG Genova.
Il talk prevede una breve introduzione alla piattaforma Maemo ed ai Nokia Internet Tablet, sia dal punto di vista dell'utente comune, sia da quello dello sviluppatore.
Verrà poi spiegato come configurare ed installare l'ambiente Scratchbox, il principale ambiente utilizzato per sviluppare applicazioni per Maemo.
Infine verranno presentati due plugin per Eclipse: ESbox e PluThon. Il primo si interfaccia con Eclipse e Scratchbox, permettendo di sviluppare sia applicazione C/C++ che Python e di testarle all'interno dell'ambiente Scratchbox. Il secondo è un plugin specifico per Python e permette di eseguire e debuggare le applicazioni direttamente sul dispositivo.
NON ESISTONO COMPUTER VECCHI (Da xp a linux - Treviso 15/4/2014)Stefano Dall'Agata
Martedì 15 aprile 2014 alle ore 20.45 presso la sede della ACSE Treviso è stato organizzato un INCONTRO GRATUITO per capire come dare una nuova vita a quei computer che si pensava di buttare, utilizzando un sistema operativo (Xubuntu – che è liberamente scaricabile) e programmi gratuiti, affidabili e funzionali per ogni esigenza.
Slide dell'evento del FabLab Western Sicily del 3 ottobre Coding Class: Da Scratch a Python.
Introduzione alle basi del pensiero computazionale ed esempi in Scratch che in Python.
1. Cos'è un linguaggio di programmazione?
In parole molto semplici, possiamo dire che un linguaggio di programmazione (come il C++) è uno
strumento per controllare il computer, facendogli eseguire determinati compiti.
Come ogni linguaggio che si rispetti, è necessario che siano definiti due elementi essenziali: un
lessico e una sintassi. In un linguaggio naturale, il lessico è l'insieme delle parole che possiamo
trovare in un vocabolario, ciascuna con il suo significato. La sintassi è il modo di mettere assieme le
parole per costruire una frase.
Ad esempio, se dovessi chiedere a Giorgio di passarmi la mela che è sul tavolo, e mi mancasse una
parte del lessico, ne uscirebbe qualcosa del genere:
quot;Giorgio, dammi la cosa che è sul cosoquot;
Se invece mi mancasse solo la sintassi, riuscirei a spaventare il povero Giorgio dicendogli:
quot;Mela la Giorgio tavolo che sul dammi èquot;
(con un risultato ancora peggiore)
In un linguaggio di programmazione esistono delle precise parole del lessico (chiamate istruzioni) e
una precisa sintassi. In C++, ad esempio, per far scrivere la frase quot;Ciao a tuttiquot; sullo schermo si usa
l'istruzione printf che deve essere usata in questo modo:
printf ( quot;Ciao a tuttiquot;);
Se scrivessi invece:
(quot;Ciao a tuttiquot;);printf
Il computer si rifiuterebbe di eseguire, mostrandoci un messaggio di errore sintattico.
Allo stesso modo, il computer si rifiuterebbe di lavorare se proviamo a istruirlo in questo modo:
scrivi( quot;Ciao a tuttiquot;);
Infatti quot;luiquot; non conosce la parola quot;scriviquot;. La sintassi andrebbe anche bene, ma qui si tratta di un
errore lessicale.
Esiste solo il C++?
Ovviamente no. Ecco i nomi di alcuni famosi linguaggi di programmazione:
Pascal (utilizzato soprattutto nella didattica dell'informatica)
C++ (uno dei più utilizzati dai professionisti)
Java (linguaggio utilizzato nella rete Internet, è un dialetto semplificato del C++)
Javascript (sottoinsieme di istruzioni simili al Java, adatto alle pagine web)
Prolog (linguaggio di quot;programmazione logicaquot;)
Lisp, Logo, Perl, PHP, ecc..
2. L'elenco sarebbe lunghissimo è comunque interessante sapere che, a parte qualche rara eccezione
come il Prolog, tutti i linguaggi di programmazione si basano su strutture molto simili. Imparare uno
dei linguaggi significa avere le chiavi per impararli tutti.
Linguaggi interpretati e linguaggi compilati
I linguaggi di programmazione tendono ad assomigliare ai linguaggi naturali (quelli usati dall'uomo)
proprio per rendere più facile la programmazione del computer. Il computer invece quot;capiscequot; un suo
linguaggio fatto esclusivamente da numeri, anzi, da sequenze di cifre binarie 1 e 0.
Questo linguaggio binario si chiama quot;linguaggio macchinaquot; e all'uomo risulterebbe difficilissimo da
imparare.
10010111011100011101110010110001001111110010111101000101
facile no?
I primi computer, si basavano esclusivamente sul linguaggio macchina e il loro schermo era un
piccolo led che mostrava dei quot;pacchettiquot; di cifre binarie. Il programmatore utilizzava una tabella che
serviva per tradurre i comandi nella serie corrispondente di cifre binarie da inserire. Un lavoraccio da
certosini. E bastava sbagliare una cifra per mettere in crisi tutto il sistema. I giochini per computer
non se li immaginavano nemmeno!
Fortunatamente, oggi esistono dei programmi che fanno da traduttori automatici, cioè che traducono
un linguaggio ad alto livello come il C++ nella sequenza di 1 e 0 del linguaggio macchina.
1) Linguaggi compilati
Linguaggi come il Pascal o il C++ utilizzano dei programmi compilatori: tutto il listato viene
prima controllato nel lessico e nella sintassi, tradotto e trasformato in un file eseguibile (con
estensione .exe nei sistemi Windows) contenente il codice del linguaggio macchina. Soltanto alla
fine di queste operazioni si può inviare il file al computer per l'esecuzione.
I linguaggi compilati sono più efficienti di quelli interpretati. Inoltre il file eseguibile diventa
indipendente dal listato che lo ha prodotto, e può essere eseguito anche senza il programma
interprete.
2) Linguaggi interpretati
Altri linguaggi (come il Qbasic) utilizzano invece dei programmi interpreti. Esso quot;leggequot; riga
per riga il listato che noi scriviamo, ne controlla il lessico e la sintassi e traduce in linguaggio
macchina. Infine lo fa eseguire al computer. Questa sequenza di operazioni si ripete per ogni
riga del listato:
a) lettura di una riga;
b) controllo di lessico e sintassi;
c) traduzione;
d) esecuzione.
(Tratto da: http://www.vettorpisani.net/forum-scuola/qbasic/linguaggio.htm)