LINUX.ORG.RU

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


43

0

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

Lazarus 1.4

Группа Open Source

22 апреля 2015 года тихо и незаметно вышла очередная версия кроссплатформенной среды разработки, использующая компилятор FPC версии 2.6.4 — Lazarus 1.4.0-0
О релизе:

  • Добавлены методы и утилиты для загрузки объектов за счет средств FPC.
  • Изменения коснулись форматов файлов ресурсов LCL: теперь их можно редактировать, используя файлы ресурсов на платформе Windows.
  • Добавлены совместимые c Delphi компоненты TDateTimePicker, TDBDateTimePicker, TComboBoxEx и TCheckComboBox.
  • Появился новый класс THintWindowManager, улучшающий работу подсказок в редакторе.
  • Многочисленные изменения функционала IDE.
  • Компонент TOpenGLControl теперь работает в GNU/Linux.
  • Переписаны и изменены некоторые компоненты и параметры.

>>> Release notes

 , , ,

Napilnik
()

Вышел Lua 5.3

Группа Open Source

Незаметно и внезапно вышла новая версия встраиваемого языка программирования Lua.

Значимые изменения:

  • Появился целочисленный тип (64-битный по умолчанию). До этого был тип number, хранящийся как число с плавающей точкой. При компиляции можно задать размер в 32 бита.
  • Битовые операции.
  • Базовая поддержка UTF-8.
  • Функции для сериализации данных в бинарные строки (похожа на python struct).
  • Удалён режим сборки мусора на основе поколений. Это была экспериментальная возможность в версии 5.2.

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

 ,

Dark_SavanT
()

Ядро Linux проверено статическим анализатором PVS Studio

Группа Ядро Linux

Исходный код ядра Linux (3.18.1) был проверен проприетарным статическим анализатором PVS Studio, разработанным в Туле. Анализатор нашёл ряд ошибок и крайне подозрительных участков кода. Полный текст статьи можно найти на сайте компании или на habrahabr.ru.

PVS-Studio ориентирован только на Windows, поэтому для проверки исходного кода ядра Linux была написана утилита на С++, которая для каждого запущенного процесса компилятора сохраняла командную строку, текущую директорию и переменные окружения. По результатам проверки были выбраны и подробно описаны некоторые интересные сообщения.

>>> Результаты проверки ядра Linux (3.18.1) анализатором PVS-Studio

 , , , ,

Andrey_Karpov_2009
()

Android Studio 1.0

Группа Android

Корпорация Google объявила о релизе финальной версии официальной среды разработки приложений под ОС Android.

Android Studio 1.0 базируется на IntelliJ IDEA (Community Edition).

Одновременно Google прекратила поддержку плагина ADT для Eclipse, используемого ранее для разработки Android-приложений.

Доступно для Linux, Mac OS X и Windows.

Страница загрузки

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

 , , , ,

amorpher
()

Поздравляю всех с Днём Программиста!

Группа Linux General

В этом году тихо и незаметно подошел его 256 день — 13 сентября. А это значит, что, по сложившейся традиции, весь цивилизованный мир информационных технологий (а ЛОР отнюдь не исключение) будет отмечать День Программиста!

Этот день выпадает на 13 сентября в обычные годы и на 12-ое — в високосные.Такая дата была выбрана потому, что с помощью 8 бит можно закодировать 256 различных значений: от 0 до 255. Смею напомнить, что «классический» символьный тип для IBM PC занимал в памяти ровно этот один байт.

Посему я хочу поздравить всех пользователей и анонимусов портала linux.org.ru с этим прекрасным праздником, пожелать программистам ЛОРа (коих, я думаю, здесь большинство): кода почти без багов, удобных IDE, всегда получать четкое и полное ТЗ от заказчика, легкой отладки и добрых, ясных (пусть и малость красных) глаз ;)

Остальным же хочу напомнить о том, что не будь творческих представителей этой нужной и полезной профессии, мы бы не получили такое чудо программистской и инженерной, да что там, можно даже сказать архитектурной мысли, как GNU/Linux.

Всех с Праздником!

«EOF»

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

 , , ,

Twissel
()

