LINUX.ORG.RU

Программирование


43

0

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

Выход новой версии языка программирования 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
()

Вышел J801

Группа Open Source

Вышла восьмая мажорная версия интерпретатора J.

Ядро языка осталось нетронутым, основные изменения коснулись средств создания графического интерфейса пользователя и, соответственно, стандартной IDE: wd (window driver, GUI тулкит J) переписан на Qt.

Появились пакеты для Raspberry Pi (включая Raspbian), Android (предыдущая версия для этой ОС долгое время не обновлялась).

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

 , jlang,

buddhist
()

Доступны первые три выпуска нового подкаста EaxCast

Группа Интернет

EaxCast — это новый подкаст о программировании и смежных темах на русском языке. Ведущие делают особый акцент на «немейнстримовых» технологиях, таких, как функциональное программирование и NewSQL базы данных. Новые эпизоды продолжительностью около 20 минут публикуются раз в две недели. Каждый выпуск сопровождается полной текстовой расшифровкой с ссылками на дополнительные материалы.

На данный момент доступны для прослушивания первые три эпизода:

Всего в первом сезоне планируется сделать 6-7 выпусков. Если наберется достаточно много слушателей, последует второй сезон.

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

 , ,

CruZ
()

Mercury 14.01

Группа Open Source

Ещё 10 февраля вышла новая версия языка Mercury — 14.01. Мажорные релизы называются по номеру года и месяца запланированного выпуска, предыдущий был 13.05.

Mercury — это логический и функциональный язык программирования, похожий на Prolog, но с поддержкой компиляции в машинный код, чистыми предикатами, со строгой статической типизацией, явным объявлением детерминизма предикатов, с функциями (а не только предикатами), встроенным каррированием и другими новшествами.

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

  • Могут повторяться переменные типов в объявлении экземпляров классов типов (type class instances). Например:
    instance foo(list(T), map(T, T)).
  • Ряд улучшений в стандартной библиотеке, особенно связанных с функциями свёртки списков (см. полный список).
  • Исправлены проблемы совместимости с GCC 4.8 (а также с Visual Studio 2013 и Mac OS X 10.9).

Сайт Mercury

Скачать

>>> Примечания к выпуску 14.01

 logic programming, , , ,

proud_anon
()

Книги со свободной ценой от Books.ru

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

На сайте books.ru выставлено небольшое (181) количество наименований со свободной ценой. Для совершения покупки достаточно заплатить любую сумму больше нуля.

Большая часть литературы не нова, однако есть и вполне интересные на данный момент книги.

>>> Удачных покупок!

 ,

TheKnight
()

Вышла бесплатная книга «Beginning with Code_Aster»

Группа Linux General

Недавно, 7-ого декабря, вышла в свет бесплатная книга о Code_Aster за авторством Jean-Pierre Aubry.

Code_Aster — это открытый пакет для решения широкого спектра задач методом конечных элементов. Разработка ведется в EDF. Изначально код был закрыт, но начиная с 2001-ого года пакет распространяется под лицензией GNU General Public License. Документация к программе на французском языке и содержит около 17000 страниц, кроме этого доступна документация и на английском, но это машинный перевод с французского, что затрудняет чтение и понимание.

В опубликованной книге рассмотрены различные вопросы решения задач механики твердого тела с использованием различных видов конечных элементов.

Кроме практических примеров, можно также найти и некоторые методические указания.

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

Бумажная версия книги доступна за 58 евро, электронная версия в формате PDF бесплатна для скачивания. Кроме этого доступны исходники книги в формате LaTeX. Замечание от автора относительно LaTeX версии: «open-source documents for an open source software!»

>>> Ссылка для скачивания

 , , ,

k155la3_1-7_BY
()

EFL 1.8

Группа Open Source

Представлен стабильный релиз набора библиотек EFL (Enlightenment Foundation Library) версии 1.8, компоненты которого составляют основу проекта Enlightenment.

