LINUX.ORG.RU

D


35

2

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

Facebook платит за устранение багов в реализации языка программирования D

Группа Open Source

На данный момент размер вознаграждения за исправление багов в общей сложности насчитывает 1500$. Со слов Александреску, они будут внимательно смотреть, как это скажется на сообществе.

Одно из определений языка D: «D — это то, чем должен был быть С++». Вокруг языка сломалось уже много копий, но несмотря на это язык продолжает жить и развиваться, демонстрируя свои замечательные возможности и расширяя свое сообщество. Все больше разработчиков из мира С++/Java пристально следят за развитием языка и стараются держать руку на пульсе. Должен отметить, что сообщество D не является ортодоксальным и фундаменталистким (что бы это ни значило), и нередко в ньюсгруппах можно увидеть, что в ответ на вопрос, можно ли использовать D для решения определенной задачи, члены сообщества рекомендуют задавшему вопрос использовать другой язык, отличный от D. Так что в лице сообщества D любой найдет грамотных специалистов своего дела, готовых ответить на нужный вопрос кратко и по существу. Все это делает развитие языка неизбежным и неотвратимым.

Список багов с ценами за их устранение

>>> Оригинал новости

 ,

yetanother
()

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

Группа Open Source

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

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

Важной вехой в развитии языка стало начало использования его в компании FaceBook.

В настоящий момент идет активное расширение функциональности системной библиотеки Phobos и работа над созданием универсального кросплатформенного графического тулкита D-Quick

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

 ,

Xroft
()

Появилась поддержка языка D в редакторах KDE и IDE KDevelop

Группа Open Source

David <d@dav1d.de> сообщил о разработке поддерживающего язык программирования D плагина автодополнения «Lumen» для компоненты KTextEditor.

Таким образом, редакторы в KDE4 (например, Kate, а также среда программирования KDevelop) получают поддержку D, включая:

  • автодополнение;
  • семантический анализ;
  • прямую интеграцию с GDB.

Компонента использует сервер автодополнения DCD.

>>> Страничка проекта на GitHub

 , ,

glebiao
()

Компилятор языка D будет переписан с С++ на D

Группа Open Source

Проект набирающего популярность языка D стал достаточно зрелым чтобы отказаться от использования С++. Как сообщает один из его авторов, Андрей Александреску (Andrei Alexandrescu), в ближайшее время будет начат проект по переписыванию компилятора языка D с С++ на D. Это позволит не только более полно использовать весь потенциал самого D, но и решить ряд проблем местами не слишком красивой архитектуры компилятора.

Проект будет разбит на три этапа. На первом будет написано приложение, позволяющее генерировать корректные заголовки для С++ из модулей D. На втором кодовая база на языке D будет увеличиваться, результатом чего будет существование совместно С++ и D-кода, а на третьем этапе все модули с С++ будут переписаны на D, что в результате даст компилятор D, написанный на самом D.

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

 , ,

Suliman
()

Попытка реинтеграции компилятора D в состав GCC

Группа GNU's Not Unix

Как можно заключить из сообщений в рассылке разработчиков gcc, к версии gcc 4.8 будет предпринята попытка официально ввести в состав gcc gdc — свободную реализацию компилятора языка D (digitalmars D).

D позиционируется как «системный язык программирования высокого уровня» и предоставляет как высокоуровневые возможности, включая присущие динамическим языкам, так и позволяет при необходимости задействовать характерные для системного программирования низкоуровневые особенности, включая ручное управление памятью. В известной степени D можно считать наследником C++, избавленным от неоднозначностей.

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

D не накладывает жёстких парадигменных ограничений и позволяет записывать код в обобщённом, объектно-ориентированном, функциональном и процедурном стилях, а так же их комбинации. Штатно предоставляются полные средства интроспекции. Дополнительно компилятор несёт в себе нечто вроде интерпретатора языка, позволяющего динамически добавлять/изменять методы во время исполнения.

Имеются средства прямого вызова функций, реализованных на языках C и C++.

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

Свободно доступен референсный компилятор dmd, однако он предназначен, скорее, для исследовательских целей. Появление штатного фронтенда D в наборе gcc позволяет надеяться на переход от чисто экспериментального применения этого интересного и мощного языка к широкому внедрению.

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

 , ,

glebiao
()

