34
EMBEDDED
54 • NOVEMBRE • 2014
questo va aggiunto che occorre investire del tempo
per imparare a usare al meglio i nuovi tool (la curva
di apprendimento), periodo in cui la produttività
inevitabilmente non può essere quella massima.
L’obbiettivo principale di questi tool integrati resta
comunque quello di semplificare e rendere più
veloce il lavoro di sviluppo e debug, eliminando, per
esempio, le attività ridondanti che richiedono molto
tempo prezioso.
C’è anche qualcuno che sostiene che questa facilità
d’uso indotta dall’impiego degli IDE sia un punto a loro
sfavore dal punto di vista dell’opportunità di adozione.
Alcuni ritengono, infatti, che un IDE per lo sviluppo di
progetti embedded potrebbe non essere la scelta giu-
sta per uno sviluppatore professionista e a supporto di
questa tesi viene addotta proprio la notevole facilità che
gli IDE offrono per sviluppare un codice, anche senza
conoscere fino in fondo tutte le implicazioni di ciò che
si sta facendo. Gli IDE infatti permettono di ottenere
dei risultati anche senza conoscere tutti i dettagli dei
tool come i compilatori e dei processi di generazione
del codice. Questo punto potrebbe essere condivisi-
bile nel caso gli IDE siano usati a scopi didattici, dove
l’obbiettivo non è tanto generare del codice quanto
apprendere il più a fondo possibile le funzionalità dei
tool e i processi di generazione del codice.
Scegliere in IDE
La disponibilità di IDE è molto ampia: alcuni sono
messi a disposizione gratuitamente dagli OEM per
favorire la diffusione dei rispettivi componenti, altri
sono disponibili come open source, mentre altri,
infine, devono essere pagati. Anche Microsoft pro-
pone il suo IDE Visual Studio.
La scelta di un IDE spesso non è affatto semplice
visto che occorre prendere in considerazione diver-
si parametri. Per esempio, occorrerebbe avere le
idee chiare su che cosa ci si aspetta realmente da
un IDE, anche in prospettiva nel medio termine,
e capire vantaggi e svantaggi di ciascun IDE che
potenzialmente si intende adottare.
Gli elementi più critici nella scelta di un IDE sono
relativi al supporto dell’hardware, visto che spesso
si possono utilizzare solo con alcune famiglie di
componenti. Questo pone il problema, non irrile-
vante, che quando si affrontano progetti complessi,
con più componenti diversi, occorre spesso utilizza-
re più IDE, con i relativi problemi legati alle curve
di apprendimento per i singoli IDE e al passaggio
da uno all’altro. Esistono comunque IDE multipiat-
taforma in grado di supportare un numero decisa-
mente elevato di componenti e quindi non è raro il
caso in cui diventa possibile usare un unico IDE per
tutto il progetto, raggiungendo quindi l’obbiettivo
di migliorare la produttività.
In generale, occorrerebbe comunque verificare
quali librerie e periferiche che possano accelerare
il progetto siano in grado di supportare l’IDE che
si intende utilizzare. Questo significa ovviamente
anche verificare che l’IDE prescelto supporti tutti
i componenti scelti per il progetto, come micro-
controller, processori, FPGA eccetera. Occorre
anche chiedersi quanto gli sviluppatori dedicati al
progetto abbiamo familiarità con l’IDE che si sta
valutando e quale tipo di supporto viene fornito da
produttore e community, un aspetto che diventa
molto importate per non vanificare i benefici dell’u-
so degli IDE sul versante dei tempi di sviluppo dei
progetti.
Per quanto riguarda gli elementi che compongono
l’IDE, andrebbe verificata, per esempio, anche la
disponibilità e la qualità dei tool per valutare le
prestazioni del codice generato, in modo da poter
realizzare velocemente applicazioni performanti.
Gli IDE citati nelle prossime pagine non sono
classificati in un ordine particolare di qualità o
importanza, ma sono semplicemente alcuni esempi,
assolutamente non esaustivi visto che l’offerta è
davvero molto ampia, di questo variegato mondo.
Fig. 2 – La versione più recente di NetBeans
è la 8.0.1 che mette a disposizione, fra l’al-
tro, un analizzatore di codice e degli editor
per lavorare con la più recente tecnologia
Java