LINUX.ORG.RU

D


34

2

Всего сообщений: 45

Вышла новая версия языка программирования D (2.091.0)

Группа Разработка

Изменения в компиляторе:

  • Окончательно убран деаллокатор классов.
  • Возможность сообщать о номерах строк в стиле GNU.
  • Добавлена экспериментальная генерация заголовочников C++ из внешних (extern) объявлений C|C++: DMD теперь умеет писать заголовочные файлы C++, содержащие биндинги на объявления в существующих файлах D, помеченных как extern(C) или extern(C++).

Изменения в рантайме:

  • Добавлен пропущенный в некоторых местах pthread_attr_destroy.
  • Расширенные биндинги в core.sys.windows.security.
  • Добавлен core.stdcpp.memory.unique_ptr.
  • Добавлен TFD_TIMER_CANCEL_ON_SET.

Изменения в библиотеке:

  • std.bigint теперь @safe.
  • Замена approxEqual на isClose в std.math.
  • Удалён устаревший std.format.Mangle.
  • Удалены устаревшие структуры ByLine, ByChunk, ByRecord из std.stdio.
  • std.algorithm.sorting.schwartzSort теперь поддерживает и бинарные функции трансформации.
  • Добавлена curry в std.functional.

Изменения в инсталляторе:

  • Скрипт инсталляции теперь может исполняться на Windows.

Изменения в Dub:

  • Добавлена переменная окружения SOURCE_FILES.
  • У DUB теперь стиль дополнения zsh.

>>> Подробности

 ,

next_time
()

Язык D включен в коллекцию компиляторов GNU (gcc 9)

Группа Разработка

GCC 9.1 будет первым стабильным релизом с поддержкой GDC.

Его выход ожидается приблизительно в конце первого квартала 2019 г.

Код для поддержки GDC включает библиотеку libphobos (D run-time library) и фреймворк для тестов D2.

Поддержка D потребовала внесения изменений в приблизительно 1 миллион строк кода.

>>> Подробности

 

Bobby_
()

Вышла DlangIDE 0.8

Группа Разработка

Вышел новый релиз кроссплатформенной IDE DLangIDE. DlangIDE основана на графическом тулките dlangui, который к настоящему моменту позволяет создавать достаточно сложные графические приложения.

В новом релизе DlangIDE исправлено более 50 ошибок и завершена интеграция с DCD обеспечивающего автодополнение кода. В следующих версиях планируется интеграция инструментов для проверки кода в режиме реального времени таких как DScanner.

>>> Подробности

 , ,

Xroft
()

Релиз D 2.076.0

Группа Разработка

Команда разработчиков D с великим удовольствием объявляет о выходе новой стабильной версии DMD: 2.076.0

D — это язык программирования общего назначения, мультипарадигменный, быстрый, стабильный.

( читать дальше... )

>>> Подробности

 ,

umren
()

Язык программирования D одобрен для принятия в GCC

Группа Open Source

Дэвид Эделсон (David Edelsohn), руководитель группы оптимизации GCC в IBM Research, объявил об одобрении включения рантайма и фронтенда для языка программирования D в состав GCC. Ментейнером назначен Ян Буклав (Iain Buclaw), основной разработчик GDC, работающий в Sociomantic Labs.

GDC — это реализация компилятора языка D под лицензией GPL, использующая бэкенд GCC. Проект был основан Давидом Фридманом (David Friedman) в 2004 году. Сейчас разработкой руководит Ян Буклав, присоединившийся к проекту в 2009 году.

Какая версия GCC получит поддержку D, пока неизвестно.

>>> Сайт проекта GDC

>>> Сообщение в рассылке GCC

 ,

Weres
()

Вышла первая версия аналога OpenCV — DCV 0.1

Группа Open Source

Состоялся релиз первой версии компьютерного зрения DCV. DCV является аналогом OpenCV, написанным на языке D. В отличие от OpenCV, DCV — крайне компактная и простая библиотека. В настоящий момент исходные коды системы занимают всего 1 MB, однако, несмотря на свои крайне компактные размеры, DCV поддерживает не только работу со статическими изображениями, но и захват видео.

Настоящая версия DCV фактически является фреймворком для построения систем компьютерного зрения и позволяет легко внедрять в себя новый функционал.

