- PVSM.RU - https://www.pvsm.ru -
Предлагаю вашему вниманию дайджест интересных событий из мира 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/
Нажмите здесь для печати.