Релиз Blend4Web 14.08

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

Российская команда разработчиков представляет очередной релиз открытого фреймворка для создания браузерных 3D-приложений Blend4Web.

В этом релизе: новая демо-сцена, улучшения в системе анимации и частиц, рефракция и процедурная генерация геометрии.

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

  • Представлена новая аудиовизуальная сцена «Лазурный грот». В демо использованы самые последние разработки команды в области рендеринга, анимации и физики. Сочетание сложных видов освещения, эффект динамического отражения окружающих предметов и рефракции оставляют невероятное впечатление.
  • Существенные улучшения анимационного движка. К каждому объекту теперь можно применить до 8 анимаций различных типов одновременно (объектная, скелетная, вертексная анимация, эмиссия частиц и параметризация источников звука). Реализована поддержка изменения скорости и направления ее воспроизведения (реверсивное воспроизведение).
  • Расширены возможности по управлению эмиссией и перемещением частиц в пространстве. Для изменения через API доступны размер частиц, начальная скорость и их количество. Новая функциональность позволяет программно реализовывать широкий спектр эффектов (например, разжигание костра, корректное расположение шлейфа дыма из выхлопной трубы и т.п.).
  • В интерфейс панели инструментов Blender'а добавлена кнопка для автоматического поиска и удаления неиспользуемых вертексных групп.
  • Расширена функциональность и улучшена производительность нодовых материалов.
  • Добавлена поддержка эффекта рефракции на любых материалах. Для реализации эффекта введена специальная нода REFRACTION с параметрами для настройки.
  • Реализована настройка эффекта динамического отражения в нодовых материалах.
  • Улучшения системы уровней детализации (LOD).
  • Добавлены низкоуровневые методы API для манипуляции геометрией в реальном времени, позволяющие процедурное генерирование мешей любой сложности (например, создавать конструкции à la Minecraft).
  • Выпущен ряд новых обучающих материалов по использованию движка в веб-разработке и созданию приложений-конструкторов.
  • Проведена реструктуризация внешних API, реализована возможность совместной компиляции движка и приложения с помощью файлов исключений Closure Compiler.
  • Различные мелкие исправления и улучшения, обновление документации.

Демо: лазурный грот

Демо: игровая комната

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

 , , ,

llex1234
()

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

Группа Open Source

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

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

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

 , , , ,

abalakin
()

Перевод книги «Фреймворк GStreamer. Руководство разработчика приложений.»

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

Завершена публикация перевода книги группы авторов «Фреймворк GStreamer. Руководство разработчика приложений.»

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

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

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

 ,

vikos
()

Книга «Наглядная статистика. Используем R!» в свободном доступе.

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

По истечению срока отчуждения имущественных прав в пользу издателя в свободный читательский доступ поступила книга «Наглядная статистика. Используем R!»

Книга доступна на страничке Алексея Шипунова, одного из авторов книги: http://ashipunov.info/shipunov/software/r/r-ru.htm.

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

 , , , ,

psv1967
()

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

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

Кампания на BoomStarter по сбору средств на запись второго сезона EaxCast завершилась успешно. Соответственно, теперь ведутся работы над новым сезоном. В настоящее время для прослушивания доступны первые три выпуска:

  • S02E01, интервью с Александром Юрченко о работе в Яндексе, проекте OpenBSD и машинном обучении.
  • S02E02, интервью с Романом Душкиным об управлении проектами, функциональном программировании, квантовых вычислениях и краудфандинге.
  • S02E03, интервью с Владимиром Шабановым о BazQux, стартапах, геймдеве, а также Haskell и Riak.

Особый акцент в подкасте делается на «не мейнстримовых» технологиях. Впрочем, тематика подкаста не ограничивается исключительно этими вопросами. Новые выпуски публикуются раз в две недели и имеют продолжительность 40-45 минут. Всего в рамках второго сезона планируется записать 24 выпуска. Каждый выпуск сопровождается полной текстовой расшифровкой.

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

 , , , ,

CruZ
()

Unicode 7.0.0

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

16 июня Unicode Consortium официально выпустил новую версию стандарта Unicode — 7.0.0.