DCV базируется на крайне удобной библиотеке работы с многомерными массивами — ndslice, которая является более функциональным аналогом Numpy из Python.

С примерами работы системы можно ознакомиться в официальном репозитории проекта.

>>> Подробности

 , dcv,

Xroft
()

dub 1.0

Группа Open Source

Состоялся релиз dub 1.0 — пакетного менеджера и системы сборки для языка программирования D.

Основные изменения:

  • реализована поддержка однофайловых пакетов, включая поддержку скриптов с #!;
  • компилятор DMD в официальных сборках обновлен до 2.071.0;
  • удалены все устаревшие возможности из API, интерфейса командной строки и форматов данных;
  • теперь для использования на OS X необходима версия ОС 10.7 или выше;
  • dub переведен на использование std.stdio вместо std.stream;
  • исправлено множество ошибок.

>>> Подробности

 , dub

cetjs2
()

Вышел компилятор языка D LDC 1.0

Группа Open Source

Данное событие является очень важным в расширении применения языка D. Благодаря компилятору LDC у D теперь появилась полная поддержка архитектуры ARM и практически полная поддержка разработки под Android (включая графические приложения на базе dlangui). Также LDC поддерживает линковку с Objective-C-кодом. На данный момент доступны готовые сборки как под Windows, так и под Linux.

Следует отметить, что LDC основан на LLVM и позволяет генерировать хорошо оптимизированный код, значительно более оптимизированный, чем при использовании референсного компилятора dmd. Данная версия LDC базируется на LLVM 3.8.0.

>>> Подробности

 ,

Xroft
()

Вышла первая версия компилятора D, написанная на D

Группа Open Source

Сегодня состоялся очень важный релиз компилятора языка D — DMD 2.069.0. До настоящего момента компилятор D был написан на С++, однако новая версия теперь написана на самом D. Процесс конвертации исходного кода с С++ на D занял значительный промежуток времени, однако позволил многократно упростить поддержку компилятора.

Значительным улучшениям подверглась стандартная библиотека Phobos. Теперь ещё больше функций в ней были рэнджефицированы (ranges — концепция, позволяющая упростить доступ и переборку элементов структур и классов).

DMD теперь поддерживает формат mscoff, используемый в библиотеках VS2015.

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

Для пользователей Linux выложена первая пробная версия компилятора Calypso, позволяющая в D использовать практически все существующие С++-библиотеки, даже такие большие и сложные, как Qt5 и Ogre3D.

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

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

Противники и сторонники сборщика мусора (GC) могут ознакомиться с дискуссией о том, что безопасную сборку мусора невозможно реализовать на базе исключительно библиотечных функций.

Новая версия сервера DCD, реализующая автодополнения исходного кода, также готова к использованию с новой версией DMD.

>>> Подробности

 

Xroft
()

Парсер JSON, написанный на D, стал самым быстрым парсером JSON в мире

Группа Open Source

Долго время производительность JSON-парсера на D оставляла желать лучшего. Однако в последнее время ситуация начала меняться. На смену устаревшему парсеру std.json пришел новый экспериментальный парсер stdx.data.json, нацеленный на включение в Phobos. Однако несколько дней назад вышел релиз нового экспериментального парсера fast, который не только обошел все другие реализации, но и сделал парсер JSON на D самым быстрым парсером в мире, обгоняя парсер на Python в более чем 6 раз по памяти и в 14 раз по скорости. Ниже приведены замеры его производительности.

Language 	Time,s 	Memory, Mb
D Gdc Fast 	0.34 	226.7
C++ Rapid 	0.79 	687.1
C++ Gason 	0.83 	582.2
Rust 	 	1.26 	234.7
Crystal Schema 	1.62 	293.2
Crystal 	2.59 	1061.4
Crystal Pull 	2.70 	1.2
Nim Clang 	3.30 	1280.3
Nim Gcc 	3.57 	1284.0
Python Pypy 	4.99 	1365.4
C++ LibJson 	5.49 	2796.3
Go 	 	6.07 	479.4
Ruby YAJL 	8.23 	1085.5
Python 		9.85 	1409.1

>>> Подробности

 ,

Xroft
()