Основные изменения в этой версии:

  • Все библиотеки, входящие в состав EFL, за исключением Elementary объединены в одно дерево разработки и поставляются как единый пакет. Туда также добавлены: Eldbus — написанная заново библиотека для работы с dbus, заменившая собой E_dbus; EPhysics — обёртка для простой интеграции Bullet в программы на EFL.
  • В EFL встроена объектная модель, имя которой Eo. Эта модель предоставляет: наследование объектов, интроспекцию, слабые и сильные ссылки, а также унифицирует прототипы функций обратного вызова. Кроме того, Eo помогает уйти от прямой работы с памятью в коде, вместо этого программист манипулирует дескрипторами объектов Eo.
  • Для Elementary написана новая тема оформления, аналогичная той, что появилась ранее в EFL с выходом версии 1.7. Теперь все программы на EFL и Elementary должны иметь унифицированное оформление по умолчанию.
  • В Evas появилась возможность генерировать миниатюры для офисных документов, используя LibreOffice.
  • Поддержка Wayland доведена до состояния пригодного для повседневного использования.
  • В Evas программная отрисовка по умолчанию теперь производится асинхронно.
  • Поддержка аудио. В том числе добавлена поддержка звуковых эффектов в темах оформления.

Кроме этого, доступна альфа-версия Enlightenment 0.18.

Сайт проекта Enlightenment

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

 , ,

GArik
()

Вышла библиотека MathGL 2.2

Группа Open Source

Платформонезависимая библиотека MathGL предназначена для построения широкого спектра графиков (кривых, поверхностей, поверхностей уровня и т.д.). Есть возможности экспорта графики в растровые (PNG, JPEG) или векторные (EPS, SVG, TeX, OBJ, PDF) форматы и рисование в консольном режиме.

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

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

 , , , ,

abalakin
()

QCustomPlot 1.1.0

Группа Open Source

4 ноября 2013 года вышла версия 1.1.0 библиотеки для построения двухмерных графиков (и не только) для Qt/C++. Главное изменение в новой версии — поддержка Qt 5.1 и 5.2 (beta1).

QCustomPlot — это достаточно молодая, но уже достаточно зрелая библиотека, позволяющая производить построение графиков как являясь частью интерфейса приложения (в качестве виджета или элемента QTextDocument), так и с выводом в файл (поддерживаются растровые и векторные форматы). Библиотека является довольно производительной и хорошо подходит для обновления графиков из поступающих в реальном времени данных.

QCustomPlot развивается активнее, чем свой прямой конкурент Qwt, и хотя ещё и не доросла до неё по функционалу, но подаёт очень большие надежды.

Основным разработчиком QCustomPlot является немец Emanuel Eichhammer. Библиотека распространяется под лицензией GPLv3, но автор упоминает возможность распространения под другими условиями с его персонального разрешения (например, под LGPL).

Сайт проекта

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

>>> Список изменений

 , , , ,

Obey-Kun
()

Valgrind 3.9.0

Группа Open Source

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

  • Поддержка Linux на MIPS64, в обоих форматах: BE и LE.
  • Поддержка MIPS DSP ASE на MIPS32.
  • Поддержка десятичной арифметики с плавающей запятой на s390x.
  • Поддержка инструкций POWER8.
  • Поддержка инструкций Intel AVX2.
  • Поддержка расширений для синхронизации транзакционной памяти на платформе Intel: и RTM, и HLE.
  • Начальная поддержка аппаратной реализации транзакционной памяти на платформе POWER.
  • Улучшена поддержка Mac OS X 10.8.
  • Valgrind больше не отображает в память разделяемые объекты целиком при чтении из них отладочной информации, а читает их небольшими фиксированными порциями.
  • В Memcheck улучшена поддержка векторизованного кода, что должно вести к сокращению ложных сообщений об ошибках.
  • В Memcheck добавлены опции для более точного определения, какие типы утечек памяти отображать, считать ошибками, или подавлять.
  • В Memcheck добавлены эвристики для более точного определения возможных утечек памяти.
  • В Helgrind устранены ложные ошибки, связанные с использованием статически инициализированных мьютексов и условных переменных, а также с таймаутом в функции pthread_cond_waits().
  • Добавлен новый экспериментальный информационный сервер для дистанционной отладки. Valgrind может считывать отладочную информацию с другой машины, где лежат объекты с отладочной информацией. Это необходимо при запуске Valgrind'а на устройствах с ограниченными ресурсами, таких как телефоны и планшеты.
  • Улучшен монитор gdb-сервера, добавлены новые команды.
  • Максимальное количество памяти, с которой может работать Valgrind на 64-битных системах, увеличено до 64 ГБ, что должно позволить запускать под Memcheck'ом приложения, требующие до 35 ГБ памяти.

Официальный сайт

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

 ,

GArik
()

