Есть два из них Фобос и Танго. Насколько я знаю, они избыточны и несовместимы. Есть ли планы присоединиться к ним? Если да, то когда это произойдет?Каков текущий статус стандартных библиотек D?
ответ
Общее ядро, называемое druntime, было построено для D2. Низкоуровневое время выполнения, например сбор мусора и потоки, ранее было препятствием для взаимодействия Фобоса и Танго в том же проекте. Более высокая функциональность Phobos зависела от времени выполнения Phobos, а также для Tango.
Основное обновление для Фобоса было выпущено (только вчера (4/20/09)). Это обновление пытается использовать некоторые из новых функций D2 и вводит концепцию диапазонов, которые похожи на итераторы, но более удобные и эффективные. D2 Phobos сильно отличается от своего слабого D1-аналога.
Tango на сегодняшний день является лучшей стандартной библиотекой для D1. Порт D2 находится в процессе и, скорее всего, будет прогрессировать намного быстрее, когда D2 будет стабильным. Большой вопрос: смогут ли разработчики Tango обновить его, чтобы в полной мере использовать возможности D2, или просто сосредоточиться на том, чтобы он работал с D2 так же, как с D1.
В отличие от двух библиотек, Phobos имеет тенденцию сосредотачиваться больше на простых простых вещах, синтаксическом сахаре, удобстве и нажатии на конверт того, что можно сделать в стандартной библиотеке. Это нечто среднее между STL и стандартной библиотекой Python, как это ни странно. Tango имеет тенденцию иметь больше похожего на Java чувства. Это больше ориентируется на широту возможностей и грамотно обрабатывает необычные варианты использования. Он остается в пределах разумного подмножества D (не так много метапрограммирования шаблонов и т. Д., Хотя, возможно, главной особенностью D является продвижение шаблона метапрограммирования до нормального состояния подмножества) и более прагматичный подход к дизайну API.
Моя собственная догадка (спекуляция, но это имеет большой смысл) заключается в том, что Phobos станет аналогичным STL, то есть по-настоящему стандартной библиотеке основных функций, а Tango станет библиотекой утилиты, вроде Boost, как больше его основной функциональности поглощается в Фобос и/или время ожидания.
Наконец, как отмечали другие, D1 должен быть стабильным, поэтому здесь ничего не меняется.
Похоже, в октябре они были moving toward compatibility, но я не знаю, что случилось с тех пор ...
Edit:
Я также нашел this, который, кажется, указывает нет никаких планов на фактически слияния:
Не будет изменений в ситуации для D1. Однако D2, начиная с версии 2.020, разделил Фобос на 2 библиотеки, druntime.lib и phobos.lib. Это позволит использовать обычную рабочую среду как с обоими фобиями , так и с танго. Хотя нет никакого плана для объединить обе библиотеки или даже включить Tango с релизами DMD, это будет , позволяющее использовать обе библиотеки в без совместимости .
Tangobos - это попытка сделать эти два совместимых.
В 2.0 Tango сможет функционировать как служебная библиотека поверх общего ядра. Совместное ядро уже установлено, однако проект Tango еще не имеет поддержки 2.0.
В 1.0, никаких изменений не будет. Это связано с тем, что спецификация 1.0 эффективно замораживается, чтобы создать стабильную цель против.
- 1. Каков текущий статус biicode?
- 2. Каков текущий статус hbase 2.0?
- 3. Каков текущий статус проекта Helios?
- 4. Каков текущий статус C++ AMP
- 5. Каков текущий статус Javascript ES5?
- 6. Принятие стандартных библиотек
- 7. Расположение стандартных библиотек Python?
- 8. Каков текущий статус конвейера контента MonoGame?
- 9. Каков текущий статус проекта SubSonic ORM?
- 10. Каков текущий статус брызг-json версии 2.0?
- 11. Каков текущий статус LOGO? (Язык программирования)
- 12. Каков текущий статус порта Java клиента SignalR?
- 13. Каков текущий статус шифрования приложений Android?
- 14. Каков текущий статус на Microsoft ProClarity?
- 15. статическое связывание стандартных библиотек QT
- 16. реверсивные последовательности без стандартных библиотек в Clojure
- 17. Qt: Каков текущий статус поддержки расширений панели задач Windows 7?
- 18. Каков текущий статус CSS для шаблонов gmail html?
- 19. Ruby даже не может требовать от библиотек стандартных библиотек
- 20. Ссылка на текущий статус
- 21. background рабочий текущий статус
- 22. Текущий статус монитора
- 23. Текущий статус сервера
- 24. получить текущий статус gphoto2
- 25. Компиляция против стандартных библиотек C++ на андроид
- 26. RARP с использованием стандартных библиотек Python
- 27. VS2010 Множество ошибок при включении стандартных библиотек
- 28. Список всех стандартных библиотек .net 4.5 (dlls)
- 29. C++ программа с использованием стандартных библиотек контейнеров
- 30. Поддержка YCM для стандартных библиотек python