LINUX.ORG.RU

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


43

0

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

Вышел PyPy 2.0

Группа Open Source

9 мая вышла версия PyPy 2.0 с кодовым названием «Einstein Sandwich». PyPy — интерпретатор языка Python со встроенным tracing JIT. Основными изменениями по сравнению с PyPy 1.9 являются:

Планируется, что версия 2.0 послужит стабильной базой для более частых релизов (вероятно, для создания действительно быстрых интерпретаторов Ruby и PHP).

Не вошли в официальный анонс, но тоже немаловажны:

И, наконец (я знал, что вы спросите): работа по распараллеливанию PyPy ведется не слишком активно, но есть ветка STM.

Cравнение скорости PyPy и CPython на синтетических бенчмарках

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

 , ,

tailgunner
()

Перевод главы об архитектуре NGINX из книги «Архитектура приложений с открытым исходным кодом»

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

Опубликован перевод очередной главы из книги «Архитектура приложений с открытым исходным кодом». Данная глава посвящена NGINX. С момента появления в 2004 году nginx фокусировался на высокой производительности, высокоэффективных параллельных вычислениях и минимизации использования оперативной памяти. Такие дополняющие функции web-сервера возможности, как балансировка нагрузки, кэширование, контроль доступа, контроль пропускной способности и умение эффективно интегрироваться с различными приложениями позволили nginx стать хорошим выбором для web-сайтов с современной архитектурой. В настоящее время nginx занимает второе место среди самых популярных web-серверов с открытым исходным кодом. Обработка большого количества одновременных запросов с обеспечением высокой производительности и эффективности всегда была ключевым преимуществом при внедрении nginx. Однако, есть и другие не менее интересные преимущества.

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

 , ,

vikos
()

Архитектура системы управления пакетами в Python

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

Опубликован перевод очередной главы из 1 тома книги «Архитектура приложений с открытым исходным кодом» — «Архитектура системы управления пакетами в Python».

При разговоре о системах установки приложений обычно упоминают о двух подходах. Первый подход, характерный для Windows и Mac OS X, заключается в распространении самодостаточных пакетов приложений, процесс установки которых не должен зависеть от внешних факторов. Эта философия упрощает процесс управления приложениями: каждое приложение имеет свое отдельное «окружение» и его установка или удаление не влияет на другие части ОС. Если приложению для работы требуется нестандартная библиотека, эта библиотека включается в состав пакета для распространения приложения.

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

У каждого подхода есть свои достоинства и недостатки.

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

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

 ,

vikos
()

Как писать разделяемые библиотеки

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

Завершена публикация перевода на русский язык большой статьи Ульриха Дреппера «Как писать разделяемые библиотеки». Автор предварил статью такими словами:

Разделяемые библиотеки используются повсюду. Разработчики пользуются ими для разных целей и разрабатывают их точно так же, как и приложения. Но проблема в том, что для создания просто хорошо написанного кода на многих платформах требуется применять дополнительные методы. Еще больше знаний нужно при создании оптимизированного кода. Настоящая статья познакомит вас с необходимыми правилами и методами. Кроме того, будет представлено понятие стабильности интерфейса ABI (Application Binary Interface — двоичный прикладной интерфейс) и будет рассказано, как стабильностью управлять.

>>> Перевод

 , ,

vikos
()

Вышла книжка по функциональному программированию на Haskell

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

Григорий Макеев выложил в свободный доступ книгу «Основы функционального программирования на языке Haskell».
Скачать можно тут.

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

 ,

cab
()

12-13 апреля на Стачку! в Ульяновск

Группа Конференции и встречи

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

Первая конференция стала одной из самых больших в России, собрав около 1500 участников и 70 докладчиков. В этом году в технических потоках (30 докладов за два дня) будут выступать представители компаний: skype, badoo, mamba, echo, undev, rambler, sphinx, scrumtrack, mail.ru, avito, express 42 и другие.

Темы докладов: методологии, devops, big data, highload, языки, архитектура кода и проектов, client-side, мобильные и облачные технологии.

Несколько завлекающих фамилий:

  • Лев Валкин (echo)
  • Макс Лапшин
  • Руслан Фазлыев (ecwid)
  • Андрей Аксенов (sphinx)
  • Андрей Смирнов (skype)
  • Андрей Шетухин (rambler)
  • Константин Осипов (mail.ru)
  • Александр Бындю