sqt - инструмент для t-sql программиста в linux

Группа Linux General

Родилась очередная программа для тех, кто предпочитает Linux с gui, но приходится работать с MS SQL Server. Похожа на Query Analizer, но добавлено то, чего всегда не хватало:

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

Редактор кода - с типовыми возможностями (индентация, смена регистра выделения, поиск/замена, в т.ч. с регулярными выражениями).
Подсветка кода реализована штатными средствами Qt, поэтому не блещет скоростью на огромных текстах. При открытии документа более 1 Mб отключается.
В связи с планами допилить инструмент для работы с любыми odbc-источниками данных в программе нет субд-зависимого кода, поэтому никаких контекстных меню для обслуживания сервера/бд (и т.п. - как в qa или management studio) не предвидится (всё делается запросами)

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

 , , ,

parihaaraka
()

Вышла новая версия стандарта Unicode: 6.3.0

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

Unicode Consortium объявил о выпуске Unicode Standard 6.3.0 — универсального стандарта для кодирования текстов на любых языках мира.

Главные изменения нового выпуска касаются двунаправленного письма (bi-directional writing, сокр. BiDi), то есть чередования в тексте письма слева направо и справа налево. В языках, где пишут справа налево (арабский, иврит и др.), такое смешение проиходит очень часто, например, при записи чисел арабскими цифрами, вставке иностранных (в т.ч. английских) слов и так далее.

В версии 6.3.0 введено понятие фраз, изолированных по направлению письма (bi-directional isolates). Ранее они уже появились в HTML5 (тег <bdi>). Изолированные фразы должны отображаться в своём направлении, вне зависимости от окружающего текста. Существующие уже символы U+202A LRE и U+202B RLE имеют похожее действие, но являются «сильными» с точки зрения алгоритма отображения, то есть могут повлиять на отображение окружающих символов. Иногда это нежелательно, но обходится только нетривиальным анализом текста для правильной вставки кодов направления письма. Изоляты таких проблем вызывать не должны, потому что на окружающий текст не влияют. Для них определены следующие новые коды:

  • U+2066 LEFT-TO-RIGHT ISOLATE
  • U+2067 RIGHT-TO-LEFT ISOLATE
  • U+2068 FIRST STRONG ISOLATE (вводит изолят с автоматически определяемым направлением письма)
  • U+2069 POP DIRECTIONAL ISOLATE (обозначает конец изолята)

Помимо этих символов появился ещё один, тоже связанный с BiDi:

  • U+061C ARABIC LETTER MARK (как U+200F RLM, только для арабского языка, Bidi_Class = AL).

Внесены соответствующие изменения в Unicode Standard Annex #9: Unicode Bidirectional Algorithm.

Когда у вас ОС и браузер начнут поддерживать Unicode 6.3.0, три строчки ниже будут отображаться одинаково. Если только две верхние отображаются одинаково, у вас поддерживается Unicode от 1.1 до 6.2, но не 6.3:

Linux.org.ru Linux.org.ru ur.gro.xuniL
Linux.org.ru Linux.org.ru ‮Linux.org.ru‬
Linux.org.ru ‮Linux.org.ru ⁦Linux.org.ru⁩‬


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

Для подробной информации читайте UAX #9 или предложение о введении BiDi-изолятов в Unicode (Aharon Lanin et al.).

Ещё одно важное нововведение, не связанное с BiDi, — это наведение порядка с выбором вариантов иероглифов в блоке CJK Compatibility Ideographs (U+F900 — U+FAFF). Эти иероглифы имеют больше одной формы, и раньше при нормализации текста иероглиф мог нежелательным образом поменять форму, а теперь такого не будет.

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

Помимо указанных выше 5 контрольных кодов, в 6.3.0 никаких новых символов (в частности, отображаемых) нет. В Core Specification не будет внесено никаких изменений — сохраняет действие версия 6.2.0, за исключением обновленного определения case-ignorable (параграф 3.13, определение D136). Кроме того, ещё с января действует Corrigendum #9 о понятии noncharacter.


Unicode 6.3.0

>>> Объявление о выпуске

 ,

proud_anon
()

MetaJS — первый Lisp, который угадывает мысли

Группа Open Source

На GitHub выложен исходный код нового языка программирования MetaJS. Синтаксис языка близок к Clojure, MetaJS также как ClojureScript компилируется в JavaScript, но без внешних зависимостей.

