Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

32
voti

Ti insegno il C in dieci minuti

Cioè, per fare i microcontrollori che funzionano ci vuole il file da metterci dentro. Per fare il file si può fare come dicono i prof solo che quelli ci hanno la testa malata, quelli ti incasinano la vita con l' assembly ma io lo so perché: perché non capiscono una mazza e allora tutti i programmi che fai non devono funzionare. Per essere figo devi usare il C. Non che non si possa usare un' altra cosa ma i fighi usano il C. Il C ti serve anche per il lavoro perché se cerchi lavoro ti chiedono se sai programmare in C. Non ho mai capito perché ma te lo chiedono. Ora tu gli puoi raccontare una balla e magari se la bevono e ti assumono, ma se poi ti dicono di fare il programma in C sono dolori e non ti assumono più.
In questo articolo ti spiego il C. Non hai bisogno di comprare libri (che palle!) o di andare ad un corso, quelle sono cose inutili che ti fanno sprecare tempo e soldi. Tu segui bene quello che ti dico e poi prova. Tranquillo che vai sul sicuro!

Vai tranquillo.jpg

Vai tranquillo.jpg

Indice

Cos' è il C

linguaggio C_p.jpg

linguaggio C_p.jpg

Il C si chiama così perché si usava per fare i programmi con il computer, lo dice la parola stessa: C vuol dire computer. Però si usava per i computer vecchi poi, quando hanno fatto i computer nuovi hanno fatto il C++ (che è più meglio del C anche se non so perché) e poi il C# (che si pronuncia "C con il cancelletto") perché c'è stato windows. Oggi con il C ci fai i file per i PIC e anche per gli altri. Addirittura ci fai anche i programmi per gli ARM, hai presente gli ARM? Cioè sono quei micro incasinatissimi ma è meglio che li lasci perdere. Quella è roba per i fuori di testa che non hanno un cacchio da fare nella vita e stanno tutto il giorno davanti al computer a farsi le seghe mentali. Non hanno la tipa, non vanno in discoteca e non li trovi mai al bar. Se fai con gli ARM diventi come loro quindi lascia perdere.
Cosa stavo dicendo? Ah si, il C è figo perché è incasinato. Invece delle parole ci sono le parentesi e tutti quei caratteri che non usi mai tipo & | !=. Li avevano messi apposta per incasinare perché così solo pochi riuscivano a fare i programmi, e così chi faceva i programmi non si faceva fregare il lavoro da gli altri. C' era anche il Pascal che invece dei simboletti usava le parole ma era troppo facile e tutti riuscivano a fare i programmi, allora hanno incasinato tutto ed hanno fatto sparire il Pascal. Cioè non è che il Pascal non c'è più ma è per i vecchi. E poi con il Pascal fai un casino di errori, con il C fai meno errori. Puoi anche sbagliare un' istruzione ma non ti da errore.
Dicevo che una volta il C si usava solo per i computer ma poi i microcontrollisti si sono fatti furbi ed hanno chiesto il C per i microcontrollori. E avevano ragione! Perché dovevano farsi il mazzo con l' assembly? Non era giusto e così hanno fatto il C per i micro.

Cosa ti serve per fare i programmi con il C

Per fare un programma in C prima di tutto devi avere un amico che fa i programmi con il C. Se hai culo riesci a farti amico uno di quelli che usano gli ARM. Per farsi amico uno di questi lo devi cercare in rete, gli devi dire che è bravo, insomma lo devi impapucchiare per bene perché ti serve, poi ti spiego come. Ah, fatti dare il suo numero di cell.

Microcontrollista.JPG

Microcontrollista.JPG

Poi ti serve il sistema di sviluppo. Per trovare il sistema di sviluppo giusto vai nel forum, dici che vuoi fare un programma su un micro (però gli devi dire quale), aspetti un giorno o due e qualcuno ti dirà cosa ti serve. A quel punto gli chiedi il link, scarichi e installi. I sistemi di sviluppo hanno anche i pdf che servono per imparare ma puoi anche non leggerli, meglio se rompi le palle nel forum. Perché perdere tempo a studiare quelle cose scritte in inglese quando c' è sempre qualcuno che ti risolve i problemi?