В ней появилось 2834 новых символа, включая U+20BD RUBLE SIGN (₽, см. картинку в объявлении о выпуске, если не отображается), по принятому Банком России в прошлом году образцу. Также в стандарте появился символ азербайджанской валюты — U+20BC MANAT SIGN (₼).

Ещё появилось 250 символов, взятых из популярных шрифтов Wingdings и Webdings, которые, таким образом, стали уважаемыми и общепринятыми знаками для обмена сообщениями, а не просто проприетарным хаком от корпорации Microsoft. Особенно активно в интернете обсуждались символы U+1F574 MAN IN BUSINESS SUIT LEVITATING (🕴) и U+1F596 RAISED HAND WITH PART BETWEEN MIDDLE AND RING FINGERS (🖖, он же «вулканское приветствие» или «благословение коэнов»). Свободный шрифт Symbola уже поддерживает многие из этих знаков в версии 7.12.

Из менее забавных изменений стоит отметить добавление блоков для 23 новых письменностей из самых разных регионов мира. Появились также новые блоки, связанные с уже присутствовавшими в стандарте письменностями, в том числе Latin Extended-E и Combining Diacritical Marks Extended. Есть и изменения, касающиеся России и близлежащих территорий, например, добавление древнепермских знаков (Old Permic) и письменности Кавказской Албании (Caucasian Albanian).

Внесены некоторые изменения в UTS #10 (алгоритм сортировки Unicode) и UTS #46 (обработка интернационализованных доменных имён).

Основная спецификация (Core Specification) проходит редактирование, и выпуск её запланирован на 15 октября. Пока консорциум рекомендует пользоваться черновиками.

>>> Подробно о Unicode 7.0.0

>>> Скачать PDF со всеми знаками (98 Мб)

>>> Объявление о выпуске в блоге Unicode, Inc.

 , , ,

proud_anon
()

Perl 5.20

Группа Open Source

Несколько часов назад состоялся релиз новой мажорной версии языка программирования Perl. Разработка Perl 5.20.0 заняла примерно 12 месяцев с момента выпуска Perl 5.18.0 и содержит около 470 000 строк изменений в 2 900 файлах от 124 авторов.

В этой версии достаточно много новшеств:

  • Subroutine signatures
    То, чего многие так ждали, а другие возражали привычным «ненужно»
    sub foo($bar, $baz) {
      print "\$bar=$bar, \$baz=$baz"
    }
    
    Таким образом теперь можно определять параметры функции в скобках после её имени. Есть и возможность задать значение по умолчанию
    sub bar($foo, $baz=10) {
      print '$foo+$baz=', $foo+$baz
    }
    
    О других особенностях новой экспериментальной возможности можно прочитать в perldoc perlsub. Стоит отметить, что старый механизм получения параметров функции из @_ также остаётся в силе.
  • Новый синтаксис для получения среза ключей-значений/индексов-значений для хешей/массивов
    %hash{...} и %array[...] соответственно
    %h = (blonk => 2, foo => 3, squink => 5, bar => 8);
    %subset = %h{'foo', 'bar'}; # срез ключ-значения для хеша
    # %subset теперь (foo => 3, bar => 8)
    
    @a = "a".."z";
    @list = %a[3,4,6]; # срез индекс-значения для массива
    # @list теперь (3, "d", 4, "e", 6, "g")
    
  • Постфиксное разыменовывание
    К старому доброму разыменовыванию ссылок, навроде @$foo и %$bar, был добавлен вариант постфиксного разыменовывания: $foo->@* и $bar->%* соответственно. Синтаксис для других типов ссылок можно посмотреть в perldoc perlref
  • Механизм копирования при записи (copy-on-write) для строк
    Теперь при присвоении переменной значения другой строковой переменной не создаётся копии буфера вплоть до тех пор, пока значение одной из переменных не будет изменено. Это увеличивает скорость присвоения и снижает потребление памяти. Теперь не потребуется передавать в функцию строковую переменную по ссылке, чтобы увеличить производительность.

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

 ,

Olegymous
()

Релиз Blend4Web 14.05

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