MetaJS разрабатывается в рамках проекта Coect.net, поставившего амбициозную задачу заменить электронную почту, XMPP (Jabber) и социальные сети открытым универсальным протоколом.

MetaJS полностью реализован на MetaJS и может перекомпилировать себя. MetaJS обладает рядом интересных возможностей, среди которых можно выделить специальный синтаксис для упрощения последовательных вызовов методов одного объекта (часто применяется, например, в jQuery). MetaJS поддерживет стандартный для Lisp-языков синтаксис определения макросов, короткие анонимные функции в стиле Clojure #(> %1 %2) и деструктуризацию параметров.

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

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

 , , ,

dogada
()

ITK. Перевод главы 9 из книги «Архитектура приложений с открытым исходным кодом», том 2.

Группа Open Source

ITK, the Insight Toolkit является библиотекой для анализа изображений, которая была разработана по инициативе и при практически полной финансовой поддержке Национальной библиотеки медицины США. ITK может рассматриваться в качестве полезной энциклопедии алгоритмов для анализа изображений, в частности алгоритмов обработки изображений с помощью фильтров, сегментации и геометрической коррекции изображений. Библиотека была разработана консорциумом, включающим университеты, коммерческие компании и индивидуальных разработчиков со всего мира. Разработка ITK началась в 1999 году и после недавнего десятилетия код библиотеки был подвергнут рефакторингу, направленному на удаление устаревшего кода и внесение улучшений, позволяющих использовать библиотеку в течение следующих десяти лет. В двух книгах «Архитектура приложений с открытым исходным кодом» авторы широко известных приложений с открытым исходным кодом рассказывают о структуре созданных ими программ и о том, как эти программы создавались. Каковы их основные компоненты? Как они взаимодействуют? И что открыли для себя их создатели в процессе разработки? Это дает вам уникальную возможность проникнуть в то, как они творят.

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

 , ,

vikos
()

В Clang появилась поддержка спецификации OpenMP

Группа Open Source

Инженеры корпорации Intel сообщили о завершении работы по полной реализации поддержки OpenMP 3.1 в компиляторе С-подобных языков Clang. На текущий момент реализация успешно проходит все тесты совместимости, исходники лежат на github отдельной веткой, и уже начат процесс объединения изменений с основной веткой Clang.

OpenMP является открытым стандартом по распараллеливанию программ на C-подобных языках и языке программирования Fortran. Наличие поддержки OpenMP в компиляторе позволяет с помощью pragma-директив распараллеливать выполнение ресурсоемких вычислений в таких программах как ImageMagic, GraphicsMagic и многих других. Следует также отметить, что в июле 2013 года вышла новая версия спецификации OpenMP 4.0.

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

 , , ,

shahid
()

Тихо и незаметно вышел Red Hat Software Collections 1.0 Beta

Группа Red Hat

Коллекция свежего и поддерживаемого софта (в основном, языки программирования и базы данных), на отсутствие которого давно жаловались многие, стала доступна для RHEL (пока еще бета, но это ненадолго).

Стало возможно содержать две версии, основную и более свежую, на одной ОС, а также получать более частые обновления для более свежего софта.

Планируется поддерживать каждый релиз в течение трех лет.

Версия 1.0 Beta содержит следующие пакеты:

  • Ruby 1.9 с Rails 3.2.8
  • Python 2.7 и 3.3
  • PHP 5.4
  • Perl 5.16.3
  • Technology Preview of node.js 0.10
  • MariaDB 5.5
  • MySQL 5.5
  • PostgreSQL 9.2

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

 ,

dyasny
()

Вышла книга по практике на Common Lisp: «Loving Common Lisp, or the Savvy Programmer's Secret Weapon»

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

Дословный перевод книги: «Любовь к Common Lisp, или секретное оружие опытного программиста».

Это третья редакция книги, написаннная Mark Watson. В этой редакции удален устаревший материал и добавлен новый, который рассматривает следующие практические приложения:

  • MongoDB
  • Solr
  • CouchDB
  • реляционные базы данных

Также добавлена глава по обработке естественного языка (NLP), используя библиотеку автора, и небольшая глава по сбору информации.

По словам автора, книга предоставляет быстрое введение в Common Lisp и затем погружение в практику с интересными примерами практического программирования в Common Lisp.

Mark Watson имеет большой проффессиональный опыт в использовании Лисп языков с 1980 года.