Новая версия референсного компилятора языка D2

Группа Open Source

13 декабря вышла новая версия 2.057 dmd — референсного компилятора языка программирования D версии 2 от компании DigitalMars. Основные изменения (первоисточник):

  • Оптимизации работы на 64-разрядных архитектурах, в частности, улучшения алгоритма использования регистра XMM, добавление поддержки March-O для obj2asm и dumpobj, исправление нескольких ошибок оптимизации, характерных исключительно для 64-разрядных систем: 7026, 6997, 6354.
  • Произведена чистка дублирующего функционала — объявлены устаревшими целый ряд функций или их вариантов в модулях стандартной библиотеки:
    • убран идентификатор invariant, который дублировал функционал immutable;
    • из двух вариантов std.array.replace оставлен только тот, который создаёт новый массив, замена на месте теперь производится только с помощью std.array.replaceInPlace;
    • toISOExtendedString и fromISOExtendedString заменены на toISOExtString и fromISOExtString соответственно;
    • вместо std.file.getTimesPosix следует использовать универсальную функцию std.file.getTimes;
    • варианты функций isDir, isFile и isSymlink из std.file, принимавшие в качестве аргумента целое беззнаковое число, убраны в пользу attrIsDir, attrIsFile и attrIsSymlink (варианты с аргументом в виде строки оставлены).
    Как всегда, изменения пока носят не окончательный характер, при использовании старых форм выдаётся предупреждение, препятствующее компиляции, которое вы можете игнорировать. Полное удаление запланировано на май 2012 (см., например, replace)
  • Убрана декларация typedef, как следствие, перестанут работать некоторые механизмы, которые были завязаны на неё, например, некоторые варианты std.conv.to.
  • Произведён большой пересмотр реализации модуля std.regex.
  • Как всегда исправлены около сотни ошибок библиотеки и компилятора.

На сайте загрузки доступны пакеты для ubuntu (работает и на debian), fedora и opensuse для архитектур i386 и amd64, а также универсальный zip архив с бинарниками.

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

 ,

Vudod
()

Вышла очередная референсная реализация компиляторов языков D1 и D2

Группа Open Source

10 июля стала доступна для загрузки очередная референсная реализация компиляторов языков D1 и D2. Как повелось с предыдущего выпуска, готовы пакеты для Ubuntu, Fedora, и openSUSE, как 32-х, так и 64-хбитные.

Некоторые нововведения:

  • введены атрибуты @safe, @property, сделан автоматический интерфейс для @safe, pure, nothrow;
  • В inline assembler добавлена поддержка инструкций SSSE3;
  • добавлены новые предупреждения о свойствах, подлежащих удалению, часть свойств объявлены удалёнными;
  • расширены ядро языка и стандартная библиотека, в частности, добавлены core.sys.posix.netdb, td.array.uninitializedArray, std.array.minimallyInitializedArray;
  • часть функций, в первую очередь в модулях std.string и std.uni, была переименована для соответствия с разработанными правилами именования, старые названия частично сохранены для совместимости, но будут удалены из последующих версий;
  • добавлена возможность использовать логические переменные в качестве ключей в ассоциативных массивах, ранее с этою целью можно было использовать только целые числа и строки.

Авторы также рапортуют об устранении 127 ошибок различной природы.

Подробный список изменений можно посмотреть на официальном сайте.

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

 ,

Vudod
()

Очередная версия референсного компилятора языков D1/D2

Группа Проприетарное ПО

Вышла очередная версия референсного компилятора языков D1/D2 от DigitalMars.

Основные улучшения и изменения в языке D2 и его стандартной библиотеке:

  • Полностью реализована поддержка 64-битной архитектуры для Линукса, теперь представляются отдельные инсталляционные пакеты для 32-х и 64-хбитных архитектур (то же справедливо и для D1).
  • Модуль std.intrinsic перенесён в ядро и теперь называется core.intrinsic.
  • Добавлены средства для работы с сетью --- модули etc.c.curl для работы с libcurl и std.net.isemail.
  • Добавлены дополнительные средства для параллельного программирования --- модуль std.parallelism.
  • Модули std.algorithm и std.range дополнены новыми функциями, частично оптимизированы, для std.algorithm обновлено описание.
  • Убран модуль std.iterator, вместо которого предлагается использовать std.range.ElementType либо std.range.ElementEncodingType.