Увидел свет очередной публичный выпуск открытого 3D web-фреймворка Blend4Web. Фреймворк предназначен для создания трехмерного интерактивного контента, работающего в браузерах без использования плагинов. Blend4Web тесно интегрирован с открытым пакетом Blender, использующимся в качестве основного инструмента редактирования 3D-сцен. Воспроизведение контента осуществляется средствами WebGL, Web Audio и других браузерных технологий.

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

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

  • Представлена новая фотореалистичная демо-сцена “Спорткар”. С помощью визуального редактора шейдеров для этой сцены было создано свыше 40 различных материалов: хромированный металл, окрашенный металл, стекло, резина, кожа и др.
  • Подготовлена серия уроков, охватывающих широкий круг возможностей движка. Рассмотрены: система частиц, нелинейная анимация, освещение, постпроцессинговые эффекты, а также программирование простых интерактивных приложений.
  • Проведено визуальное улучшение и оптимизация производительности демо-приложений.
  • Реализованы инструменты для упрощения создания и отладки анимации, переработаны соответствующие API. В интерфейс Blender'а добавлена панель запекания скелетной анимации.
  • Существенно оптимизирован рендеринг сцен с большим количеством систем частиц.
  • Улучшена система управления камерой, переработаны API системы контроллеров с целью упрощения их использования.
  • Проведены дальнейшие оптимизации в физическом движке и аддоне искусственного интеллекта ботов (NPC).
  • Решена проблема с некорректной работой движка на MacBook Pro с дискретной видео-картой Nvidia.
  • Обновлена и дополнена документация, осуществлен перевод на английский язык.

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

Скриншот 1

Скриншот 2

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

 , , ,

llex1234
()

Crytek GmbH опубликовала исходный код Renderdoc

Группа Open Source

Crytek GmbH опубликовала исходный код Renderdoc под открытой лицензией MIT.

Renderdoc - это инструмент отладки графики в движке CryEngine.

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

 ,

kas501
()

Bluefish 2.2.5

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

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

Небольшой cписок изменений:

  • Улучшение движка сканирования синтаксиса.
  • Улучшения файлового менеджера (теперь меньше потребляет ресурсов и работает быстрее).
  • Улучшения отступов в автодополнении.
  • Улучшения закладок.
  • Много улучшений на OS X (поддержка OS X Mavericks, дисплеев Retina, открытие файлов из «finder» на Mac OS X перемещено на хоткеи Cmd+C|V|X|A ).
  • Кроме того, было улучшение подсветки синтаксиса JQuery в JavaScript, HTML5 и HTML5 в PHP.

Скачать

>>> Сайт

 , ,

fallout4all
()

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

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

Стал полностью доступен первый сезон подкаста о программировании на русском языке EaxCast, состоящий из 7-и выпусков. В этих выпусках делался особый акцент на NewSQL базах данных, распределенных системах и функциональном программировании. Однако в целом подкаст не ограничивается исключительно этими темами. В выпусках часто принимают учатие гости, программисты, имеющие опыт в самых различных областях. Размер аудитории подкаста на данный момент оценен примерно в 1000 человек. Выпуски сопровождается текстовой расшифровкой. Изначально планировалось делать короткие выпуски примерно по 20 минут, но в итоге их продолжительность была увеличена до 40-45 минут.

Первое время ведущие делали текстовую расшифровку своими силами, но из-за того, что выпуски стали длиннее, пришлось переложить ее на профессиональных копирайтеров. Поскольку услуги хороших копирайтеров стоят немалых денег, была создана кампания на BoomStarter, в рамках которой планируется собрать деньги на текстовую расшифровку второго сезона (~24 выпуска). На данный момент собрана уже треть от требуемой суммы, кампанию поддержало более 40 человек. Заканчивается кампания 12 мая.

Если собрать требуемую сумму не удастся, подкаст, вероятнее всего, будет заброшен. Ведущие объясняют это тем, что без текстовой расшифровки они будут работать «на корзину», а выпуски будут лежать «мертвым грузом» сразу после прослушивания. То есть, их нельзя будет найти через поисковые системы и так далее. Для спонсоров, сделавших взнос размером более 500 или более 3000 рублей предусмотрены специальные вознаграждения. В случае успешности кампании планируется не только записать второй сезон, но и собрать бесплатную электронную книгу, в которую войдет полная текстовая расшифровка первого и второго сезона.

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

 ,

