LINUX.ORG.RU

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


42

0

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

Конкурс по параллельному программированию GraphHPC-2017

Группа Кластеры

В рамках четвертой научно-технической конференции GraphHPC-2017 по проблемам параллельной обработки больших графов с использованием суперкомпьютеров состоится конкурс GraphHPC.

В этот раз участникам предстоит разработать самую быструю реализацию задачи расчета Betweenness Centrality для неориентированного графа без весов.

Для реализации задачи участникам предлагаются две категории вычислительных систем: одноузловая вычислительная система (CPU и/или GPU) и 36-узловой вычислительный кластер.

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

На сайте конкурса вы можете ознакомиться с условием задачи и скачать пример реализации. Конкурс будет проводиться с 1 по 27 февраля при помощи автоматической системы, которая будет запущена 1 февраля, но работать над решением можно начинать уже сейчас.

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

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

 , , ,

sdee
()

Ruby 2.4.0

Группа Open Source

25 декабря состоялся первый стабильный релиз ветки Ruby 2.4. В ней представлено много новых возможностей.

( читать дальше... )

>>> Источник

 ,

b-adblack-
()

ECL 16.1.3

Группа Open Source

Спустя почти год вышла новая версия ECL — реализации языка программирования Common Lisp.

Также ведутся работы над новой документацией.

Было проведено обширное тестирование релиза на Linux, FreeBSD, OpenBSD, NetBSD, OSX, Windows MSVC, Windows MinGW, Windows Cygwin, Android и Haiku. Было уделено больше внимания над улучшениями на платформе Windows.

Основной особенностью ECL компиляция исходного кода на Common Lisp в байт-код или в портабельный код на C, который затем компилируется стандартным компилятором текущей платформы, что делает компилятор ECL легко переносимым. Например, известны порты ECL на ARM, работающие на Android и iOS.

ECL также может легко встраиваться в приложения, написанные на других языках, как скриптовый язык, но с более богатыми возможностями: Common Lisp, компиляция в байт-код или машинный код (если доступен компилятор С).

>>> Исходный код

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

 , , ,

Oxdeadbeef
()

Python-gflags 3.1.0

Группа Google

Состоялся релиз разработанного компанией Google модуля Python для обработки опций командной строки — python-gflags 3.1.0. Проект распространяется под 3-пунктовой лицензией BSD.

( читать дальше... )

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

 gflags, , ,

cetjs2
()

flex 2.6.2

Группа Open Source

Состоялся релиз flex 2.6.2 — генератора быстрых лексических анализаторов.

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

  • Для configure добавлена опция --enable-warnings, включающая предупреждения компилятора при сборке.
  • Добавлен словенский перевод.
  • Исправлено множество ошибок, в том числе ошибка сегментирования при вызове yyrestart(NULL).

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

 ,

cetjs2
()

Rust Language Service

Группа Open Source

Разработчики Rust представили Rust Language Service, который является одной из первых реализаций Language Server Protocol, созданного Microsoft, Codenvy и Red Hat для стандартизации коммуникации различных IDE и языков программирования.

Rust Language Service пока в состоянии «pre-alpha» и разработчики просят вашей помощи.

Поддержка Language Server Protocol на данный момент реализована только только в Eclipse и VSCode.

>>> Подробности о Language Server Protocol

>>> Подробности о Rust Language Service

 , ,

grim
()

Julia 0.5

Группа Open Source

После года разработки представлен релиз Julia 0.5 — высокоуровневого высокопроизводительного свободного языка программирования с динамической типизацией, созданного для математических вычислений, но также эффективного и для написания программ общего назначения. Синтаксис языка схож с синтаксисом других математических языков (таких как MATLAB и Octave), однако имеет некоторые существенные отличия. Ядро Julia написано c использованием C, C++ и Scheme.

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

( читать дальше... )

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

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

 ,

anonymous
()

Бесплатные электронные книги от издательства O'Reilly

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

Издательство O'Reilly снова предлагает бесплатные электронные книги по программированию (на английском).

