Новости свободного ПО

В этом обзоре СПО сделаем основательную попытку развеять поверхностное и несерьёзное отношение к PyPy - скоростной реализации интерпретатора языков высокого уровня. Также отметим: новый редактор карт для геосервиса OpenStreetMap, новые художественные и практические моменты в 3D-редакторе Blender и новые приятности в графической оболочке phpMyAdmin для баз данных.


PyPy 2.0

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

Однако PyPy - это серьёзная работа, которая развивается не один год, и которая имеет как практическую, так и теоретическую ценность. На прошлой неделе вышла версия 2.0 этого проекта, и давно пора избавляться от легкомысленного отношения к PyPy.

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

Но, как и большинство интерпретируемых языков, Python не может похвастать высокой производительностью. И вот одна из первоочередных целей создания PyPy - это повышение производительность Python-программ. На сайте проекта есть тесты скорости, которые показывают, что некоторые программы под PyPy начинают работать чуть ли не в 20 раз быстрее, чем на эталонной реализации CPython. Проведённые в домашних условиях небольшие тесты по запуску разных скриптов в интерпретаторе PyPy и стандартном Python тоже демонстрируют многократное преимущество в скорости PyPy.

Хотя в случае тяжёлых и сложных веб-приложений наблюдается значительно меньшее ускорение. Судя по отзывам в Сети, в среднем сложные веб-приложения ускоряются в 1,5-2 раза.

Ускорение достигается благодаря задействованию JIT-компилятора для трансляции кода в машинные инструкции во время исполнения программы. Сам же интерпретатор реализует язык Python, используя другую реализацию языка, называемого RPython (Restricted Python). В отличие от стандартного Python, диалект RPython является статически типизированным для более эффективной работы.

PyPy полностью совместим с эталонной реализацией CPython 2.7.3. Он поддерживает большинство модулей из стандартной библиотеки этого языка программирования. Но для бинарных расширений PyPy имеет пока только начальную поддержку API CPython с необходимостью перекомпиляции этих модулей. Поддерживаются фреймворки Django, CherryPy, Pylons и другие.

Ещё одной интересной особенностью PyPy является использование бесстекового режима Stackless вместо стандартной структуры стека Python. Stackless - технология, которая в своё время даже претендовала на включение в стандартное ядро языка, но была отвергнута за сложность. С другой стороны Stackless позволяет добавить в программы "микропотоки" внутри самого интерпретатора и тем самым значительно облегчить разработку параллельных алгоритмов, улучшить структуру и читаемость кода программ.

Но PyPy - это не только быстрый интерпретатор "Питона". С помощью PyPy можно написать свой собственный интерпретатор любого языка высокого уровня. В результате можно без трудоёмкой работы получить очень эффективный и быстрый интерпретатор с поддержкой JIT-компиляции.

Можно написать интерпретатор Ruby, PHP или даже интерпретатор для своего собственного какого-нибудь специализированного языка программирования. Например, в Сети без труда можно найти учебные руководства о том, как быстро написать при помощи PyPy интерпретатор brainfuck или тому подобной программистской эзотерики.

Стабильный выпуск PyPy имеется для Linux, Mac OS X, Windows. В версии PyPy 2.0 началось тестирование варианта PyPy для платформы ARM. Выпуск для ARM позиционируется как ознакомительный, так как версия для данной платформы ещё не совсем стабильна и не поддерживает некоторые возможности PyPy для платформы x86.


Новый редактор карт OSM

OpenStreetMap ("Открытая карта улиц") - один из самых лёгких способов поучаствовать в полезном открытом проекте. OSM - это картографический веб-сервис, предназначенный для массового пользователя, в котором картографические данные собираются самими же пользователями и доступны всем по открытой лицензии. Даже я сам лично вложил свой скромный, но неоценимый вклад в картографию некоторых районов Беларуси, которые теперь в OSM выглядят гораздо информативнее, чем на Google Docs.