Книга «Programming in D» доступна в бумажном варианте

Группа Документация

Книга «Programming in D» доступна в бумажном варианте!

Популярный бесплатный онлайн-учебник теперь можно заказать в печатном виде за $28.50.

( читать дальше... )

>>> Подробности

 

tired_eyes
()

Экспериментальная поддержка С++ компилятором LDC

Группа Open Source

Одной из главных проблем затрудняющих переход программистов С++ на D является отсутствие возможности простой работы с уже написанными библиотеками на С++.

Проект Calypso призван решить эту проблему и дать программистам D возможность прямого взаимодействия с С++ кодом без необходимости создания соответсвующих оберток. Calypso базируется на компиляторе LDC и к настоящему моменту поддерживает: - глобальные переменные - функции - структуры - перечисления - виртуальные вызовы функций - наследование классов и многое другое

В настоящий момент рассматривается возможность о перспективах слияния Calypso с основным компилятором DMD.

>>> Подробности

 calypso, ,

Xroft
()

Новый высокопроизводительный движок JavaScript Higgs

Группа Open Source

Вышла новая версия высопроизводительного движка JavaScript Higgs, написанного на D. Тестирование новой версии показало, что практически во всех тестах движок значительно обходит в производительности TraceMonkey и v8.

Результаты теста for-in loops:

  • Higgs 2.91s
  • V8 3.29.66 (baseline) 4.98s
  • V8 3.29.66 (Crankshaft) 4.95s
  • TraceMonkey 4.12s

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

>>> Подробности

 , ,

Xroft
()

Вышла новая версия компилятора языка D — DMD 2.066

Группа Open Source

К наиболее значимым изменениям можно отнести следующие:

  • Сделан большой прогресс в сторону реализации ручного управления памяти. Теперь в языке появился атрибут @nogc, который позволяет отключить сборщик мусора. Также добавлен ключ -vgc для вывода списка всех позиций выделения памяти для GC в коде.
  • Новая языковая конструкция extern (C++, namespace) теперь позволяет использовать прямые вызовы функций C++ из пространств имён.
  • Улучшен механизм автоматического определения типов в шаблонах. Шаблон вида «void foo(T)(T[] arr, T elem)» теперь может быть вызван как «foo(a, 1)», если a определено как «short[] a». Раньше было необходимо явно приводить 1 к типу short.
  • Реализована поддержка унифицированного синтаксиса создания для встроенных скалярных типов.

Также на днях вышла в свет новая версия компилятора LDC 0.14, работающего поверх LLVM.

Также стоит отметить большой прогресс со стороны компилятора SDC, реализованного на самом D.

>>> Подробности

 , , ,

Xroft
()

Вышел компилятор LDC 0.13.0

Группа Open Source

Вышла новая версия LDC — компилятора языка D основанная на виртуальной машине LLVM. От оригинального компилятора DMD LDC отличается более высокой скоростью работы, а так же поддержкой широкого набора архитектур. Так LDC поддерживает архитектуры ARM и PowerPC. Однако ввиду того, что стандартная библиотека Phobos пока не имеет полной поддержки сторонних архитектур полноценная разработка на D под ARM пока не возможна.

>>> Подробности

 , ,

anonymous
()

Tkd — кроссплатформенный GUI тулкит для D

Группа Open Source

Каждый программист, который писал приложения на таких языках как Perl, Ruby или Python, знает о существовании графического тулкита Tk. Tk обязан своей популярностью тем, что позволяет быстро и просто создавать графические приложения. Во многом именно благодаря этому тулкиту Python получил такое широкое распространение.

Сегодня программист из комьюнити D Gary Willoughby анонсировал порт тулкита Tk на язык D. Порт носит название Tkd. Ключевой особенностью Tkd является полная совместимость с документаций от оригинального Tk.

>>> Подробности

 , , , tkd

Xroft
()

Язык программирования Delight

Группа Open Source

Сегодня стало известно о возрождении языка программирования Delight. Delight представляет собой новый объектно-ориентированный язык, сочетающий в себе элементы синтаксиса языков Python, D, Haskell и Ada. Новая версия полностью переписана на D2.