Устранено около сотни ошибок в том числе 14 ошибок стандартной библиотеки и 3 ошибки рантайма.

Кроме этого, следует отметить, что теперь для пользователей Fedora и SUSE собраны отдельные rpm пакеты для обеих поддерживаемых архитектур.

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

 , digital mars,

Vudod
()

Вышла очередная сборка референсного компилятора языка D

Группа Linux General

На днях (хотя на официальном сайте новость от 7 ноября) стала доступна для скачивания очередная сборка референсного компилятора языка D: D2.051 для разрабатываемой ветки и D1.066 для стабильной.

В новой версии D2 устранена 71 ошибка и расширен функционал. В частности, в стандартной библиотеке появился модуль std.mathspecial, куда из std.math перенесены существовавшие специальные функции и добавлены новые. Проведена существенная доработка реализации функций модуля std.math: теперь практически все функции чистые и не бросают исключений. Полный список изменений.

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

 , ,

Vudod
()

Андрей Александреску на конференции ACCU

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

Выступая на конференции ACCU Silicon Valley, Андрей Александреску в свободной манере рассказал о некоторых особенностях языка D, попутно сравнивая D и C++. Вкратце, Андрей рассказал о корректности, обобщенном программировании и перегрузке операторов в языке D.

В качестве заключения Александреску отмечает, что D является неплохим средством как для системного, так и для прикладного программирования.

>>> Слайды выступления

 ,

ksv
()

Андрей Александреску, The Case for D

Группа Open Source

Перевод статьи The Case for D, выполненный сообществом сайта http://dprogramming.ru/d/

Мы, программисты, — странный народ. Достатчно взглянуть на то, как мы выбираем любимые языки и придерживаемся этих предпочтений в дальнейшем. Ожидаемая реакция программиста, заметившего на полке книжного магазинаиздание “Язык программирования XYZ” — “Даю себе ровно 30 секунд, чтобы найти в нём что-нибудь, что мне не понравится”. Изучение языка программирования требует времени и усилий, а результаты появляются не сразу. Попытка избежать этого — проявление инстинкта выживания. Ставки высоки, вложения рискованны, так что лучше уметь принимать быстрое решение “против”.

Изучение нового языка программирования может представлять интерес только в том случае, если язык удовлетворяет принципам, которые программист высоко ценит. Любое несовпадение создаёт у программиста впечатление небрежного и небезопасного или же навязчивого и нудного языка. Язык не может одновременно устраивать всех и каждого, он должен аккуратно выбирать основные координаты, позиционируя себя среди языков программирования.

>>> Перевод (pdf)

 , ,

naryl
()

DMD 1.050 и DMD 2.035

Группа Open Source

Не так давно вышел эталонный компилятор эффективного и производительного языка программирования D. Вот список основных изменений за последние несколько релизов:

  • Поддержка solaris.
  • Снижение ограничений на функции, выполняющиеся при компиляции.
  • Вывод информации о символах в формате json при передаче ключа -X
  • Обнаружение некоторых null-pointer dereference'ов при компиляции.
  • Глобальные переменные теперь thread-local по умолчанию
  • Около сотни багфиксов и добавления в стандартной библиотеке.

В подробностях ссылки на полную историю изменений и архивы.

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

 , ,

naryl
()

Брам Муленаар представляет Зимбу

Группа Open Source

Bram Moolenaar, автор Vim, представил вниманию общественности новый экспериментальный язык программирования Zimbu.

Язык предназначен для написания новых программ, например текстовых редакторов, и сочетает в себе полезные идеи из Java, Python, C, C++, D, Ruby, Boo и Groovy (в порядке убывания полезности), избегая при этом присущих этим языкам недостатков.

Интересными находками следует признать встроенный в язык контроль стиля (например, отсутствие пробелов вокруг знака «=» приводит к ошибке компиляции) и использование закрывающей фигурной скобки в качестве ограничителя блоков кода — например hello.zu выглядит так:

MAIN()
  IO.write("Hello, World!\n")
}

В настоящее время доступен транслятор Zimbu в C, способный скомпилировать собственный код, ведется работа над ZWT (Zimbu Web Toolkit) и Zim (тектовый редактор).

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

 , , , , , , , ,

Bsd-un
()

LDC 0.9.1

Группа Open Source