Для иногородних мы подготовили страницу как доехать и где жить. Регистрация тут

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

мотивирующее видео

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

 , ,

mokevnin
()

Российский конструктор для образования в области информатики и робототехники поддержан Google RISE Award 2013

Группа Linux General

Команда ЗАО «Тырнет» (группа компаний Мезон.Ру) стала одной из 30 в мире, которые получат гранты Google RISE Award 2013 на поддержку образовательных инициатив в этом году. RISE (Roots in Science and Engineering – «Основы науки и техники») предоставляет финансирование и поддержку организациям по всему миру, занимающимся образованием в области науки и техники. Грант будет использован для разработки англоязычной версии продукта и для его продвижения за пределами России в мировое образовательное сообщество.

Открытый проект ScratchDuino был задуман как средство взаимодействия физической среды со средой Scratch – визуальной средой программирования, развивающей идеи Лого, которую разработали в Массачусетском технологическом институте (MIT).

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

С помощью СкретчДуино.Робоплатформа можно освоить работу с основными микроэлектронными компонентами (радиодеталями), разобраться, как работает тот или иной датчик, произвести его калибровку и настройку, затем использовать эти данные в программе. Робоплатформа может управляться откуда угодно. Вы можете сделать это из Scratch, из Lazarus (на языке Pascal), из Кумир (через транслятор) или просто с пульта управления (к примеру, с вашего Android смартфона).

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

>>> Wiki проекта Scratchduino

 , ,

Gersh
()

Опубликован исходный код Photoshop 1.0

Группа Мультимедиа

Код опубликован Музеем компьютерной истории с разрешения компании Adobe и свободно доступен для некоммерческого использования. Версия от 1989 года, состоит из 179 файлов, в сумме набирающих примерно 128 тыс. строк кода. ~75% кода - паскаль, остальное ассемблер.

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

 , , ,

abadello
()

Анонсирован проект Topaz — реализация языка Ruby на Python

Группа Open Source

На свет появилась новая реализация языка Ruby — Topaz. Проект примечателен тем, что для его разработки был использован RPython — набор инструментов для трансляции, разрабатываемый в рамках проекта PyPy. Использование RPython, по мнению разработчиков, позволит создать по-настоящему высокопроизводительную реализацию ЯП Ruby с быстрым сборщиком мусора и современным JIT.

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

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

Репозиторий на github

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

 , , ,

provaton
()

Ежегодная конференция «Параллельные вычислительные технологии (ПаВТ) 2013» пройдет в Челябинске

Группа Конференции и встречи

«Параллельные вычислительные технологии (ПаВТ) 2013» — международная научная конференция, седьмая в серии ежегодных конференций, посвященных развитию и применению параллельных вычислительных технологий в различных областях науки и техники.

ПаВТ'2013 будет проходить 1–5 апреля 2013 г. в Южно-Уральском национальном исследовательском государственном университете в г. Челябинске.

Организаторы мероприятия:

  • Российская Академия Наук
  • Суперкомпьютерный консорциум университетов России

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

В первый день работы конференции будет объявлена 18-я редакция списка Top50 самых мощных компьютеров СНГ.

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

Языки конференции: русский, английский.

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

 , ,

ymn
()

Вышел boost 1.53.0

Группа Open Source

Представлен новый релиз набора библиотек для языка C++ boost-1.53.0. В релиз добавлены следующие библиотеки:

  • Boost.Atomic — предоставляет поддержку атомарных типов данных и операций над ними.
  • Boost.Coroutine — предоставляет поддержку сопрограмм.
  • Boost.Lockfree — предоставляет неблокирующие структуры данных (два варианта очереди и стек).
  • Boost.Multiprecision — предоставляет численные типы (целочисленные, рациональные и с плавающей точкой) с повышенной точностью и увеличенным диапазоном значений.
  • Boost.Numeric.Odeint — библиотека для поиска решений обыкновенных дифференциальных уравнений, удовлетворяющих начальным условиям.

Из багфиксов, вошедших в релиз, стоит отметить исправление уязвимости в библиотеке Boost.Locale, которой подвержены версии 1.48 — 1.52.

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

 , ,

provaton
()

Eric 5.3.0

Группа Open Source

Eric — интегрированная среда разработки для Python и Ruby написанная в свою очередь на Python с пользовательским интерфейсом на Qt4 и использующая для редактирования исходных текстов компонент Scintilla.