Книга опубликовна в фоматах: PDF, EPUB (для iPad) and MOBI (для Kindle) — без DRM.

Поддержать автора и приобрести книгу можно по адресу: https://leanpub.com/lovinglisp

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

 , ,

gensym
()

Вышел Eclipse 4.3 Kepler

Группа Java

Eclipse — свободная IDE, функционал которой, благодаря её модульной архитектуре, можно расширять практически бесконечно. В соответствии с графиком релизов, в среду, 26 июня вышла очередная версия Eclipse IDE, носящая версию 4.3 и имя Иоганна Кеплера, первооткрывателя законов движения планет Солнечной системы.

Некоторые основные изменения Eclipse Kepler:

  • Stardust 1.0 предоставляет полный набор инструментов для управления бизнес-процессами (BPM).
  • Orion 3.0 включает в себя серьёзные улучшения юзабилити и более простое внедрение на сервера приложений Java.
  • Business Intelligence and Reporting Tools (BIRT) поддерживает представление больших данных теперь и для MongoDB и Cassandra.
  • Mylyn теперь включает в себя лучшую поддержку для инспекции кода в режиме Navigator View и интеграцию с Gerrit.

Top10 нововведений Eclipse Kepler

>>> Официальный сайт

 , , ,

CYB3R
()

Perl 5.18

Группа Open Source

Сегодня 05.18 состоялся релиз Perl 5.18. Разработка заняла год с момента выпуска предыдущей стабильной версии, при участии 113 авторов.
Из видимых изменений можно отметить следующие:

  • Новый механизм для экспериментальных возможностей (features)
    Начиная с этого выпуска при использовании какой-либо экспериментальной возможности будет выдаваться предупреждение, избавиться от которого можно с помощью стандартного механизма «no warnings» (для чего была добавлена категория experimental)
    no warnings "experimental::feature_name";
    Также стоит отметить, что некоторые из уже привычных возможностей были перенесены в категорию экспериментальных, например оператор smartmatch. Полный список экспериментальных возможностей можно посмотреть в perlexperiment
  • Более строгая рандомизация хешей
    Отдельное внимание было уделено проблеме. известной как Hash Collision Complexity Attack. Несмотря на то, что возможность данной атаки была сведена к нулю начиная с perl 5.8.1 (25-е сентября 2003-го), разработчики пошли дальше (возможно, в связи с недавними событиями вокруг некоторых известных языков, применяемых в веб-разработке) и усовершенствовали механизм рандомизации хешей. Теперь порядок вывода одного и того же хеша отличается от запуска к запуску. Помимо этого каждый хеш имеет свой собственный порядок итерирования, поэтому порядок вывода двух хешей с одинаковыми значениями может отличаться. Также был добавлен ряд новых хеширующих функций, а выбрать конкретную можно на этапе компиляции интерпретатора perl.
  • Бинарные операции над символьными классами в регулярных выражениях
    Это экспериментальная возможность, позволяющая применять к символьным классам бинарные операторы, такие как: & (пересечение), + или | (объединение), - (вычитание), ^ (симметрическая разность). Так, например, можно получить все цифры Тайского или Лаосского написания:
    /(?[ ( \p{Thai} + \p{Lao} ) & \p{Digit} ])/
    
  • Подпрограммы с лексической областью видимости
    Появилась экспериментальная возможность создавать подпрограммы с лексической областью видимости (my sub foo {} или state sub foo {}) и алиасы с лексической областью видимости на подпрограммы текущего пакета (our sub foo {}).

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

 ,

Olegymous
()

Релиз Go 1.1

Группа Open Source

Команда разработчиков рада сообщить о выходе новой версии языка программирования Go — 1.1.

Go — компилируемый многопоточный язык программирования, разработанный компанией Google. Первоначальная разработка Go началась в сентябре 2007 года, а его непосредственным проектированием занимались Роб Пайк и Кен Томпсон.

Версия 1.1 включает в себя множество усовершенствований, наиболее значительные из которых связаны с производительностью:

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

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

Кроме того, есть некоторые изменения и в самом языке:

С момента выхода Go 1.0 было внесено 2600 изменений от 161 разработчика за пределами Google.

На данный момент поддержка Go осуществляется для операционных систем FreeBSD, OpenBSD, Linux, Mac OS X, Windows.

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

 ,

ymn
()