Il mondo dei linguaggi di programmazione per picmicro è un vero e proprio universo. Esiste, infatti, una vera moltitudine di linguaggi e subsets dedicati a questo scopo.
In ogni caso possiamo dividere questo universo in un paio di galassie: quella relativa al mondo 'open source' e quella commerciale. A queste galassie appartengono i linguaggi di programmazione piu' popolari, provenienti dal mondo dei pc ed opportunamente adattati e modificati per essere utilizzati con i picmicro.
Per un normale essere umano tali linguaggi possono essere rapidamente riassunti in:
- assemblatori
- basic (e derivati)
- pascal
- c (e derivati)
Assemblers e macroassemblatori, con relativi compilatori, sono normalmente forniti liberamente e gratuitamente dalle stesse case produttrici dei chips. Nel caso della Microchip, infatti, è disponibile un meraviglioso ambiente di sviluppo periodicamente aggiornato: l'MPlab ide. Purtroppo la curca di apprendimento dell'assembler è decisamente ampia ed è preferibile orientarsi verso linguaggi di alto livello che agevolano e semplificano l'attivita' di programmazione. L'Mplab IDE consente di integrare anche compilatori esterni all'interno dell'ambiente di sviluppo.
Linguaggi di alto livello, espressamente creati per i microcontrollori, consentono di utilizzare librerie e definizioni gia' pronte che agevolano, ci si creda, in maniera incredibile l'attivita' di programmazione che porta alla creazione del famigerato 'hex file' da inserire all'interno del microcontrollore.
Purtroppo il prezzo di linguaggi di alto livello puo' essere anhche notevole (non considerando le versioni demo o lite, che spesso vengono offerte, limitate per dimensione del programma o per le ottimizzazioni ottenibili) e normalmente tali compilatori sono rivolti a 'famiglie' di microcontrollori, non a tutti.
Di seguito una tavola che mostra, per grandi linee, i maggiori prodotti disponibili (scusandoci anticipatamente per qualche dimenticanza):
FREEWARE |
COMMERCIALE |
|
Basic |
||
Pascal |
||
C |
||
ALTRI |
...ed altri.
Alcuni di questi sono decisamente cari, altri piu' economici, ma tutti questi sopraelencati sono prodotti validissimi. La scelta del linguaggio di programmazione è un fatto personale, dipende molto dalle abitudini anche se, con molta probabilita' il linguaggio 'C' è quello che offre le migliori prestazioni sia per la velocita' che per l'ottimizzazione del codice finale realizzato.