Существуют две стабильные ветки: Eric4 на Python2 и Eric5 на Python3.

Особенности:

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

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

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

 , , , ,

amorpher
()

Groovy 2.1

Группа Java

Groovy — это объектно-ориентированный язык программирования для платформы Java. Может использоваться как самостоятельный скриптовый язык, как средство для создания DSL¹ (в качестве примера можно взять проект Gradle) и как встраиваемый язык для программ на Java. Поддерживает как динамическую, так и статическую типизации.

25 января вышел в свет Groovy версии 2.1. Вот лишь часть нововведений, появившихся в новом выпуске:

  • Полная поддержка инструкции invokedynamic в JDK 7.
  • В язык включена библиотека GPars 1.0, предназначенная для облегчения многопоточного программирования.
  • Возможность расширения механизма опциональной статической типизации (аннотация @TypeChecked) с помощью собственных правил.
  • Метааннотации, позволяющие сгруппировать несколько аннотаций в одну.
  • Класс CompilerConfiguration, используя который можно настроить и параметризовать процесс компиляции в соответствии с собственными нуждами.
  • Множество мелких улучшений и исправлений.

Подробнее об этом выпуске

Скачать Groovy 2.1

————————
¹ Domain-specific languages: Предметно-ориентированные языки программирования

 , ,

CARS
()

Релиз Django 1.5

Группа Open Source

Увидел свет новый релиз популярного фреймворка для разработки веб-приложений Django. Основные нововведения версии 1.5:

  • Экспериментальная поддержка Python 3. Полная поддержка Python 3 обещана в следующем релизе, который должен выйти через полгода.
  • В функции Model.save() теперь можно указывать список измененных полей.
  • Улучшена поддержка потоковых ответов (streaming responses).
  • В GeoDjango добавлена поддержка PostGIS 2.0.
  • Новый синтаксис тега {% url %}, обратно-несовместимый с предыдущим. (Ранее был опционально доступен с помощью {% load url from future %}).
  • Прекращена поддержка Python 2.5.

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

 , , , ,

provaton
()

Обработка изображений при помощи OpenGL и шейдеров

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

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

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

 , ,

vikos
()

Релиз LispWorks 6.1.1 Personal Edition

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

LispWorks Ltd с радостью сообщает о выходе версии LispWorks 6.1.1 Personal Edition для Windows, Macintosh, Linux, FreeBSD и x86/x64 Solaris.

LispWorks Personal Edition доступна для загрузки бесплатно.

Ядро этой версии LispWorks Personal Edition обновлено до версий Professional и Enterprise Editions.

LispWorks Personal Edition теперь предоставляет:

  • API для доступа к окружению (augment-environment etc)
  • высококачественная отрисовка на всех платформах, включая anti-aliasing
  • нативная поддержка печати в GTK+
  • поддержка различных методов многоязыкового ввода
  • поддержка записи в форматах JPEG, PNG, TIFF
  • улучшение Drag'n'drop в GTK+
  • поддержка capi:browser-pane в Windows и Cocoa
  • поддержка одновременного подключения нескольких дисплеев
  • расширен многопроцессорный API
  • поддержка IPv6 сокетов
  • поддержка 'foreign blocks' в FLI
  • добавлен ASDF2
  • улучшена документация и добавлено больше примеров
  • другие улучшения и новые возможности в CAPI и IDE
  • множество исправлений ошибок

Не все перечисленные возможности поддерживаются на всех платформах. Об этой информации можно узнать по адресу:

http://www.lispworks.com/products/features.html

Полный список изменений доступен по адресу:

http://www.lispworks.com/documentation/lw61/RNIG/html/readme-292.htm

Загрузить LispWorks Personal Edition можно по адресу:

http://www.lispworks.com/downloads/

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

 , , ,

gensym
()

Editra 0.7.20

Группа Open Source

Editra — мощный и гибкий мультиплатформенный текстовый редактор, целью создания которого является простой в использовании интерфейс и функции помогающие в разработке ПО. В настоящее время поддерживает подсветку синтаксиса и множество других полезных функций для более чем 60 языков программирования. Проект находится в стадии разработки, но для загрузки доступны и стабильные версии. Лицензирован и находится в свободном доступе для использования в соответствии с WxWindows License.