Книги помогают разобраться с популярными языками программирования, такими как Java, Python, Rust, C++, Swift.

Также включены книги по архитектуре микросервисов.

>>> Подробности (на английском)

 ebooks, , oreilly,

grim
()

В MIT разработали новый язык программирования

Группа Open Source

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

Язык программирования Simit основан на обратимом автоматическом переводе низкоуровневого описания алгоритмов в высокоуровневое, или графиков в матрицы, с помощью численных методов линейной алгебры. Дальнейшее моделирование не требует от программиста дополнительного переключения и предполагает традиционное написание кода только на языке линейной алгебры. Программы, написанные на Simit, могут работать на обычных (CPU) и графических (GPU) микропроцессорах без адаптации кода.

Вместе с тем новый язык отличается высокой скоростью выполнения алгоритмов. Тесты показали, что на GPU код Simit работает в 4–20 раз быстрее, чем на CPU. Скорость написания кода на Simit в десятки и сотни раз превзошла показатель других языков научного программирования. По словам исследователей, такого результата удалось достичь за счет повышения производительности языка: для выполнения одного и того же алгоритма ему потребовалось 0,1 от стандартного объема кода.

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

Участие в разработке Simit принимали ученые из MIT, Калифорнийского университета в Беркли, Торонтского университета, Техасского университета A&M, Техасского университета в Остине, а также исследователи из компании Adobe Systems Inc.

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

GitHub

Источник

Примеры кода и описание языка

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

 , simit, ,

StReLoK
()

Duktape 1.5.0 — встраиваемый движок JavaScript

Группа Open Source

Состоялся релиз Duktape 1.5.0 — легковесного встраиваемого JavaScript-движка (полностью поддерживается ECMAScript 5, частично — шестая версия), который может работать на платформах с 64КБ системной RAM и 256 КБ flash. Среди преимуществ можно отнести также и простоту встраивания в программы на C/C++ (для этого нужно добавить в проект всего 3 файла — duktape.c, duktape.h и duk_config.h); имеется встроенный отладчик, поддержка Unicode, встроенный движок регулярных выражений. Всё это требует минимального числа зависимостей.

В новой версии улучшен отладчик и снижено потребление памяти.

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

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

 , ,

cetjs2
()

Вышел nim 0.14.0

Группа Open Source

Спустя почти полгода после прошлого релиза вышла новая версия языка программирования nim 0.14.0.

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

Основными особенностями языка являются:

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

По мнению разработчиков, данный язык программирования хорошо подходит для разработки:

  • переносимых приложений,
  • игр,
  • встраиваемых систем и программ микроконтроллеров,
  • системных библиотек,
  • систем криптографии.

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

  • исправлено более 260 ошибок, многие из которых связаны с работой сборщика мусора, также исправлены недостатки, связанные с установкой пакетов исходного кода nim;
  • внесены изменения в компилятор и ядро языка, нарушена обратная совместимость;
  • стандартная библиотека также претерпела изменения;
  • вместе с новым релизом языка nim обновился и его пакетный менеджер nimble.

Стоит также заметить, что в отличие от других языков, появившихся в последнее время, nim не является проектом какой-либо корпорации, а разрабатывается независимым сообществом на народные деньги. Кампания по сбору средств идет довольно успешно, но проекту не помешает и ваша помощь. Каждый доллар, евро, фунт или рубль приближает релиз версии 1.0.0!

Сайт проекта

Кампания по сбору средств на bountysource

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

 , ,

anonymous
()

Написал небольшую книгу для C/C++ программистов

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

Здравствуйте. Меня зовут Андрей Карпов. Сфера моих интересов - язык C/C++ и продвижение методологии статического анализа кода. На протяжении пяти лет я являюсь Microsoft MVP в номинации Visual C++. Основная цель моих статей и работы, сделать код программ немножко безопасней и качественней. Буду рад, если эта мини-книга научит вас писать более надежный код и предостережет от некоторых типовых ошибок. Немало полезного здесь можно будет почерпнуть и тем, кто занимается написанием стандартов кодирования для своих компаний.

