Quali lingue vengono utilizzate oggi per la programmazione di basso livello? [chiuso]


13

Quando ascolto una programmazione di basso livello, come driver, sistemi integrati, sistemi operativi, ecc., Penso immediatamente a C e forse a C ++. Ma principalmente C.

Ma quali altre lingue vengono utilizzate anche per questo tipo di attività? Oggi, intendo, non quello che è stato usato.

Risposte:


14

Normalmente la programmazione di basso livello come la programmazione del driver è una combinazione di un linguaggio assembly e C.

Il linguaggio assembly viene utilizzato per parlare con l'hardware e C per parlare con il kernel.


Intendevo le lingue a un livello superiore rispetto all'assemblaggio, ma il tuo punto è ancora valido, ovviamente. =)
gablin

8
Dipende dal sistema operativo, su Windows o Linux non è necessario il linguaggio assembly quando si scrivono i driver. Puoi accedere bene all'hardware con C.
Jim A

6
L'unica volta che lavori davvero con assembly è quando hai a che fare con stranezze specifiche dell'architettura, di solito quando lavori su qualcosa come un gestore di memoria virtuale. Il programmatore che scrive un driver di dispositivo, tuttavia, è raramente esposto a questo. Usano le strutture esistenti.
Tim Post

8

Ada è ancora utilizzato in sistemi di sicurezza / mission-critical, in quanto offre ancora caratteristiche di sicurezza relativamente ineguagliabili.

È stato obbligatorio utilizzare Ada fino alla fine degli anni Novanta all'interno del Dipartimento della Difesa e in alcune altre aree, ma non è più, quindi non è più utilizzato come una volta. Ma può ancora essere trovato in usi altamente critici, avionica, energia nucleare, ecc.

Le versioni moderne hanno l'orientamento agli oggetti e un buon supporto per l'elaborazione parallela, quindi è ancora del tutto utile.


1
Penso che useremo Ada in uno dei corsi di sistemi embedded che seguirò in primavera.
gablin

1
@gablin: Sì, è comunemente usato nei sistemi embedded, una buona scelta per questo.
Orbling

6

Qualche tempo fa ho fatto qualche ricerca per la programmazione a 8 bit (per hobby, volevo provare a costruire un po 'di elettronica di base). Oltre a C e Assembly, le uniche lingue che ho trovato menzionate favorevolmente per questi compiti erano Scheme and Forth.


+1 Oh sì, la costruzione dell'elettronica di base sarà presto il mio hobby e non vedo l'ora di iniziare a usare Make: libro di elettronica per questo hobby
Anthony

3

Cython è un esempio. Non per i sistemi embedded, ma per i driver e altre programmazioni di basso livello è sempre più utilizzato nel mondo Python in sostituzione di C. Ottieni sia un Python compilato, sia un accesso di basso livello e suggerimenti di tipo per gli speedups.

Come fanatico di Python è quello che uso, anche se è vero che molto raramente e finora non in nessun contesto serio.


1
Non l'ho mai sentito prima, ma grazie per l'illuminazione. =)
gablin

("più ancora" -> "sempre più")
Peter Mortensen,

1
Non penso che Cython sia in realtà così comune per la programmazione di basso livello. Sento che in genere viene utilizzato per creare wrapper attorno a C e C ++ per fornire accesso di livello inferiore e accesso alle librerie C o C ++ tipiche.
tsturzl,

Quindi, programmazione di basso livello, quindi. :-)
Lennart Regebro,

2

Bene, ho lavorato un po 'su sistemi embedded negli ultimi anni usando C e Lua .

Dai un'occhiata anche a eLua .

- EDIT: qui in Brasile abbiamo una "nuova tecnologia" per la TV digitale, chiamata Ginga . È davvero uno standard, ma in questo standard il linguaggio Lua viene utilizzato come fonte di linguaggio incorporato. L'altro è Java.

Suppongo che possiamo citare anche Java, per alcuni sistemi speciali come JavaCard . Se quelli non sono sistemi embedded, non so cosa significhi embedded ... :)

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.