Сервис постоянно совершенствуется в плане удобства. Например, к OSM проявила внимание компания Microsoft, предоставив в качестве подложек для редактирования карт свои спутниковые снимки сервиса Bing. Эти снимки значительно лучше тех, что использовались раньше.

Совершенствуются и инструменты редактирования карт OSM. Самыми распространёнными редакторами карт были браузерные версии на основе Adobe Flash. Но теперь появился новый браузерный редактор под названием ID, который создан с использованием технологий HTML 5.

ID - очень простенький редактор и предназначен для начинающих и непродвинутых картографов. Обладает простым интерфейсом. Он позволяет редактировать и обозначать основные объекты OSM - дороги, начиная с автострад и заканчивая тропинками в парках, здания и их типы, и т.д. Разработчики редактора ID надеются, что его простота привлечёт новых энтузиастов.

В плане скорости работы я бы отметил, что редакторы на основе Adobe Flash всё-таки рендерят карту более плавно, без рывков. Хотя в отношении технологий HTML 5, используемых в ID, многое зависит от самого браузера.

Редактор ID является ПО с полностью открытым исходным кодом и доступен на GitHub под ультра-свободной лицензией.


Blender 2.67

С новой версией программы для работы с 3D-графикой Blender 2.67, которая вышла на прошлой неделе, было интересно повозиться. Потому что новая версия программы демонстрирует не только новые художественные приёмы для трёхмерной графики, но и стремление к другим практическим применениям 3D-технологий.

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

В новой версии Blender как раз появился не фотореалистичный графический движок Freestyle, который предоставляет художникам набор инструментов для создания 2D-рисунков из данных 3D-сцены, приготовленных в Blender. Первоначально Freestyle разрабатывался как отдельная программа в отдельном исследовательском проекте. Но теперь он будет интегрирован в Blender.

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

Хоть интерфейс Blender за последнее время усложнился, основные принципы его работы остались прежними, и без особых проблем удалось посмотреть примеры с возможностями Freestyle. Эти примеры можно взять непосредственно со страницы описания технологии Freestyle. После чего загружаем в Blender пример через главное меню "Файл", находим на панели управления закладку с иконкой фотоаппарата и для рендеринга нажимаем кнопку "Rend". Если компьютер мощный, то вполне можно создать и посмотреть анимацию через соответствующие кнопки "Anim" и "Play", и даже сделать видеоролик или анимированный gif.

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

Новый аддон в комплекте с Blender предоставляет специальные методы проверки трёхмерной модели на наличие ошибок, а также выводит различную необходимую статистику (объем, площадь и т.д.). Также предоставляется удобный в один клик экспорт в форматы, которые использоваться в 3D-принтерах.


phpMyAdmin 4.0

И в заключение немного удовольствий. В самом начале мая вышла финальная версия phpMyAdmin 4.0 - специальной программы, написанной на PHP, которая предназначена для администрирования и управления MySQL-серверами через Сеть в браузере.

Базы данных СУБД MySQL - это обязательная часть современного веб-сайта, и, например, phpMyAdmin хорошо знают даже те, кто баловался созданием сайтов с помощью локального сервера "Денвер" для Windows. С базами данных MySQL работают через консоль, но HTML-интерфейс, который предоставляет phpMyAdmin, делает эту работу гораздо более приятной.

С четвёртой версией phpMyAdmin в прошлое уходят HTML-фреймы, которые были чуть ли не визитной карточкой интерфейса этого веб-приложения. Панель навигации теперь представлена в виде дерева. Требованием данной версии является обязательное включение Javascript в браузере. Также новый вид приобрела и документация, в которой появился ещё и индекс. Работайте с удовольствием!

Михаил АСТАПЧИК

Версия для печатиВерсия для печати

Рубрики: 

  • 1
  • 2
  • 3
  • 4
  • 5
Всего голосов: 0
Заметили ошибку? Выделите ее мышкой и нажмите Ctrl+Enter!

Комментарии

А дзе артыкул па-беларуску?