Немного истории. Не так давно я создал ресурс, на котором делился различными полезными советами по программированию на языке С++. Ресурс не собрал ожидаемое количество подписчиков, поэтому я не вижу смысла приводить здесь на него ссылку. Сайт просуществует какое-то время, после чего уйдет в небытие. А вот советы достойны сохранения. Поэтому я доработал, пополнил эти советы и объединил их в единый текст. Желаю приятного чтения.

UPD: PDF-версия: https://yadi.sk/i/RCHauHFBr2cSs

P.S. Пользуясь случаем приглашаю всех желающих последовать за мной в Twitter: @Code_Analysis.

>>> Главный вопрос программирования, рефакторинга и всего такого

 , , , ,

Andrey_Karpov_2009
()

Clojure 1.8

Группа Open Source

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

Основные новшества:

  • Функции index-of, last-index-of, starts-with?, ends-with? добавлены в clojure.string.
  • Сокет-сервер с REPL
    -Dclojure.server.repl="{:port 5555 :accept clojure.core.server/repl}"
    
    $ telnet 127.0.0.1 5555
    Trying 127.0.0.1...
    Connected to localhost.
    Escape character is '^]'.
    user=> (println "hello")
    hello
    
  • Direct linking

Большое количество улучшений и исправлений

>>> А ещё у них обновился сайт :-)

 , ,

Debasher
()

Конкурс по параллельному программированию GraphHPC-2016

Группа Кластеры

В рамках третьей научно-технической конференции GraphHPC-2016 по проблемам параллельной обработки больших графов с использованием суперкомпьютеров состоится конкурс GraphHPC.

В этот раз участникам предстоит найти самую быструю реализацию задачи Community Detection в неориентированном графе с весами.

Для реализации задачи участникам предлагаются две категории вычислительных систем: одноузловая вычислительная система (CPU и/ или GPU) и 36-узловой вычислительный кластер.

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

На сайте конкурса вы можете ознакомиться с условием задачи и скачать пример реализации. Конкурс будет проводиться с 1 по 29 февраля при помощи автоматической системы, которая будет запущена 1 февраля, но работать над решением можно начинать уже сейчас.

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

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

 , , ,

maxcom
()

PHP 7.0.0

Группа Open Source

Команда разработчиков PHP рада сообщить о релизе PHP 7.0.

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

( читать дальше... )

>>> Руководство по миграции с PHP 5.6.x

>>> Исходники для загрузки

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

 , ,

Kilte
()

Язык Julia получил на свое развитие $600 000 долларов

Группа Open Source

Язык Julia, сочетающий себе лучшие качества из Python, R и Lisp и в перспективе нацеленный на их полное замещение в научной среде, получил 600 тыс долларов на свое развитие. Деньги предоставил Американский фонд Moore Foundation, чьей миссией является поддержка технологий, которые позволят сделать мир лучше.

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

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

 ,

Xroft
()

Возвращение Focal-81

Группа Open Source

Интерпретатор языка программирования Focal-81, который был написан энтузиастами и заброшен ещё в 1995-м году, возвращается.

Исходный код интерпретатора Focal-81 был модифицирован для соответствия современным реалиям. Без этого интерпретатор даже отказывался собираться. Однако, теперь пропатченная версия собирается и работает.

>>> Скачать

 ,

saahriktu
()

Vala 0.30.0

Группа Open Source

Был выпущен компилятор Vala 0.30.0.

Vala — язык программирования, который нацелен на предоставление фич современного языка программирования разработчикам GNOME без каких-либо дополнительных требований к рантайму и без использования ABI, отличного от уже используемого в приложениях и библиотеках, написанных на языке C.

Компилятор Vala (valac) является самодостаточным компилятором (может сам себя собрать), который транслирует исходный код на Vala в код на языке C. Он использует систему типов GObject для создания классов и интерфейсов, что привносит широкие возможности ООП в Vala.

Список изменений с версии 0.29.3:

  • Обновления биндингов.

( читать дальше... )

>>> Подробнее о Vala

>>> Скачать Vala 0.30.0

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

 , , , ,

