distribuzione dei linguaggi di programmazione nei sistemi embedded

4

Sto cercando statistiche sulla distribuzione dei linguaggi di programmazione nel settore embedded. Conosci qualche buon sito web, articoli o libri?

L'ho trovato come primo riferimento, ma sto ancora cercando ulteriori informazioni:

link

Ho bisogno di questo per la mia tesi di laurea che riguarda la programmazione dell'HAL dei microcontrollori usando OOP.

    
posta DeveloperDon 10.08.2011 - 10:22
fonte

3 risposte

9

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.

    
risposta data 10.08.2011 - 16:56
fonte
5

L'anno scorso ho compilato un questionario su www.vdcresearch.com . Puoi dare un'occhiata ai report SW di sistema incorporati - potresti avere informazioni sulle lingue utilizzate per il sistema embedded.

Secondo Quali lingue usi sviluppare software? :

    
risposta data 10.08.2011 - 10:28
fonte
1

Da quello che ho visto nel corso degli anni, un dito nella stima aerea è il seguente. Non ho riferimenti a ciò, ma ho lavorato per alcune organizzazioni che si occupano molto dei sistemi embedded:

  • 80% = C
  • 10% = Assemblaggio
  • 5% = ADA (principalmente avionica / militare)
  • 5% = Altro (principalmente lingue di alto livello / DSP specifico / LabView).

Alcuni sistemi di livello superiore sono costruiti con linguaggi di alto livello o C ++ su Linux o varie implementazioni RTOS, che sono difficili da quantificare in quanto vi è una sovrapposizione con HLL e C sopra. Ho persino visto alcune cose fatte in C #.

    
risposta data 10.08.2011 - 12:15
fonte

Leggi altre domande sui tag