15 November 2015

Дайджест событий из мира D №2

Programming
В последнее время на Хабре стало много публикаций на тему Rust и Go и достаточно мало про D. Главной причиной этого является поддержка этих языков Mozilla и Google, которые могут вкладывать большие деньги в свои детища. За D не стоит ни одной столь же крупной компании, однако это не мешает языку активно развиваться. Сейчас я кратко расскажу о последних новостях языка и оставлю кому-то другому возможность провести комплексное сравнение Rust/Go и D.

1. Первое и главное. D был наконец-то конвертирован с С++ на сам D. Событие крайне значимое. Это стало не только важным шагом в развитии целостной инфраструктуры, но и позволило значительно упростить процесс разработки т.к. не все люди заинтересованные в развитии D знают С++. Следует отметить, что имело место не простое переписывание кода, а полуавтоматическая конвертация всей кодовой базы DMD c C++. А это десятки тысяч строк кода (да DMD не маленький). О том как все проходило можно посмотреть на этом видео:



2. D активно движется в сторону облегчения интеграции с С++ кодом, что должно упростить процесс перехода С++ программистов на D. На данный момент D единственный язык, который может обеспечить практически бесшовную интеграцию с уже имеющимся С++ кодом. Ни Rust ни Go такого позволить не могут. Движение идет как со стороны официального компилятора DMD, так и со стороны сторонних LLVM-based компиляторов. Так сообщается, что Walter Bright, по совместительству автор первого С++ компилятора (работающего без промежуточной трансляции в С) активно работает над поддержкой обработки С++ исключений в D.

Интеграция с С++ кодом активно продвигается и со стороны проекта Calypso, первый публичный релиз которого должен состояться уже совсем скоро. Пока для пользователей Linux доступна тестовая сборка, которая позволяет собирать даже такие сложные библиотеки как Qt5 и Ogre3D. Сборка для Windows будет доступна вместе с первым публичным релизом. Так что ждем.

Вообще план развития Calypso следующий:
Улучшение поддержки С++ исключений --> улучшение поддержки С++11 --> поддержка MSVC --> улучшение magicport2 (инструмент для перевода С++ кода на D) --> полный бустраппинга Calypso (чтобы не писать биндинги для Clang) --> Calypso как библиотека для LLVM/Clang.

3. Активно ведутся работы над поддержкой мобильных платформ. В настоящий момент сообщается, что рантайм языка и библиотека Phobos проходят практически все тесты на устройствах Android. О полноценной поддержке разработки под iOS пока говорить нельзя, однако благодаря усилиям проекта LDC-iphone несложные приложения на D под iOS писать можно уже сегодня.

Тоже самое касается и основного компилятора DMD, который в последней версии получил базовую поддержку Obj-C.

Если все пойдет такими темпами, то в ближайшие под года D откроет для себя огромную нишу мобильных утсройств, что должно благотворно сказаться на его популярности.

4. Была создана некоммерческая организация D Language Foundation. Миссия заключается в содействии развитию сообщества D. Фонд отвечает за различные процессы в рамках сообщества D, включая разработку референсного компиляотра DMD, управление интеллектуальными правами, организацию конференций разработчиков, включая DConf, и сбор средств

5. После долгих профилактических работ вернулся к жизни dlang.ru

6. Веб-фреймворк vibed сменил несколько версий и продолжил курс на повышение модульности.

7. К выходу в печать готовится сразу несколько книг по программированию на D.

D Web Development

image

Learning D

image

Несколько месяцев назад в бумажном виде вышла замечательная книга Ali Çehreli «Programming in D». От себя добавлю, что всячески рекомендую эту книгу. С ее бесплатной версией можно ознакомиться тут.

8. На D был написан самый быстрый парсер Json в мире fast, обогнавший почти в два раза самую быструю реализацию парсера Json на С++.

image

9. Вышел полноценный бининг к библиотеке графических приложений SFML.

10. Обновился биндинг к Qt/QML DOtherSide
Tags:d
Hubs: Programming
+11
7.6k 21
Comments 19
Ads
Top of the last 24 hours