CYB3R
()

Вышел Rust 1.2

Группа Open Source

7 августа вышел очередной стабильный релиз Rust 1.2 — языка программирования общего назначения, разрабатываемого Mozilla совместно с сообществом. Данный релиз сохраняет полную обратную совместимость с Rust 1.0, вышедшим в мае этого года.

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

( читать дальше... )

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

 , ,

nonimous
()

Unicode 8.0

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

Unicode Consortium выпустил новую версию стандарта кодирования текстов Unicode — 8.0.

Самым нашумевшим изменением в новой версии стал стандарт для обозначения цвета кожи для символов эмодзи. Эти символы, появившиеся изначально в японской индустрии сотовых телефонов, на многих устройствах отображаются цветными, причём в виде человеческих лиц со светлым цветом кожи, а не в виде более или менее абстрактных «смайликов». Стандарт это разрешает и даже в некоторой степени регламентирует. Однако многие пользователи были недовольны тем фактом, что эти смайлики всегда отображаются с одним и тем же цветом кожи, чаще всего светлым, так что невозможно было, скажем, вставить символ U+1F478 PRINCESS 👸 так, чтобы эта принцесса была негритянкой.

Теперь такая возможность есть. Символы с U+1F3FB по U+1F3FF будут сделаны модификаторами для эмодзи, обозначающими шесть тонов кожи по шкале Фитцпатрика (первый — самый светлый, шестой — самый тёмный, но первый и второй тона не различаются). Символ эмодзи, за которым следует один из этих модификаторов, должен будет отображаться соответствующим цветом. Таким образом U+1F478 + U+1F3FB = 👸🏻 (белая принцесса), U+1F478 + U+1F3FD = 👸🏽 (смуглая принцесса), а U+1F478 + U+1F3FF = 👸🏿 (чёрная принцесса). Эмодзи без указания цвета кожи следует отображать в нейтральном, неестественном цвете, например, жёлто-оранжевом.

Возможность вставки в текст «разноцветных» эмодзи уже появилась в последних версиях ПО от Apple — основного лоббиста нововведения. Вероятно, пользователи Mac OS X и iOS увидят эффект даже в этом тексте, если только в этой новости показ эмодзи картинками не будет отключён настройками сайта или браузера.

Консорциум отмечает, что хотя добавленных функций не хватит, чтобы отразить всё разнообразие вида Homo Sapiens (например, нельзя сделать «азиатское лицо» или U+1F46A FAMILY 👪 с несколькими разными цветами кожи), всё же основная задача Юникода — кодирование текстов, поэтому сложные изображения следует пересылать в виде изображений.

Не обошлось без курьёзов. Например, некоторые азиатские пользователи техники Apple не поняли, что «дефолтный» жёлтый — это нейтральный цвет, и решили, что это крайне оскорбительная расистская выходка.

Из менее забавных нововведений:

  • Знаки слогового письма Чероки в нижнем регистре в дополнение к уже имевшимся знакам Чероки.
  • Много новых унифицированных иероглифов CJK.
  • Добавлен символ грузинской валюты лари.
  • Добавлены символы языков ик, куланго и некоторых другх африканских языков.
  • Письменность ахом для одноимённого индийского языка.
  • Новые арабские буквы для арви — тамильского языка, записанного арабскими буквами.
  • В общей сложности 6 новых письменностей и 7716 новых символов.

Стоит отметить, что консорциум Unicode перешёл на новую схему выпусков. Теперь выпуск новых версий стандарта будет происходить в июне-июле каждого года. Увеличиваться будет старшая цифра версии (предыдущий выпуск был 7.0, следующий, предположительно, будет 9.0), кроме промежуточных выпусков, которые если и будут делаться, то только при острой необходимости. Это позволит тем, кому надо постоянно следить за стандартом, знать, когда готовиться к новому выпуску. Кардинальных изменений в структуре стандарта, вроде того, что произошло при переходе от Unicode 1.1 к 2.0 больше, предположительно, не будет никогда.

>>> Сообщение о выпуске

 , , ,

proud_anon
()