Avevo promesso aggiornamenti settimanali ed eccomi qui. Il capitolo sulla logica booleana è grossomodo terminato. Mancano degli esercizi che inizierò a mettere presto. Inoltre c’è anche la prima parte del capitolo sugli algoritmi.

Come al solito sono gradite segnalazioni di errori, commenti e richieste di maggiori chiarimenti su parti della guida che ho involontariamente lasciato troppo fumose.

Trovate tutto al solito link: DIGITAL MIND

Ciao

 
L'esaltazione del programmatore da cantina.

L'esaltazione del programmatore da cantina.

Ora che abbiamo il nostro Vi configurato a puntino è il momento di iniziare a capire come editare il file. Dopotutto… Vim serve proprio a questo.

La caratteristica che può disorientare è la presenza dei mode o modalità.

  • Inserimento (attivabile con Ins)
  • Visualizza (attivabile con V)
  • Sostituzione (attivabile con il Backspace o premendo Ins da Inserimento)
  • Comandi (è la modalità di partenza e si torna li con Esc)

Continue reading »

 
Il bellissimo logo di Python.

Il bellissimo logo di Python.

Come si dice in questi casi “a grande richiesta” comincierò a parlare di Python e cercherò di farlo nel modo più “pratico” possibile.

Premetto che parlerò di questo linguaggio alla luce delle 10 lezioni sulla programmazione generale quindi per chi non le ha lette, consiglio di recuperare!

Detto questo iniziamo subito a dire cos’è Python. Python è un linguaggio di script interpretato con paradigma ad oggetti dotato di una tipizzazione forte dinamica (capire questa frase punto per punto è anche un utile esercizio per vedere se avete chiari i concetti precedenti xD).

Continue reading »

 
L'esaltazione del programmatore da cantina.

L'esaltazione del programmatore da cantina.

Interrompiamo per un attimo la guida sulla programmazione generale perchè arrivato a quota 10 c’è il bisogno di rivedere, correggere e ampliare il lavoro svolto finora (e rilascerà anche una versione in .pdf cosi  da tenere i vostri 10 capitoli in un formato più consultabile).

Affronteremo uno dei programmi più versatili per la programmazione da tenere sempre sottomano per ogni evenienza. Ovvero il super-famoso Vi/Vim.

Non cominceremo però spiegando come funziona, ma di configurarlo in un modo che io trovo ottimale per la programmazione. In questo modo vedrete subito che non si tratta di un semplice editor da linea di comando.

Continue reading »

 
Per capire la ricorsione bisogna innanzitutto capire la ricorsione...

Per capire la ricorsione bisogna innanzitutto capire la ricorsione...

Ora conosciamo sufficientemente la struttura della memoria e i principi del suo funzionamento. Per spiegare lo stack, in particolare, ho dovuto fare richiamo alle funzioni.

Le funzioni sono un argomento fondamentale della programmazione e alcuni processori le implementano addirittura a livello di assembly.

Il concetto di funzione è molto semplice. Una funzione può essere vista come una “macchina” che riceve in pasto dei dati, li elabora e a volte restituisce un risultato.

Continue reading »

 
non si mischiano patate e broccoletti....

La regola è semplice: non si mischiano patate e broccoletti....

Abbiamo accennato anche cosa sono i riferimenti (o puntatori): variabili che invece di contenere il dato contengono l’indirizzo in cui trovare il dato.

Abbiamo però visto anche che le variabili conoscono anche il tipo di dato a cui si riferiscono o che contengono. Essi si riferiscono infatti all’insieme a cui appartiene il dato. Esempi di tipi sono gli interi, i caratteri, i booleani (vero o falso) e i float (numeri con virgola mobile).

Questo è l’ultimo argomento forte riguardante la memoria e lo affronteremo subito.

Continue reading »

 
Croce e delizia dei programmatori.

Croce e delizia dei programmatori.

Ora che conosciamo la struttura “a cassetti” della memoria e come viene organizzata a tempo di esecuzione possimo introdurre il concetto dei puntatori (o riferimenti).

Questo tipo di variabili sono ben noti a chi programma in C ma esistono in modo meno diretto in decine di linguaggi, come il Java, tanto per dirne qualcuno.

Il concetto espresso dai puntatori è mio avviso semplice anche se poi finisce per complicare la vita a molti. Quindi spero di trasmettervi questa “semplicità” con cui riesco a navigare io nel mare dei riferimenti.

Continue reading »

 
Una memoria di qualche secolo fa.

Una memoria di qualche secolo fa.

Iniziamo ora la serie di argomenti legati al funzionamento dei linguaggi di programmazione. Cercherò come al solito di limitare al minimo i tecnicismi soprattutto ora che la faccenda comincia a farsi complicata.

Per la lezione di oggi cominceremo dal più importante, vasto e primordiale aspetto: la memoria.

E’ il più importante perché è il programma stesso a risiedere in memoria e qualunque operazione vi salti in mente di fare necessita di accedere ad essa. E’ il più vasto perché come vedremo esistono vari aspetti da tenere in considerazione. Infine è primordiale perché è comune a TUTTI i linguaggi di programmazione siano essi procedurali, a oggetti, di scripting, etc…

Continue reading »

 
Spesso ci scordiamo di lui e lo emarginiamo. Vergogna.

Spesso ci scordiamo di lui e lo emarginiamo. Vergogna.

Approfitto del fatto che per l’università sto preparando una relazione sui linguaggi di scripting per approfondire questa ulteriore (e per noi ultima) classificazione dei linguaggi di programmazione.

Per finire la nostra panoramica sui linguaggi di programmazione, e prima di addentrarci nei particolari più tecnici, affronteremo i cosiddetti linguaggi di scripting, non una novità nel panorama informatico ma che negli ultimi 15 anni stanno subendo uno sviluppo e una diffusione di tutto rispetto.

Per affrontare questo argomento cominceremo dalle caratteristiche che differenziano questi linguaggi dai linguaggi ordinari con cui fino a pochi anni fa erano fatti tutti i programmi esistenti.

Continue reading »

 
Inventore del paradigma ad oggetti.

Inventore del paradigma ad oggetti.

La scorsa volta abbiamo visto le principali differenza fra linguaggi compilati e linguaggi interpretati. Abbiamo visto che la differenza principale sta nelle prestazioni e nella portabilità diretta. Quindi spero che ora a seconda del progetto che avete in mente sapete scegliere fra queste due categorie quella che fa al caso vostro! :)

Ora affronteremo un altra distinzione fondamentale dei linguaggi di programmazione ovvero quella fra linguaggi procedurali e linguaggi orientati agli oggetti (e in misura minore quelli logici).

Continue reading »

© 2008-2012 SlashCode Suffusion theme by Sayontan Sinha