diff --git a/README.md b/README.md index e69de29..4bdd2b5 100644 --- a/README.md +++ b/README.md @@ -0,0 +1,55 @@ +# Appunti Linux Day + +## Introduzione + +- Ci sono circa 250 linguaggi di programmazione. Perché non ce n’è soltanto uno, ma fatto bene? +- Domande al pubblico: + - Che linguaggi conoscete? + - Quali vi hanno interessato maggiormente? + - Vi siete documentarvi per conto vostro per svolgere progetti personali? + - Pensate che questi linguaggi siano utili per il futuro (lavorativo)? +- Motivi di successo dei linguaggi, effetto volano: + - Dovrei imparare il linguaggio più popolare perché è più facile trovare lavoro, informazioni, librerie. + - E se ormai ho già imparato quel linguaggio, chi me lo fa fare di impararne un altro? +- Il linguaggio si adatta ai gusti degli utenti, alle esigenze e limitazioni tecniche del momento, agli obiettivi pratici. Esempio: perché al ristorante non vendono solo la pizza margherita? + +## Breve storia dei linguaggi di programmazione + +- Prima dei computer elettronici: Babbage, Ada Lovelace e la storiellina del governo inglese; +- Telaio jaquard; +- II guerra mondiale e Turing; +- Evoluzione del computer da calcolatore per le grandi università a soprammobile da ufficio; +- I programmini in assembly dell’apollo 11 (burn baby burn); +- Il Fortran e il COBOL, (cenno a Grace Hopper); [il COBOL è in voga ancora oggi](https://www.pcmag.com/news/us-states-ask-for-help-from-cobol-programmers); primo esempio di come avviene un fork dei linguaggi; +- L’APL (A Program Language), capostipite di molti linguaggi moderni. Quello con la tastiera astrusa con un esempio; +- Slide tutta nera: questo è l’output su schermo prodotto dai linguaggi descritti finora. Il calcolatore non aveva il video, arriva dopo. +- Introduzione della print, “si stampa a schermo” un hello world con vice e il basic del C64. +- Fine anni 60, invenzione di C e UNIX. +- Motivi per cui i linguaggi di programmazione si dividono in filoni: + - Obsolescenza + - Motivi commerciali (imposizione da aziende) + - Paradigmi di programmazione: + - Imperativi + - Procedurali, strutturati, OOP + - Esempio del linguaggio OO: Definizione del tipo (rappresentazione del dato e operazioni), esempio con il tipo “vettore”: con una sola variabile mi porto dietro l’informazione “mascherata” e le operazioni ad esso correlate. + - Interazione: proviamo a scrivere il programma senza classi, in C. + - Dichiarativi + - funzionali o logic programming. Esempio di Excel come linguaggio funzionale. + - Linguaggi distribuiti in concorrenza: su processori multicore si può fare l’esempio dei due pizzaioli con un solo forno. + - Un linguaggio ha successo anche quando puoi usare un sottoinsieme di cose slegate da tutto il resto del linguaggio. Se un linguaggio è fatto da una pila di caratteristiche è meglio perché così non bisogna studiarsi tutto il malloppo per fare qualcosa. (subset fallacy). +- Carrellata dei linguaggi esoterici + - Linguaggio esoterico per instagram coi pixel che corrispondono a istruzioni + - brainfuck + - Moo MOO mOO mOo + - Monicelli + +## ... +- Virata sulla programmazione web. +- Esistono 2500000 milioni di traduttori di linguaggi in Javascript. +- Cenni di cosa è oggi la programmazione web. + +## Cose rimaste fuori +- Esempio delle ricette: un linguaggio di programmazione è la ricetta, un linguaggio di descrizione o markup sono gli ingredienti. + + +- Non è detto che i linguaggi di oggi siano adatti alle applicazioni richieste: \ No newline at end of file