TUTORIAL PIC 

 

PIC & C


Un corso di C - Introduzione

a cura del Ph.D. A. Bianchi


"Ecco un nuovo e noiosissimo corso di C"...

Ebbene NO.   

Forse non ne sarei nemmeno capace. E poi, perche’ riscrivere per l’ennesima volta con qualche differenza nell’ impostazione e nel lessico quanto si puo’ gia trovare il qualsiasi biblioteca o in internet ?

Per esperienza, lo studio di un (nuovo) linguaggio di programmazione richiede essenzialmente una sola cosa:  dover risolvere un problema pratico. E magari un problema pratico che mal si adatta  ai linguaggi gia'  di nostra conoscenza.

Perchè è chiaro a chi si già dedicato a questa esperienza, e lo sanno bene molti studenti,  che lo studio di un linguaggio fine a se stesso difficilmente porta a dei risultati se non gli si associa un obiettivo reale.

Se ci ricordiamo del detto cinese:
"Se ascolto dimentico; se vedo ricordo; se faccio capisco"
 
non possiamo che trovarlo del tutto vero se applicato all' apprendimento di una astrazione come un linguaggio di programmazione.
Uno studio puramente teorico potrà portare al massimo alla conoscenza mnemonica delle regole e, forse, alla comprensione della logica che sta dietro alla struttura del linguaggio. E ci si potrà anche trovare in sintonia con chi l' ha creato, oppure no.
Però, da questo al passare a rendere operativo il linguaggio, ovvero a scrivere del software, o firmware, che svolga realmente un compito determinato, c'è un discreto abisso.
Ancora più ampio quando non si tratta di agire su collezioni di dati virtuali, ma sul governo funzioni hardware, come nel caso degli embedded (e dell'automazione e del controllo di processo  in generale).

Esistono nella bibliografia e nella rete ottimi testi e corsi completi  in grado di sviscerare tutti gli aspetti dei linguaggi prescelti, ma senza una reale necessita'  di programmazione passano presto nel dimenticatoio.
"Se faccio capisco...".

Ecco perche'  vorrei proporre non lo studio del "C" con cui poi realizzare un' applicazione, ma, inversamente, realizzare un' applicazione utilizzando quella parte di "C" che puo' servire allo scopo.
E da questa esperienza trarre l' insegnamento per poter espandersi in altre applicazioni.

Il C non è sicuramente un linguaggio "semplice", nè "user friendly", ma, una volta entrati nei suoi meccanismi,ara' facile trovare in rete o in libreria tutti i testi ed i corsi completi per ampliare ed affinare le proprie conoscenze e realizzare programmi sempre piu'  complessi e performanti.

Chi si vuole cimentare nello studio del  "C" troverà  sui vari motori con una semplice ricerca di che soddisfare la sua curiosita'.
Qui noi cercheremo di arrivare ad una conoscenza operativa del C, che, attraverso il successo di risultati pratici, stimolerà ulteriori passi futuri.
 

 


 

L' APPLICAZIONE

 

Come detto, l'applicazione che deve scatenare il desiderio o l'esigenza di imparare un nuovo linguaggio deve generalmente essere tale da ottenere dei benefici dall'uso di questo nuovo linguaggio.

Certo che se il fine ultimo dovesse essere quello di far lampeggiare un LED, l'uso di un linguaggio stutturato di media complessita' sarebbe a dir poco inopportuno. Poche righe di Assembly sarebbero meglio adeguate.

Non che ci sia nulla di disonorevole nel far lampeggiare un LED con un programma in C, anzi lo utilizzeremo ampiamente nella nostra applicazione, ma cio' a senso solo per motivi didattici o in quanto tale funzione e' inserita in un contesto di programmazione ben piu' ampio.

Nè, per contro, sarebbe insormontabile l' affrontare un intenso scambio dati, magari su LAN o USB in Assembly; sarebbe sicuramente una scelta che origina un firmware dalle ottime prestazioni, ma si tratterebbe di un lavoro molto più affrontato attraverso un linguaggio dotato di mezzi e struttura poco adeguati adeguati.

Dunque, attraverso un linguaggio a livello più elevato dell' Assembly, affrontiamo applicazioni più complesse che non il semplice lampeggiare del LED; e, con un esempio, è evidente a tutti che pur potendo spostare una montagna di terra con badile e carriola, l' uso di una ruspa rende il lavoro ben diverso.

Vediamo dunque di imparare a guidare la nostra "ruspa" e metterla al lavoro.

 

 

Copyright © afg. Tutti i diritti riservati.
Aggiornato il 23/09/11.