forumista pirla.jpg

forumista pirla.jpg

Il programma C

Allora, nel programma C c' è il main e la printf. Il main lo devi mettere per forza ma la printf puoi anche non metterla. Il main ha le parentesi graffe, a volte ne ha tante ma a volte solo due. Te l' ho detto prima che il C è incasinato e quindi se vuoi fare un programma semplice ci metti solo due parentesi e sei a posto. La printf serve per scrivere le parole e i numeri ma la puoi usare solo sul computer o su un micro che ha anche il video perché la printf ha bisogno del video.
E poi ci sono le #include. Le #include le devi mettere per forza sennò ti da errore. Io le metto tutte così sono tranquillo. Non ho mai capito a cosa servono e non mi interessa. Ho scoperto però che bisogna metterle quindi mettine più che puoi ma una per volta fino a quando non ti da più errore.
Poi c'è il for. Il for serve per fare le cose tante volte ma ci devi mettere le parentesi dopo il for e poi le parentesi graffe e dentro ci metti le cose che deve fare.
Il C ha anche le variabili. Le variabili sono i numeri, ma non i numeri tipo 1, 2 o 3 (che non sono sempre uguali) sono parole che ci puoi mettere il numero che vuoi, e servono per fare i calcoli e per i for.
Le variabili sono int. Per fare una variabile scrivi int e poi ci scrivi una lettera o una parola qualsiasi e hai fatto la variabile. Ricordati di metterci il punto e virgola dopo perché devi metterlo e di non metterci l' asterisco davanti al nome sennò poi non ti funziona niente.
Nel C c'è anche l' if, il while ed altre cose ma servono a poco e poi trovi sempre qualcuno che ti dice quando usarle quindi puoi anche non impararle, è fatica sprecata dai retta a me.
E poi ci sono le funzioni. Cioè ogni tanto devi prendere un pezzo di programma del main e metterlo dentro una funzione. Non servono a niente ma se non le fai ti cazziano. Le funzioni possono avere il return o non averlo. Tu per essere sicuro scrivi sempre void davanti al nome della funzione. E' il metodo per non doverci mettere il return dentro, tanto il return non serve ad una mazza, ti incasina solo la vita.

keywords.JPG

keywords.JPG

Come fare un programma

Per fare un programma vai in rete, cerchi qualcosa che più o meno fa quello che vuoi fare tu, lo metti dentro il sistema di sviluppo e ti da errore. Allora vai nel forum e chiedi perché ti da errore, non perdere tempo a cercarlo tu, meglio se lo cerca un altro. Se nessuno te lo trova allora telefoni al tipo, a quello che scrive i programmi con gli ARM, e chiedi a lui. Telefonagli pure anche quando torni dalla discoteca o dal bar, tanto quelli stanno giorno e notte attaccati al computer e non li disturbi. Lui ti trova il problema, gli dici che è un genio, gli prometti una pizza ma tranquillo che lui poi se lo dimentica.
Quando hai il programma che non ti da più errore sappi che non fa ancora quello che vuoi te. Allora devi guardarlo un po' e provare a cambiare qualcosa da qualche parte, prima o poi ti farà quello che vuoi. Se non ci riesci chiedi nel forum.

Internet-Troll_p.jpg

Internet-Troll_p.jpg

Come vedi non è difficile, non serve studiare libri anche perché sono in inglese, ed è meglio uscire con la tipa o con gli amici invece di mettersi a studiare l' inglese che è una palla. Quando sarai diventato bravo a trovare i programmi in rete e quando sarai diventato amico del tipo che fa i programmi per gli ARM vedrai che non avrai problemi a scrivere qualsiasi programma. Dai retta a me che io lo so.

Cosa fare se non riesci a scrivere in C