CruZ
()

Релиз Rails 4.1

Группа Open Source

Из основных изменений:

  • По умолчанию в новые проекты добавлен прелоадер Spring.
  • Добавлен файл config/secrets.yml вместе с функционалом для хранения ключей шифрования.
  • Action Pack Variants — возможность использования разных ответов для различных типов устройств (tablet, desktop, phone).
  • Прекращена поддержка MySQL 4.1.
  • Action Mailer Previews — интеграция gem'а MailView в Rails — удобная работа с шаблонами писем.
  • Message Verifiers — обмен и проверка подлинности важных сообщений.
  • Module#concerning — удобное разделение ответственности между классами.

Список изменений Ruby on Rails 4.1

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

 , ,

UNiTE
()

.NET Платформа для компиляторов «Roslyn»

Группа Open Source

Сегодня, компания Microsoft опубликовала платформу для компиляторов «Roslyn» - исходные коды C# и Visual Basic компиляторов вместе с API компиляторов. Благодаря этому стало возможно сделать анализаторы кода (C# & VB) с опубликованным API, таким же, которое Microsoft использует для Visual Studio.

Установка
Оставить отзыв для языка и IDE Сюда
Сделать анализаторы для C# и VB Сюда
Для получения пакета наберите в консоли:

Install-Package Microsoft.CodeAnalysis

Исходные коды

git clone https://git01.codeplex.com/roslyn
Руководства:

Участие в проекте можно начать с исправления одной из ошибок

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

 , , ,

anonymous
()

Вышел релиз языка программирования truthon

Группа Open Source

Представляю вашему вниманию свеженький релиз так полюбившегося всем вам ЯП — гибрид хаскеля с питоном, руби и крестами. Этот код почти никогда не писался на трезвую голову и поэтому разобраться в этом месиве могу только я.

1. Самое главное: оно поддерживает три типа комментариев и новые способы легко добавить!

# shell
// кресты
/* си */

2. Синтаксис слегка пришибленый (пришлось подпилить под нужды парсера), но какой уж есть. Вот небольшой пример стандартной программы «привет, Ад»:

main = (argv, argc) ->  # объявили лямбда-функцию и сохранили её в main
  name = "Hell"
  the_string = p "Hello, {name}"   # оператор p печатает на экран
                                   # и возвращает значение своего аргумента
  # fancy string interpolation
  num = 1
  string_with_number = "num = {num}"
  
  # shell invocation
  ret = `echo -e 'Bye!\nrm -rf ~'`
  p "script terminated with {ret}"

  # built-in repexp matching
  p "Hello" =~ /(H.*)/

  # branching
  1 if 1+1 == 2 else 3
  
  # expression-oriented!
  score = match
    name =~ "true_(.*)"  => 666
    name == "tailgunner" => 7
    _                    => -1

  # Higher-order functions: a(b(c()) is ...
  a . b . c  
  c $ b $ a  # pipe-line style

Итд итп. Самое главное что он expression-oriented и со статической типизацией**.

В ближайших планах переписать этот ЯП на нём же самом.

Ведутся активные переговоры с Леннартом Поттерингом по включению этого ЯП в состав systemd как средства написания юнитов.

Фичи и плюши: строгая типизация, expression-oriented, компилируемый*, есть примитивный вывод типов**. Некоторые операторы (в данный момент только print) полиморфны. Вскоре: замыкания, pattern matching, ADT, ООП с public/private/close, генерация llvm bitcode и многое другое. Циклов ещё нет, поэтому используйте рекурсию. На данный момент поддерживается только работа с целыми числами (произвольной длины) и строками. Поддержка других типов будет хорошим упражнением для пытливого читателя.

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

PS Про nanopass читал

PPS Формочку заполнил

*Эта функция не работает

**Есть, но оочень глючит.

Лицензия BDSM-like

Changelog

>>> Исходники

 , ,

true_admin
()

Перевод книги о методах достижения высокой производительности ПО

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

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

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

 , ,

vikos
()