Возможности редактора расширяются с помощью плагинов.

В этой версии:

  • Расширена поддержка подсветки каскадных таблиц стилей (CSS) и практически готова поддержка CSS3;
  • Обновлен плагин FileBrowser до версии 2.2;
  • Множественные исправления ошибок.

>>> Скриншоты

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

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

 editra, , , wxwindowslicense,

amorpher
()

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

Группа Open Source

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

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

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

 , , , ,

abalakin
()

Вышла новая версия ABCL 1.1.0 — реализации языка программирования Common Lisp

Группа Open Source

Armed Bear Common Lisp (ABCL) — полная реализация стандарта языка программирования Common Lisp, включающая интерпретатор и компилятор, и работающая на JVM. Изначально будучи скриптовым языком расширения для текстового редактора J, реализация теперь поддерживает JSR-223 (API скриптовoго языкa расширения для Java): то есть может быть скриптовым движком в любом приложении, написанном на Java. Вдобавок можно использовать Java <--> Lisp API интеграции для реализации (отдельных частей) на Java или Lisp.

В этом долгожданном релизе (с 9 января 2012) исправлено множество ошибок и добавлены новые возможности:

  • Рабочая реализация (A)MOP (Metaobject Protocol) благодаря упорной работе Rudi Schlatte (@rudi).
  • Эта реализация теперь может работать на большем количестве Quicklisp-инсталляций благодаря обширному тестированию. Спасибо @xach!
    Все перечисленные ниже системы нуждаются в патчах, которые появятся в следующих релизах Quicklisp:
    • CLOSER-MOP — в связи с реализацией MOP в этом релизе, ведется работа по добавлению поддержки ABCL в closer-mop;
    • CFFI;
    • HUNCHENTOOT;
    • CXML.
  • Компилятор байткода Java 5. Внутренний Lisp-to-Java байткод компилятор покрыт большим количеством регрессионных тестов с использованием Quicklisp-библиотек.
  • Возможность создания классов в рантайме через JNEW-RUNTIME-CLASS (@astalla). Довольно близко к полному покрытию примитивов для создания synthethic Java-классов в рантайме. Легко расширяемая по вашим потребностям, с разумными опциями по умолчанию.
  • Обновлен ASDF до версии 2.26.6 с включенными патчами для расширений реализации в дополнении к ANSI: URL-PATHAME и JAR-PATHNAME.
  • ABCL-CONTRIB:
    • ABCL-ASDF — инсталляция по сети с использованием Maven;
    • JSS;
    • JFLI.

Поддерживаются следующие платформы: Windows, Linux, MacOS X, OpenBSD, NetBSD, FreeBSD, Solaris или Google App Engine.

Для клиентских установок необходимы следующие версии JRE:

  • JRE 1.5.0
  • JRE 1.6.0 (patch level 10 или выше)
  • JRE 1.7.0

Для разработки/компиляции необходимы следующие версии JDK и Ant:

  • JDK 1.5.0
  • JDK 1.6.0 (patch level 10 или выше)
  • JDK 1.7.0
  • Ant 1.7.1 или выше

Бинарную сборку в архиве можно загрузить по ссылкам:

Исходный код можно загрузить по ссылкам:

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

 , , , ,

gensym
()

Вышел Bison 2.7

Группа Open Source

Представлен новый релиз генератора грамматического разбора Bison 2.7. Bison поддерживает следующие языки программирования: C, C++ и Java. В релиз вошли следующие изменения:

  • Исправления ошибок:
    • исправлено предупреждение о неинициализированной переменной yylloc;
    • восстановлена совместимость с C90.
  • В генераторе представления парсера в виде графа улучшено отображение состояний — они теперь имеют прямоугольную форму, четко виден номер состояния, пункты списка пронумерованы и выровнены. Редукции изображены как переходы к ромбовидным узлам графа.
  • Улучшены возможности форматирования сообщений об ошибках, в частности поддерживается указание на место ошибки в строке с помощью символов «^^^^».
  • Улучшена поддержка «чистых» (реентерабельных) парсеров.
  • Добавлена возможность использования пользовательских типов местоположения (с помощью переменной api.location.type).
  • В парсере larl1.cc добавлен код, обрабатывающий исключения.
  • Поддержка %language больше не является экспериментальной.
  • Улучшена документация.

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

 ,

provaton
()