В отличие от Python Delight является строго типизированным языком, однако допускает автоматическое определение типа с использованием ключевого слова auto. Так же как Python Delight использует ключевые слова как in, less than, and, equal to вместо математических операторов. Как и D Delight поддерживает юнит-тесты, а так же механизм assert'ов.

Пример кода:

procedure main:

    auto array = [ "a": 1, "b": 2, "c": 3 ]
    for key, element in array:

        if element in [ 0, 2, 4 ]:
            print key ~ "'s in!"

        else if element equal to 3:
            print add( element, 2 )

        else:
            print key ~ "'s out!"

    print { i * 2 for i in 0 .. 5 where i ^ 2 less than 5 }
    # prints [0, 2, 4]
Интересной возможностью является возможность использования исходного кода на D без модификации. Для этой цели применяется директива Passthrough.

Для программистов на Python, которым необходима интеграция с D существует обертка Pyd обеспечивающая возможность использования общего с Python API.

>>> Подробности

 , delight,

Xroft
()

GDC получил поддержку ARM

Группа Open Source

GDC — GNU версия фронтэнда для языка программирования D получила поддержку архитектуры ARM. В качестве бекэнда используется компилятор GCC. В настоящий момент поддержка ARM далеко не полная и в первую очередь акцентирована на программирование в Linux дистрибутивах работающих на архитектуре ARM. Однако уже сейчас компилятор успешно проходит все внутренние тесты. В ближайшее время планируется доработать поддержку программирования на Android и iOS, что позволит разработчикам использовать язык D для программирования смартофонов.

Это далеко не единственный прогресс в пользу поддержки языком архитектуры ARM. Буквально неделю назад было объявлено, что LDC (компилятор на базе LLVM) так же получил экспериментальную поддержку ARM.

>>> Подробности

 , ,

Xroft
()

Выход новой версии языка программирования D 2.065

Группа Open Source

D — объектно-ориентированный, императивный, мультипарадигмальный язык программирования, созданный Уолтером Брайтом из компании Digital Mars. Изначально был задуман как реинжиниринг языка C++, однако, несмотря на значительное влияние С++, не является его вариантом. В D были заново реализованы некоторые свойства C++, также язык испытал влияние концепций из других языков программирования, таких как Java, Python, Ruby, C# и Eiffel.

Список изменений версии 2.065:

  • Изменения в компиляторе:
    • Исходный файл на языке D может теперь запускаться если стоит параметр "-run"
  • Изменения в самом языке:
    • Команда «Goto» теперь не пропустит объявления переменных.
    • Все экземпляры функции теперь выводят свои атрибуты.
    • Добавлен новый квалификатор типа inout const.
    • Пакеты и имена модулей, сейчас не имеют типа.
    • Константы и неизменяемые поля с инициализаторами считаются устаревшими.
    • Устарели неупорядоченные сравнения с плавающей запятой.
  • Изменения в библиотеках:
    • Множество функций в std.algorithm могут быть использованы в качестве предикатов для других функций.
    • Позволяет std.algorithm.all быть использованым без предиката.
    • Добавлены std.uni.byGrapheme и std.uni.byCodePoint.
    • Добавлена поддержка любого количества аргументов, в std.range.only.

Более подробнее здесь.

Список багфиксов

>>> Сайт

 ,

fallout4all
()

Открыта регистрация на DConf 2014

Группа Open Source

Сегодня стало известно об открытии регистрации на одну из крупнейших конференций для программистов на языке D - DConf 2014. В настоящий момент начат прием предварительных заявок на участие в конференции с докладами. Конференцию проводят ведущие разработчики D при поддержке Facebook и Sociomantic.

В настоящий момент доклады планируется разделить на следующие секции:

  • Язык. Идиомы, техника программирования, новые подходы.
  • Инструменты программиста. Все что облегчает работу над кодом.
  • Опыт. Использование D в реальном мире.
  • Экспертам. Архитектура компилятора и структура стандартной библиотеки.
  • Актуальные темы. Дебаты о сборщике мусора, переходе на D с других языков, и дальнейших направлений развития языка.

Из уже заявленных докладов планируется доклад о разработке высоконагруженных решений на web-сервере Vibed.

Материалы DConf 2013 выложены в свободный доступ тут.

>>> Подробности

 ,

anonymous
()