
Cosa è il C?
Il C è un linguaggio di programmazione! Il linguaggio di programmazione C è stato sviluppato nel 1972 da Dennis Ritchie (di cui vedete una diapositiva in alto) alla AT&T Bell Labs. E' stato chiamato linguaggio C semplicemente perché il linguaggio di programmazione B già esisteva.
Il linguaggio C è fondamentale se si vuole diventare Programmatori. Infatti è l'anello di congiunzione tra linguaggi ad alto livello (Java-PHP-VB-etc.) e linguaggi a basso livello (Assembler - linguaggio macchina).
Questo manuale (o guida) sul C è il primo passo per chi vuole imparare a conoscere questo linguaggio.
I linguaggi ad alto-livello sono quelli più vicini al linguaggio umano, mentre i linguaggi di programmazione a basso livello sono quelli piu vicini alla macchina.
Il C è l'unico esempio di linguaggio (riuscito) che pur essendo gestiro ad alto livello, viene interpretato e compilato correttamente (ed efficaciemente) nei sistemi embedded (generalmente gestiti a basso livello).
Mi spiego meglio: un programma scritto in linguaggio C è valido sia per i computer (massima espressione di potenza hardware) che per i sistemi embedded, dagli 8bit ai 32bit. Esistono anche compilatori Basic o Java per i sistemi embedded, ma nessuno è efficace e funzionale come il linguaggio C (e relativi compilatori).
Quindi, se vuoi essere un Programmatore, DEVI sapere come funziona il linguaggio C.
Linguaggio di programmazione C: vantaggi
- Leggibilità
I programmi scritti in C sono facili da leggere, pensando all'assembler, una riga di codice C equivale spesso a decine di righe assembler
- Mantenibilità
Manutenere un programma in C è semplice, data la leggibilità e la struttura ad oggetti/librerie
- Portabilità
I programmi in c sono facilmente portabili in tutte le piattaforme hardware. L'affidabilità e l'efficenza dipende dalla qualità del compilatore c.
La scrittura di programmi C è resa intuitiva dalla similitudine delle istruzioni con la lingua inglese, le più famose sono if-then (se avviene un certo evento, fai questa cosa) oppure la funzione print stampa.
Ogni linguaggio di programmazione necessita quindi di un compilatore in grado di tradurre le istruzioni in linguaggio macchina. Si, perche sia i computer che i sistemi embedded possono comprendere solo il linguaggio macchina, quindi il codice binario.
Tutto il programma DEVE quindi essere tradotto in numeri binari. Una sequenza di 1 e di 0 , solo quelli capisce il microprocessore.
Perchè? Semplicemente perchè a differenza dell'uomo (ehm... di alcuni) riesce a "vedere" solo bianco o nero, aperto o chiuso, acceso o spento, on o off, vero o falso, UNO o ZERO.
Proprio uno e zero sono facilmente rappresentati a livello hardware da transistors.
Infatti un transistor aperto pone in uscita 1 (condizione vera) mentre un transistor chiuso rappresenta lo zero (condizione falsa). Trasportando tutto nell'ambito delle alimentazioni del microprocessore (alimentato ad esempio a 5V), 1 significa 5V e zero significa GND (massa).
Se mettiamo un ingresso del microprocessore a massa, il programma leggerà l'ingresso=0 se invece da programma poniamo un uscita=1 e a questa uscita è collegato un led, il led si accenderà (uscita=5V).
Insomma, una spiegazione un pò semplicistica, ma rende l'idea di quello che avviene "dietro" al programma che noi vediamo.
Del manuale sulla programmazione con il linguaggio C è possibile fare anche il download in PDF tramite l'iconcina rossa PDF.
L'autore è disponibile a rispondere alle vostre domande nei commenti