Anche qui non c' è problema. Se non riesci a fare i programmi in C devi usare arduino. Con arduino basta che ci metti l' istuzione giusta e lui ti fa tutto. E poi ci sono un casino di programmi già fatti. Tu li scarichi, li metti dentro ed hai risolto tutto. Però se usi arduino non sei figo come usare il C, si vabbè fai le cose che funzionano e se trovi qualcuno che non sa niente di programmazione te la puoi tirare dicendo che programmi in C ma non sempre funziona. Però c'è anche qui il trucco, il segreto: tu fai le cose con arduino e poi dici che l' hai fatto in C perché arduino, almeno così ho sentito dire in giro, si potrebbe anche programmare in C e quindi è molto più facile darla da bere. Fai un figurone e passi pure per figo!

cetto laqualunque.jpg

cetto laqualunque.jpg

A scanso di equivoci

E' evidente che questo è un articolo scherzoso scritto per divertimento, per ridere e per prendermi una piccola pausa sul lavoro (programmazione in C tanto per cambiare). E' l' estremizzazione di un pensiero, per fortuna non diffusissimo, che vorrebbe accomunare la pratica della programmazione al bricolage. Nella programmazione niente è lasciato al caso e prima di scrivere è necessario studiare molto, pianificare, analizzare e solo dopo iniziare a scrivere. E' un lavoro che, anche a distanza di decine di anni, trovo ancora molto stimolante. Scrivere un programma che funziona può essere normale routine come può diventare sempre un' occasione nuova per migliorasi in termini di stile, affidabilità, robustezza, manutenibilità e prestazioni.
Fra i linguaggi strutturati il C è, a mio avviso, il più potente perché si basa su un assunto: fidarsi del programmatore. Questo permette molta più libertà nella scrittura del sorgente ma, di contro, investe il programmatore di più responsabilità. In programmazione non è ammesso l' errore e con il C è facile sbagliare, quindi è necessario essere particolarmente attenti e meticolosi per evitare di cadere, anche solo per una svista, nei numerosi trabocchetti che tale libertà di uso inevitabilmente mette di fronte.
Lavorare con il C sui microcontrollori non vuol dire che non si debba conoscere l' assembly, tutt' altro. Rende la vita molto più facile e diventa una vera potenza quando si incomincia a guardare il sorgente in assembly prodotto dal compilatore. Andare a scavare a fondo anche in quel che fa il compilatore è un ottimo esercizio. Sapere cosa succede "dietro le quinte" aiuta a modellare il proprio stile per ottenere elevate prestazioni e codice compatto.
Ovviamente non ci si può improvvisare programmatori, bisogna studiare a lungo e di continuo. E' una fatica ma personalmente sono convinto che ne valga la pena, anche solo come esercizio di conoscenza.
Questa volta concludo con un' esortazione non alla sperimentazione ma allo studio attento e meticoloso di questo bellissimo linguaggio. Avere più di un buon libro di programmazione è buona cosa, come buona cosa è studiare e provare tutte le particolarità del C e non fermarsi solo a quel che serve per ottenere un risultato.

Bibbia del C.jpg

Bibbia del C.jpg

Buono studio e buona programmazione a tutti!

24

Commenti e note

Inserisci un commento

di ,

TardoFreak sei mitico! :D Da neofita di EY sto girando in modalita' pseudo-casuale tra articoli e post di varia natura. L'ultima fermata é stata su questo e stavolta mi sono veramente divertito. E te lo dice uno che é programmatore da (quasi) sempre in tutti i linguaggi, compresi gli astrusi Lisp e Forth, ma il C proprio non vuole digerirlo. Dire che forse le tue indicazioni possono farmi uscire dal guano. a proposito, mi daresti il tuo numero di cell ? :D :D :D Ora andro' a leggermi anche qualcosa di piu' serio, uffa

Rispondi

di ,

Se il Pascal è per vecchi non definire chi ha smanettato in gwbasic :) Simpatico articolo e mi ha fatto bene dopo qualche ora in EY

Rispondi

di ,

Grandissimo. E' la verità

Rispondi

di ,

Ah..... Se solo avessi avuto un amico in grado di programmare in C!!!! ahahahahhahah Comunque a parte gli scherzi ho incontrato tanta gente che affronta i problemi così....

