Sto cercando un linguaggio di sistema di livello superiore, se possibile, adatto per la verifica formale, che compila lo standard C, in modo che possa essere eseguito su più piattaforme con sovraccarico (relativamente) basso.Linguaggio di sistema di alto livello che compila in c?
I due più promettenti queste lingue che ho imbattuto negli ultimi giorni sono:
BitC - Mentre gli obiettivi di progettazione di questo linguaggio corrispondono alle mie esigenze (supporta anche il paradigma funzionale), si è in uno stato molto instabile, la documentazione non è aggiornata e, in genere, sembra una ripresa molto lunga per un progetto del mondo reale.
Lisaac - Supporta Design-by-contract, che è molto interessante e ha un overhead di prestazioni relativamente basso. Tuttavia, il sito Web è morto, non c'è stata una nuova versione dal 2008 e in genere sembra che la lingua sia morta.
Vorrei anche sottolineare che non è pensato per un sistema in tempo reale, in modo da un GC o, in generale, non il determinismo (nel senso in tempo reale), non è un problema.
Il progetto riguarda principalmente l'elaborazione audio, sebbene debba essere multipiattaforma.
Presumo che qualcuno mi indichi la risposta ovvia: "plain ol 'C". Sebbene sia veramente multipiattaforma e molto efficace, la quantità di codice sarebbe probabilmente maggiore.
EDIT: Vorrei chiarire che intendo cross-platform E cross-architecture. Questo è il motivo per cui considero solo le lingue, compilate per C in primo luogo, ma se riesci a indicarmi un altro esempio, ti sarei grato :)
Hai guardato il C++? È (può essere) un linguaggio di sistemi di alto livello. –
Sì, ma la complessità introdotta dal C++ è, ritengo, non valga la pena supplementare. Inoltre, ogni compilatore su questa terra supporta una parte diversa degli standard linguistici e avendo, ad es. eccezioni, è un casino. Lo stesso vale per RTTI e in generale per tutte le funzionalità che rendono C++ di livello superiore. –
Se davvero non ti piace il C++, potresti dare un'occhiata a D che ha un GC tra le altre cose ed è meno complesso del C++. È molto meno popolare e non ha tante librerie, ma può essere utilizzato con il codice C come C++. Nessuno di questi linguaggi in realtà viene compilato in C, ma viene compilato in base al codice macchina. –