Scusa la tremenda ignoranza, ma l’icona pdf mi restituisce l’articolo in pdf e l’icona rossa che era in testa, una volta registrato è sparita …
Mi associo!
Ragazzi, guardate bene! Una volta registrati appariranno 3 piccole icone (sotto l’immagine di Dennis Ritchie in basso a destra):
– versione stampabile
– invia ad un amico
– download pdf
——
Ionela
L’Elettronica Open Source
Scusa anche io non vedo nessuna icona ???
Salve Renato,
l’articolo è di alcuni anni fa e, nel frattempo, abbiamo cambiato CMS.
Nel pdf c’è l’articolo non il manuale, (Del manuale sulla programmazione con il linguaggio C è possibile fare anche il download in PDF tramite l’iconcina rossa PDF) come mi aspettavo.
Ciao
Orestolo
Idem, si scarica solo l’articoletto introduttivo ma il manuale dov’è ?!?
Mi associo 2
confermo solo l’articolo
Se conosci l’elettronica e la programmazione, a fare “hello word” ci metti 10 minuti. Per diventare programmatori c VERI, come dici tu, ci vogliono anni.
Ma dipende sempre cosa si vuole fare, ad esempio se devi scrivere un programma in linguaggio c, mediamente semplice per microcontrollore, a livello professionistico ovviamente, e non hai mai usato il c, questo corso ti aiuta… in 48h
Se devi programmare un sistema operativo o un videogame 3D, se devi spingerti in funzioni complesse (ricorsione etc.) allora stiamo parlando di un altro livello che affronteremo in un altro corso.
Rispondo a tutti:
il pdf è dell’articolo della puntata giornaliera del corso sul linguaggio c. Quindi se vi interessa, seguite il blog, oppure abbonatevi al feed rss.
P.S. a che vi serve il corso completo sul C tutto in una volta, mica dovete studiare il C in 48h tutte di fila
Ehi, è solo la prima parte… (di 48!!!)
Comunque, questo corso sul linguaggio C è rivolto sia ai professionisti che agli hobbisti di buona volontà. Quindi ho cercato di non essere troppo “pesante” inizialmente.
Certo che un sistema embedded è anche un computer, ma in genere il C per sistemi embedded è riferito ai microcontrollori.
Le differenze non sono sostanziali, ma ci sono.
I problemi che incontrano tutti i programmatori ad alto livello (abituati a lavorare su pc) sono in genere negli i/o, quindi non comprendere fino in fondo l’hardware, quindi il micro sul quale lavorano, quando programmano in c embedded (oops).
Per chi invece è abituato a lavorare in assembler (quindi viene dal basso livello) di questi problemi non ne ha (magari altri 🙂
>”Il linguaggio C è fondamentale se si vuole diventare Programmatori”, ma quando mai?
>Se uno sa programmare in Cobol o in Pascal non è un programmatore?
Certo che è un programmatore, ma, parere personale , un Programmatore, con la P maiuscola, DEVE conoscere il C…. anche in 48h……
Concludo invitandoti a postare chiarimenti sulle tue ultime affermazioni, se vuoi puoi sempre dire la tua, basta commentare e spiegare i compilatori ed i livelli logici in + di 4 righe…. io mica mi faccio di cognome Kernighan,
sto solo scrivendo un corso sul C per aiutare, chi vuole, ad impararlo, in base alla mia esperienza ed a documenti vari che conservo e che mi hanno aiutato nei miei progetti sviluppati in…. linguaggio c embedded (per microcontrollori)
Se anche tu vuoi partecipare, sei il benvenuto, i commenti sono sempre aperti 🙂
Scusatemi sono nuovo nel sito non riesco a trovare il manuale pdf qualcuno sa spiegarmi il perche?
ciao
non lo vedo
Leggete la seconda parte del Linguaggio C in 48h – Lo standard ANSI/C
Grazie,
——
Ionela
L’Elettronica Open Source
Il link per la seconda parte dell’articolo mi restituisce :
Error 404 Not Found
Ora è OK. Grazie della segnalazione.
… continuo a non vedere alcuna traccia di link per scaricare il pdf sul linguaggio C in 48 ore.