Rispondi

di ,

il primo giorno che abbiamo iniziato a studiare il C a scuola (solo a livello basilare) io ero a casa con l'influenza. Cosi, saputo che stavamo studiando le basi del C mentre ero a casa ho letto tutto il tuo articolo che, nonostante sia scritto in modo scherzoso mi ha dato le basi necessarie per andare avanti. Grazie TardoFreak!

Rispondi

di ,

veramente esilarante. Voto meritatissimo, Tardofreak!

Rispondi

di ,

Ho scoperto che sono vecchio... io a scuola ho studiato il Pascal. Poi però il complotto demo-pluto-giudaico-massonico-imperial-catto-comunista l'ha fatto sparire! Ecco perchè ad un certo punto ci hanno fatto studiare il C... Bravo Stefano, ottimo articolo! Ci vuole proprio dopo una giornata di lavoro!

Rispondi

di ,

Stefano, ora che ti leggo ho come l'impressione di avere sbagliato qualcosa.

Rispondi

di ,

Complimenti, TardoFreak! Un articolo molto bello, intelligente e spiritoso! Dall'altra parte il C ... "... Puoi anche sbagliare un' istruzione ma non ti da errore." ... E` vero, è vero! :-)))))) Ecco perchè, se posso sceglere, io preferisco sempre il Pascal.

Rispondi

di ,

C' molta AUTO-IRONIA nello scritto :)

Rispondi

di ,

Bellino... Comunque io prorpio in sto periodo ho appena finito un bootloader per ARM cortex-M4 Freescale, e fuori alla sera ci vado, non è che per forza bisogna essere dei segregati, diciamo che bisogna sbattersi un tantino...

Rispondi

di ,

Ad ogni modo, steve, visto che fai l programmatore ( anche ARM? ) vuoi essere mio amico? ... mi mandi il numero in pvt? Grazie :P ps, serio: sei freelance?

Rispondi

di ,

Per un attimo mi ero illuso che fosse vero... ahahaha

Rispondi

di ,

Chapeau! ;)

Rispondi

di ,

Ok, starò lontano dagli ARM!

Rispondi

di ,

Solo 10 minuti? Ottimo, ci metto 5 minuti in meno che ad imparare l'elettronica! :))

Rispondi

di ,

Il Pascal è stato vittima di un complotto demo-pluto-giudaico-massonico-imperial-catto-comunista.

Rispondi

di ,

Ivan, "il fu Mattia Pascal" adesso è solo "il fu Mattia"? Mah...

Rispondi

di ,

Un articolo utilissimo, per chi come me inizia a muovere i primi passi nel programmare quei ragnetti neri che fanno un sacco di cose fortissime. Peccato la parte finale dell'articolo troppo leggera e scherzosa. PS: Ma Pascal non era quello nella botte? O forse era Diogene nella botte? Boh! Adesso vado sul forum dei fisici e poi in quello dei filosofi a vedere, prima di buttarmi a capofitto nel mio super progetto con HArduino. Ve lo dico in anteprima si chiama "Hola mundo!" anche se per l'originalità faticherete a capire di cosa si tratti.... eh eh! Sò forte!

Rispondi

di ,

Ah ah! Ecco, giusto, ci deve essere stato un complotto che ha fatto sparire il Pascal! ;-)

Rispondi

di ,

e si però :( prima mi fai fare l'esame e poi mi esci la super guida deluxe. non si fa così, no non è giusto :(

Rispondi

di ,

Sembra la seconda serie di "Ti spiego l'elettronica in un quarto d'ora :D Mi piace la riga dedicata ai puntatori: "non metterci l' asterisco davanti al nome sennò poi non ti funziona niente". :D :D

Rispondi

di ,

Beh, se il C e' cosi' figo, domani comincio a studiarlo anch'io. Bravo Stefano.

Rispondi

di ,

ROTFL.

Rispondi

Inserisci un commento

Per inserire commenti è necessario iscriversi ad ElectroYou. Se sei già iscritto, effettua il login.