Secondo un VDC sondaggio di sviluppatori incorporati nel 2010:
- C - 82%
- C ++ - 45%
- Java - 13%
e scende da lì. Un grafico più leggibile può essere trovato qui .
Si noti che queste risposte non si escludono a vicenda, cioè qualcuno potrebbe rispondere che sta usando C, C ++ e assembly, tutti nello stesso prodotto. Pertanto, le percentuali si sommano oltre il 100%.
Sono rimasto scioccato nel vedere Java al 13% - nessun sistema che io considererei "embedded" esegue Java, e sono stato anche sorpreso che Ada arrivasse al 3%, anche se l'Ada tende a essere trovata solo in alcuni segmenti (avionica , difesa, ecc.) quindi suppongo sia plausibile. Ho già detto che trovo la figura del 13% Java scioccante?
Inoltre, il termine "sistemi embedded" è così ampio: da u-bit a 4 bit con 16 byte di RAM a CPU core i7 a 64 bit con 8 GB di RAM, quindi è difficile trarre conclusioni.
L'unica cosa che posso dire dopo aver lavorato su molti, molti sistemi embedded per molti, molti anni (tipico: 256K flash, 100MHz CPU, forse 32K RAM) è che C è usato praticamente in tutti > strong>. E anche se amo il C ++ (che mi mette in minoranza), penso che il 45% sia "molto alto" in base al mio tempo trascorso con probabilmente quasi 50 aziende.
Un altro punto - anche se l'assemblaggio è presente praticamente in tutti i sistemi embedded (anche se solo "codice di avvio" e / o impiallacciature di interruzione), i chip come l'ARM Cortex M3 rendono possibile scrivere virtualmente il 100% del codice in C o C ++. Inoltre, la domanda chiedeva "che lingue usano gli sviluppatori", non "quali lingue sono usate?". La distinzione è che gran parte del codice assembly in un sistema embedded è fornito da una fonte esterna (fornitore di schede, venditore di strumenti, fornitore di kernel, ecc.) E quindi lo stesso sviluppatore non usa usa assembly.