Тихо и незаметно вышла очередная версия компилятора D, использующего LLVM в качестве бэкенда. Судя по результатам тестов его можно использовать как drop-in замену DMD в подавляющем большинстве случаев. В этом релизе было пофикшено великое множество багов:

  • стабилизирован на x86-64
  • реализована поддержка inline asm
  • реализована кросс-компиляция

Реализована поддержка следующих платформ:

  • Linux
  • Windows (кроме обработки исключений)
  • Поддержка MacOS и FreeBSD в тестовой стадии.

И процессорных архитектур:

  • x86
  • x86-64 (только Linux)
  • PowerPC
  • Поддержка ARM и Sparc в тестовой стадии

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

Source.

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

 ,

naryl
()

DMD 2.029

Группа Open Source

Очередной релиз языка D.

На сей раз обширные изменения коснулись стандартной библиотеки:

  • std.algorithm
  • std.array
  • std.bitmanip
  • std.contracts
  • std.conv
  • std.date
  • std.file
  • std.format
  • std.functional

... и.т.д

+ исправлены некоторые ошибки.

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

 , ,

bose
()

Язык D доступен для FreeBSD

Группа BSD

Официальная сборка компилятора и рантайм-библиотеки прекрасного языка D теперь доступна и для FreeBSD. Обещана поддержка FreeBSD 7-й версии.
Порт компилятора языка D второй версии пока не готов, т.к., по словам одного из авторов языка, Уолтера Брайта, необходимо провести большую работу по портированию библиотек D.

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

>>> Источник - dprogramming.ru

 , ,

k0l0b0k
()

DMD 1.041 и DMD 2.026

Группа Open Source

К новому релизу свободного официального компилятора свободного языка программирования D, разрабатываемого несколькими гуру C++ в свободное время произошли следующие изменения:

  • Опубликован исходный код всего компилятора, включая backend. Большая часть под GPL или Artistic License, но часть - Public Domain и DMD License.
  • Увеличена точность математических функций на MacOS X и в три раза увеличена их скорость на всех платформах.
  • Возможность обьявлять структуры вложенные в функции с доступом к контексту. (Только DMD 2.026)
  • Множество исправленных ошибок.

DMD 1.041 Changelog

DMD 2.026 Changelog

Прямая ссылка на архив DMD 1.041

Прямая ссылка на архив DMD 2.026

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

 , , ,

naryl
()

OpenMW 0.6

Группа Игры

Вышел OpenMW 0.6, свободная реализация Morrowind, использующая D и OGRE.

В новой версии:

  • Добавлена система MyGUI для отрисовки пользовательского интерфейса в стиле Morrowind. (по ссылке есть видео)
  • Закончена работа над MonsterScript - скриптовый язык, разработанный для разработки игр.
  • Исправлены баги со звуком в Windows версии.

Полный changelog доступен по ссылке.

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

 ,

Theif
()

QtD 0.1

Группа Open Source

Вышел первый релиз QtD — биндинга языка D к фреймворку Qt. Уже работает более чем 150 Qt классов из core, gui и opengl.

Полный список

QtD использует tango и распространяется под GNU GPL v3. Сейчас можно собрать только под GNU/Linux.

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

 ,

Theif
()

Вышел Descent 0.5.4

Группа Open Source

Descent это плагин для Eclipse, представляющий из себя IDE для разработки на D.

Некоторые возможности, предоставляемые Descent:

  • Подсветка синтаксиса.
  • Автоматическое форматирование кода.
  • Автодополнение.
  • Показ исходного кода функции (shift+hover).
  • Переход к определению (ctrl+hover).
  • Частичная поддержка вычисления compile-time функций (ctrl+shift+hover).
  • Показ неактивного кода серым цветом.
  • Просмотр структуры кода (Outline view).
  • Автоматическая генерация комментариев (параметры функции, автор, и т.д.)
  • Запуск и отладка программ в IDE.
  • Просмотр информации, доступной при компиляции (Compile-time view). Позволяет просматривать, во что разворачиваются шаблоны, какой тип используется при испольозвании auto, какие функции вызываются при перегрузке операторов и т.д.

Descent полностью поддерживает D 1.0 и частично D 2.0.

Видео, показывающее возможности Compile-time view.

>>> Анонс новой версии

 , , , ,

Legioner
()