LINUX.ORG.RU

Сообщения Vudod

Планы разработки языка D3

Новости - OpenSource
Группа OpenSource

На днях в блогах разработчиков языка программирования D и его референсного компилятора dmd появилось сообщение о том, что ветка D2 вскоре будет заморожена и дальнейшие изменения вноситься не будут кроме исправляющих существенные и часто повторяющиеся ошибки. По совам главного разработчика D Уолтера Брайта это связано с тем, что D2 стал слишком стабилен и вносить в него новые свойства оказывается опасно. Другой разработчик --- известный программист Андрей Александреску выразил озабоченность тем фактом, что качество реализации D2 в dmd достигло такого уровня, когда он может быть использован для реализации конкретных прикладных проектов. По словам обоих авторов описанные выше проблемы являются непреодолимым препятствием для реализации в D2 новых, более современных концепций и передовых идей.

В связи с этим команда авторов D2 и компилятора dmd рассматривает варианты перехода на 3-ю ветку для внесения существенных изменений в структуру проекта. Основные проблемы D2 с точки зрения его дизайна по словам разработчиков следующие.

  • Слишком большая неопределённость и обилие типов. В частности, 3 типа юникода: char, wchar и dchar, 8 целочисленных типов данных, 3 с плавающею запятой. В качестве примера приводится язык Python, где в версии 3 оставлен всего 1 целочисленный, 1 действительнозначный и 1 юникодовый типы. Уменьшение числа типов способствует лучшей читаемости и поддержке кода и в то же время избавляет от ряда ошибок при переносе на другие архитектуры.
  • Недостаточная реализация концепции метапрограммирования. Проблема заключается в том, что компилятор нередко не знает, чего от него хочет программист, а тот не может объяснить это компилятору.
  • Поддержка целочисленных вычислений с большими числами. DВ настоящее время в D2 поддерживаются максимум 64 битные целые числа, что в будущем неизбежно приведёт к проблемам. Следует реализовать механизм поддержки целых чисел произвольного размера по аналогии с существующим типом real. При этом размер типа будет определяться на этапе компиляции, а не динамически, как в Python.
  • Поддержка "открытых" классов, к экземплярам которых можно добавлять новые поля и методы динамически во время работы программы. При этом будет реализован механизм памяти: каждый объект помнит свой исходных класс и знает все свои поля и методы, так что можно в реальном времени проверить, был ли добавлен нужный метод в данный объект или нет.

Вопрос об отделении ветки D3 будет рассматриваться после выпуска корректирующего обновления dmd 2.059 и 1.074.

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

Метки:

()

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

Новости - OpenSource
Группа OpenSource

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 архив с бинарниками.

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

Метки: ,

()

Matplotlib 1.1.0

Новости - OpenSource
Группа OpenSource

Вышла версия 1.1.0 Matplotlib — популярной библиотеки для построения графиков с использованием языка программирования Python. Основные изменения по сравнению с версией 1.0.1:

  • модуль sankey для рисования диаграмм;
  • окружение для создания анимированых графиков — модуль animation;
  • автоматизация позиционирования графиков, подписей и осей на холсте — команда tight_layout() позволит распределить их так, чтобы они не наезжали друг на друга;
  • продолжена работа по интеграции с PySide, хотя функционал всё ещё находится в beta-версии и рекомендуется по прежнему пользоваться PyQt4;
  • улучшено отображение и позиционирование легенд;
  • упрощена работа с трёхмерными графиками (модуль mplot3d), также существенно расширена и обновлена документация по mplot3d;
  • унифицированы маркеры;
  • полностью убрана поддержка старого модуля Numerix, теперь все пользователи должны использовать Numpy;
  • исправлен ряд ошибок.

Выпуск 1.1 — последний, сохраняющий совместимость с Python версий от 2.4 до 2.7. Последующие выпуски будут поддерживать только Python 2.6, 2.7 и 3.1 и более новые версии ветки Python 3.

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

Метки: , ,

()
Мини-новость: Официальный бэкпорт ядра 2.6.39 для Debian Stable [54 комментария (стр. 2)]

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

Новости - OpenSource
Группа OpenSource

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 ошибок различной природы.

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

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

Метки: ,

()
Мини-новость: Linux Mint Debian Edition переходит на новую систему обновлений [32 комментария]
Мини-новость: В Debian Sid состоялось обновление KDE [62 комментария (стр. 2)]

Очередная версия референсного компилятора языков 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 пакеты для обеих поддерживаемых архитектур.

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

Метки: , ,

()

Вышли новые версии оригинальных компиляторов языков D2 и D1

Новости - OpenSource
Группа OpenSource

На днях вышли новые версии оригинальных компиляторов языков программирования D2 и D1 от коллектива авторов.

Как обычно, внесены как изменения и дополнения в стандартную библиотеку D2, так и многочисленные исправления (это касается обоих компиляторов). Некоторые важные изменения:

  • Продолжено улучшение поддержки 64-битных систем Linux, теперь эта поддержка декларируется официально, исправлен ряд ошибок и регрессий, связанных с компиляцией под 64-битную архитектуру.
  • В стандартную библиотеку добавлен модуль std.datetime, заменивший собою модули std.date и std.gregorian.
  • Добавлена поддержка HTML5.
  • Добавлен новый генератор случайных чисел — Xorshift random generator.
  • Исправлены 68 ошибок и регрессий в D2, в том числе и очень старых.

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

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

Метки: ,

()

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

Новости - Linux General
Группа Linux General

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

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

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

Метки: , ,

()

По данным международной организации W3C доля Линукс достигла максимальной величины за всё время существования

Форум - Talks

По данным международной организации W3C (http://www.w3schools.com/browsers/bro...) в декабре 2009 доля Линукс достигла максимальной величины за всё время существования --- 4.5% (предыдущие рекордные значения 4.3% были отмечены в ноябре и июле 2009).

Ежемесячно (ранее раз в 2 месяца) W3C подводит свою статистику популярности браузеров и ОС в сети Интернет, данные за Декабрь 2009 стали доступны только сегодня. Доля Линукс по информации W3C неуклонно увеличивается и за 2009 год выросла с 3.8% до 4.5%.

Подробные данные о популярности ОС

Перемещено Aceler из Linux General

()