2013-08-16 24 views
13

Vorrei provare D ma non sono abbastanza sicuro di quale compilatore usarlo. Ho trovato alcuni articoli, e anche domande SO, sull'argomento, ma non ho trovato nessuno aggiornato.Quale D compilatore usare?

Quali sono i vantaggi di ciascun compilatore e quali sono gli svantaggi? In questo momento il compilatore DMD sembra il migliore per me, ma potrei essere semplicemente ingannato da informazioni obsolete.

+1

Vedere anche [Scelta tra GDC e DMD] (http://stackoverflow.com/questions/14199676/choosing-between-gdc-and-dmd) –

+0

Vedere anche [DMD vs. GDC vs. LDC] (http: //stackoverflow.com/questions/6767065/dmd-vs-gdc-vs-ldc) –

risposta

19

Tutti e 3 i compilatori D principali (dmd, gdc, ldc) usano lo stesso front-end, ma dmd è generalmente un po 'più avanti degli altri in quanto è il compilatore di riferimento. Inoltre, credo che ci siano alcuni casi in cui gli altri 2 non implementano ancora alcune funzionalità (principalmente su Windows o OS X IIRC), anche se in generale funzionano bene. Il vantaggio principale di gdc o ldc è che generano codice più veloce (anche se quanto più veloce dipende dal codice). Tuttavia, richiedono molto più tempo per compilare il codice.

Quindi, se sei appena agli inizi, ti suggerirei di usare semplicemente dmd e non ti preoccupare. È sicuro che sia il compilatore più aggiornato e credo che sia quello che usa la maggior parte delle persone. Il rovescio della medaglia è che il codice che genera non è altrettanto veloce, ma puoi guardare negli altri compilatori più tardi se/quando ti interessa davvero.

Per il codice di produzione, l'approccio che prendo generalmente sarebbe quello di sviluppare utilizzando dmd e quindi generare il codice di produzione con gdc o ldc. In questo modo, si ottengono tempi di compilazione rapidi durante lo sviluppo del codice, ma i binari più veloci sono ancora in produzione.

8

aggiunta alla risposta di Jonathan:

La vostra scelta è anche vincolata dal sistema operativo che si sta utilizzando. Su Linux sono disponibili tutti e 3 (DMD, GDC e LDC). Su Windows, DMD è la tua unica scelta pratica, soprattutto se sei abituato a Visual Studio (ottieni l'add-on Visual D). L'uso di GDC o LDC su Windows comporta vari gradi di dolore (vedere this discussion).

Se si desidera giocare con SIMD, utilizzare DMD. Altri compilatori hanno implementazioni incomplete o mancanti (basate sui discorsi di DConf 2013).