Il linguaggio C ha origine negli anni 70 del ventesimo secolo, ed è stato sviluppato per funzionare su macchine molto diverse da quelle che conosciamo adesso. Si deve a Dennis Ritchie l’implementazione della prima versione di un compilatore C su un DEC PDP-11 dotato di un sistema operativo UNIX.

Le specifiche di questo linguaggio sono state standardizzate dall’ANSI (C89/C90). Le implementazioni dei compilatori si attengono a queste direttive e al più propongono degli ampliamenti o ottimizzazioni assicurandone comunque la retrocompatibilità (C99, C11, ecc.).
Ci sono molti testi a cui si può fare riferimento per imparare il C. Non si può fare a meno però di citare quello che si ritiene il testo per eccellenza ovvero “The C Programming Language” di Brian Kernighan e Dennis Ritchie, gli autori del linguaggio. Si tratta di un testo adatto a chi ha una certa familiarità con la programmazione e vuole apprendere questo linguaggio, ma per tutti i programmatori C è un must have e ad esso ci si riferisce con la semplice sigla “K&R” dalle iniziali degli autori.
Questo linguaggio è estremamente versatile, e permette di sviluppare sistemi operativi (il sistema UNIX è scritto in C), compilatori (lo stesso compilatore C è scritto in C), e programmi applicativi (come sottolineano con un certo vezzo gli autori, nella prefazione alla prima edizione di “K&R”, il software usato per preparare il loro libro è stato scritto in C).
Per gli scopi che si pone questo sito il compilatore che verrà usato è il gcc, ovvero GNU Compiler Collection che troviamo installato di default in tutte le principali distribuzioni Linux attenendoci essenzialmente allo standard ANSI.
_____
< GNU >
-----
\ ,-----._
. \ . ,' `-.__,------._
// \ __\\' `-.
(( _____-'___)) |
`:='/ (alf_/ |
`.=| |=' |
|) O | \
| | /\ \
| / . / \ \
| .-..__ ___ .--' \ |\ \ |
|o o | ``--.___. / `-' \ \\ \ |
`--'' ' .' / / | | | | \
| | / / | | | mmm
| || | | /| |
( .' \ \ || | |
| | \ \ // / /
| | \ \ || |_|
/ | |_/ /_|
/__/