- PVSM.RU - https://www.pvsm.ru -

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

Предлагаю вашему вниманию дайджест интересных событий из мира D.

Событий за последнее время произошло не мало.

Новости языка

1. Состоялся новый релиз компилятора dmd 2.067.
Среди основных новшеств — значительные улучшения в скорости работы GC. В некоторых случаях количество потребляемой памяти сократилось в два раза. Появилась экспериментальная поддержка полного отключения GC:

app "--DRT-gcopt=profile:1 minPoolSize:16" arguments to app


Ассоциативные массивы теперь можно перебирать при помощи метода byKeyValue:

void main()
{
    auto aa = ["a": 1];
    foreach (pair; aa.byKeyValue)
    {
        assert(pair.key == "a");
        assert(pair.value == 1);
    }
}

В стандартная библиотека была расширена модулем для логирования.

import std.experimental.logger;

void main()
{
    log("message logging in D");
}

Полный список изменений можно посмотреть в changelog [1].

2. Значительный прогресс произошел в разработке проекта Calypso [2]. В настоящий момент Calypso представляет из себя форк компилятора LDC, позволяющий напрямую использовать библиотеки C/C++ без необходимости создавать специальные биндинги. В ближайшие дни ожидается выход первой версии Calypso, а в перспективе ожидается его слияние с основной веткой LDC.

3. Судя по всему, текущая версия DMD (референсного компилятора D) станет последней версией, написанной на С++. Месяц назад было объявлено, что процесс конвертации С++ в D для ветки DDMD практически завершен и теперь DDMD проходит все тесты.

4. Активно продолжает развитие компилятор SDC [3], который представляет из себя крайне легковесный и быстрый компилятор D, написанный на чистом D, который способен работать в виде библиотеки. В настоящий момент при размере компилятора 30K строк компилятор реализует более 80% возможностей языка, исходный код референсной версии которого (DMD) насчитывает более 300K строк кода.

5. Усилиями проекта ldc-iphone-dev [4] достигнут определенный прогресс в поддержке ARM и возможности написания приложений под iOS с использованием D. Однако пока проект находится в статусе alpha.

Интересные проекты

1. Как многие слышали, D активно используется в области биоинформатики и других сфер, где требуется высокая производительность и обработка большого количества данных. Так, проект по разработке системы анализа данных генома Sambamba [5] опубликовал отчет о своих достижениях. На странице проекта можно найти обоснование выбора языка и впечатление о его использовании.

2. Для D появился новый графический тулкит dlangui. Подробнее о нем можно почитать в данной статье на Хабре: «DlangUI — кросплатформенный GUI для D (Часть 1)» [6].

3. Появился биндинг для Ruby [7] (MRuby), позволяющий встраивать в код D Ruby.

4. Вышла новая версия PyD [8], позволяющая не только писать расширения для Python, используя D, но и встраивать в D код на Python.

5. Вышла новая версия веб-сервера vibe.d. vibe.d [9] — это крайне легковесный web-сервер на D, позволяющий создавать self-hosting сайты и не только.

6. Вышла новая версия высокопроизводительного движка Higgs, так же написанного на D. По некоторым тестам [10] Higgs обходит самый быстрый в настоящий момент движок от Google v8.

7. Появился аналог утилиты для GO gofmt. Называется dfmt [11].

8. Вышла новая версия игрового движка для 2D игр Dgame [12].

9. Обновились биндинги для графических тулкитов GTK [13] и Tk [14].

10. Вышла новая версия демона автодополнения и анализатора исходного кода DCD [15].

Автор: beduin01

Источник [16]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/programmirovanie/89290

Ссылки в тексте:

[1] changelog: http://dlang.org/changelog.html

[2] Calypso: https://github.com/Syniurge/Calypso/

[3] SDC: https://github.com/deadalnix/SDC

[4] ldc-iphone-dev: https://github.com/smolt/ldc-iphone-dev

[5] Sambamba: http://google-opensource.blogspot.nl/2015/03/gsoc-project-sambamba-published-in.html

[6] «DlangUI — кросплатформенный GUI для D (Часть 1)»: http://habrahabr.ru/post/253923/

[7] Ruby: http://code.dlang.org/packages/d_mruby

[8] PyD: http://code.dlang.org/packages/pyd

[9] vibe.d: http://vibed.org

[10] тестам: http://pointersgonewild.com/higgs/

[11] dfmt: https://github.com/Hackerpilot/dfmt

[12] Dgame: https://github.com/Dgame/Dgame

[13] GTK: https://github.com/gtkd-developers/GtkD

[14] Tk: https://github.com/nomad-software/tkd

[15] DCD: https://github.com/Hackerpilot/DCD

[16] Источник: http://habrahabr.ru/post/256131/