Ci sono due di loro Phobos e Tango. Per quanto ne so sono ridondanti e incompatibili. Ci sono piani per unirsi a loro? Se sì, quando accadrà?Qual è lo stato corrente delle librerie standard D?
risposta
Un nucleo comune, denominato druntime, è stato creato per D2. Il materiale di runtime di basso livello, come la garbage collection e il threading, era in precedenza l'ostacolo all'interazione tra Phobos e Tango nello stesso progetto. La funzionalità di livello superiore di Phobos dipendeva dal runtime di Phobos e allo stesso modo da Tango.
Un importante aggiornamento di Phobos è stato rilasciato (solo ieri (il 4/20/09) è un dato di fatto). Questo aggiornamento cerca di utilizzare alcune delle nuove funzionalità di D2 e introduce il concetto di intervalli, che sono come gli iteratori ma più facili da utilizzare e più potenti. D2 Phobos è molto diverso dalla sua controparte D1 sottodimensionata.
Tango è di gran lunga la libreria standard migliore per D1. Una porta D2 è in corso e probabilmente progredirà molto più rapidamente quando D2 è stabile. Una grande domanda è se gli sviluppatori di Tango lo aggiorneranno per sfruttare appieno le funzionalità di D2, o se si concentreranno semplicemente sul fatto di farlo funzionare con D2 nello stesso modo in cui lo fa con D1.
contrasto le due biblioteche, Phobos tende a concentrarsi di più sul fare le cose semplici semplici, zucchero sintattico, convenienza e spingendo la busta di ciò che può essere fatto in una libreria standard. È una sorta di incrocio tra STL e la libreria standard di Python, per quanto strano possa sembrare. Tango tende ad avere più di un aspetto simile a Java ad esso. È più focalizzato sull'ampiezza delle funzionalità e sulla gestione di casi d'uso inusuali. Rimane più all'interno del sano sottoinsieme di D (non tanto per la metaprogrammazione dei modelli, ecc., Anche se probabilmente una delle caratteristiche principali di D è quella di promuovere la metaprogrammazione dei modelli per lo stato di sottoinsiemi sano), e adotta un approccio più pragmatico alla progettazione dell'API.
La mia ipotesi (la speculazione, ma ha molto senso) è che Phobos diventerà analogo a STL, ovvero una libreria veramente standard di funzionalità di base, e Tango diventerà una libreria di utilità, un po 'come Boost, come molte delle sue funzionalità principali sono assorbite da Phobos e/o dal druntime.
Infine, come altri hanno notato, D1 dovrebbe essere stabile, quindi qui non sta cambiando nulla.
Sembra che a partire da ottobre erano moving toward compatibility, ma non so cosa è successo da allora ...
Edit:
Ho anche trovato this, che sembra indicare non ci sono piani per in realtà unire:
Non ci saranno cambiamenti nella situazione per D1. Tuttavia D2, a partire da versione 2.020, ha Phobos diviso in 2 librerie, druntime.lib e phobos.lib. Ciò consente di utilizzare un runtime comune con Phobos e Tango. Mentre non esiste un piano per unire entrambe le librerie o includere anche Tango con versioni di DMD, questo sarà consentire entrambe le librerie da utilizzare allo stesso tempo senza un livello di compatibilità .
Tangobos è uno sforzo per rendere i due compatibili.
In 2.0, Tango sarà in grado di funzionare come libreria di utilità su un core condiviso. Il nucleo condiviso è già presente, tuttavia il progetto Tango non ha ancora il supporto 2.0.
In 1.0, non ci saranno cambiamenti. Questo perché la specifica 1.0 viene effettivamente congelata per consentire a un bersaglio stabile di svilupparsi contro.
- 1. Qual è il posto standard defacto per le librerie D
- 2. Qual è lo stato corrente delle monadi limitate?
- 3. Qual è lo stato corrente di PocoCapsule?
- 4. Qual è lo stato corrente del biocode?
- 5. Qual è lo stato corrente di C++ AMP
- 6. Qual è lo stato corrente della specifica Cookie2?
- 7. Qual è lo stato corrente di Perl 6?
- 8. Qual è lo stato corrente dell'implementazione WebCL sui principali browser?
- 9. Qual è lo standard per la codifica delle immagini Docker?
- 10. Qual è lo stato corrente del supporto per il test delle unità in linguaggio R
- 11. Qual è lo stato della lingua Javascript?
- 12. Qual è lo stato di PHPDoc?
- 13. Qual è lo spazio dei nomi 'Standard'?
- 14. Stato attuale delle librerie di tela JavaScript?
- 15. pylint non riconosce alcune delle librerie standard
- 16. Qual è lo stato di Open Source Java?
- 17. Qual è lo stato di Spring.Net?
- 18. Qual è lo stato di CAT.NET?
- 19. Qual è lo stato di JMX 2.0?
- 20. Lo stato di qualsiasi classe standard dopo lo spostamento è stato specificato?
- 21. Stato del supporto D su iOS
- 22. Qual è lo stato delle combinazioni di tasti Vim in MonoDevelop?
- 23. Qt: qual è lo stato corrente del supporto per le estensioni della barra delle applicazioni di Windows 7?
- 24. Qual è lo stato corrente degli argomenti con nome (parametri del metodo denominati, argomenti delle parole chiave) in Ruby?
- 25. Qual è lo scopo delle classi astratte?
- 26. Qual è l'ordine di confronto delle stringhe standard di Perl?
- 27. Qual è lo stato attuale del progetto Helios?
- 28. LinqToSQL errore: operazione non è valida lo stato corrente dell'oggetto
- 29. Dove posso trovare un elenco delle librerie standard Java?
- 30. Qualcuno conosce lo stato corrente di Graphics32?