Domanda

Quasi tutti (relativamente) nuovo libro sulla programmazione C che ho visto non sembra aderire allo standard C99, oppure coprirlo in un capitolo supplementare. Venendo da un background di Java, lo standard C99 ha fatto la migrazione (beh, ancora la migrazione ^^) molto più facile per me, e questo probabilmente vale per altre lingue, anche.

Sembra C99 non ha ancora raggiunto la maggior parte degli sviluppatori C. Ma perché?

È stato utile?

Soluzione

Risposta breve:. supporto del compilatore è lento per avere installato e C programmatori sono un sacco conservatore che cambiano il loro comportamento lentamente

Altri suggerimenti

Sono fermamente il sospetto che sia soprattutto perché MSVC non tenta di sostenere C99, e molto probabilmente non sarà mai. Ci sono alcuni compilatori integrati nella stessa barca, ma sono difficilmente abbastanza comune alla materia molto individualmente. AFAIK tutti gli altri è almeno cercando di attuare C99 il più possibile.

Non c'è molto ragione, in pratica, di non utilizzare le funzionalità selezionate di C99, ma se avete intenzione di imparare e scrivere a uno standard di C, e solo uno, allora deve essere C89.

Inoltre, è probabilmente abbastanza difficile e confusa di scrivere un testo introduttivo C che inizia col dire "OK, ci sono due standard differenti, e ho intenzione di utilizzare tre diversi colori di testo: uno per la C89, uno per C99, e uno per entrambi". E 'anche probabilmente più difficile da scrivere di C99 per un libro intero, e poi "riprendere" un sacco di quello che hai detto in appendice su C89, che è di scrivere di C89 e quindi aggiungere ad essa in un'appendice su C99 .

Tutte le speculazioni, però. Davvero dovreste chiedere dei libri che stai leggendo gli autori (o forse in alcuni casi vanno contro tutti i tuoi istinti di programmazione, e leggi la prefazione ; -))

Il rischio di passare a un nuovo compilatore su una base di codice esistente è generalmente sconosciuta, ma può essere molto doloroso, la sua saggia da cambiare solo quando si dispone di mesi di tempo per scuotere eventuali bug / modifiche. E per basi di codice molto vecchi, a volte è più saggio non basta passare a tutti.

Sarei pronto a scommettere che la maggior parte dei progetti che utilizzano C non sono disposti a passare a C99 a tutti dato che non c'è quasi più a testa per una grande base di codice esistente e un po 'di potenziale ribasso. Ho lavorato in una grande casa di software che controllava i compilatori nella struttura di origine esimo destra lungo il lato del codice e sarebbe non compilatori switch per un prodotto.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top