Ciao a tutti, vorrei aprire un 3d che spero interessi a tutti: muovere i primi passi di programmazione con il linguaggio C.
Facciamo un passo indietro. Tempo fa, volevo usare il display grafico unito al pic, per visualizzare grafici e quant'altro, siccome i Glcd, richiedono
un "pilotaggio" un po' più complesso dei classici lcd, mi sono accorto, che per fare cose un po' serie, senza ammattire, mi sarei dovuto appoggiare al C,
con le sue vaste librerie.
Era da tempo in effetti che avevo in mente di studiare questo linguaggio di programmazione, credo sia sempre meglio conoscerne più di uno.
Per ora "conosco" (parola un po' grossa) l'assembler, quello riferito ai microcontrollori, non a un microprocessore di un pc, ma la logica, è più o
meno quella, non si scappa.
Cercando allora in rete per iniziare a programmare in C, mi sono imbattuto in un bel pdf, che mi sono stampato, e a cui sto facendo riferimento, ecco il link:
http://blacklight.gotdns.org/guidac.pdfParlando poi, con persone più esperte di me, è saltato fuori che quel pdf, è più adatto alla programmazione del C per un pc, piuttosto che un pic.
O meglio, la logica è sempre la stessa, ma parla anche di cose che un pic, non può gestire, tipo le stringhe e altro ancora che adesso mi sfugge.
Così, ho pensato di mettere un attimo da parte i pic e dedicarmi seriamente allo studio di questo linguaggio, che a detta degli esperti, è molto
potente...diciamo il più a basso livello dei linguaggi ad alto livello.
Forse con altri tipo il Pyton, si possono fare cose molto più velocemente, ma sono troppo evoluti, alla fine (secondo me) fai solo cose già pre-impacchettate da altri...
e a me non va molto. Poi è un linguaggio che ti lega ad avere il software installato sulla macchina, non genere dei .exe, è un linguaggio
interpretato e non compilato...se non dico boiate e ho interpretato giusto quello che fino adesso ho studiato.
Allora dicevo che mi sono scaricato il pdf, e un programma per fare le prove (DEV-c++) anche se io sto usando il c e non il c++.
Sono partito al solito con le prove elementari che si fanno, dichiarazioni di variabili int, float, char ecc.... cicli for, do-while- break ecc...
Giusto per prendere confidenza, e abituarsi anche alla sintassi (che odio con tutte quelle graffe....va bhè).
Direi, che avendo rudimenti di anni fa col basic, tutto sommato, ci siamo, anche se da quanto letto, non c'è paragone tra il basic e il C a livello di potenza.
La cosa che mi sta un pò spiazzando, venendo dall'assembler, è il fatto di dichiarare una variabile, e non sapere dove la mette.. cioè
in assembler farei:
MOVLW 10
MOVWF 0X20
cioè carico 10 in w, e lo metti all'indirizzo 0x20
in c invece farei
int a;
a=10;
oppure
int a=10;
la prima cosa che mi sono chiesto è.....ok a vale 10, ma fisicamente dove lo metti?
Per il momento, ho preso per buona questa cosa, mi sono detto, è così...poi arrivando al capitolo dei puntatori, qualcosa si sta smuovendo, anche se
sui puntatori, credo che ci sia da soffermarsi parecchio...da quello che intravedo, credo che siano uno dei punti di forza del C
la parte più bassa del linguaggio, quello che ti fa lavorare come l'assembler.
Anche la gestione delle CALL abituato con l'assembler, mi spiazza un po' in C...ha dei salti che mi confondono...il prototipo della procedura allìinizio...
l'implementazione della procedura/funzione stessa dopo...insomma mi ci devo abituare.
Per ora, ripeto, sto facendo solo prove, l'unico programmino un po' serio che ho fatto è quello di un input da tastiera che ti calcola se un numero è primo.
L'avevo trovato in rete, e l'ho riscritto da me, perchè quello trovato sul web, secondo me aveva un difetto, non si interrompeva se il numero non era primo
finiva tutti i cicli for...sprecando un sacco di tempo.
Se scrivevo 1234567890 .... che sappiamo già a priori non essere primo, s'inchioda per tot secondi, il mio no...
Comunque, spero che v'interessi questa cosa, magari come in passato, quando avrò dubbi, posterò porzioni di codice...e mi farò sentire quando qualcosa non capisco
Grazie a tutti
mò ho finito!!!