LINUX.ORG.RU

33
Всего сообщений: 1657

Обновился пакетный менеджер Nimble для языка программирования Nim

Группа Разработка

Первый релиз в 2018 году. Значительным новшеством стало поддержка в одном репозитории нескольких пакетов. Теперь можно указать ?subdir=<dir> в конце вашего репозитория и Nimble будет знать что смотреть в директории для вашего пакета.

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

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

 , ,

opqx ()

10 лет с Колибри: как это было

Группа Open Source

Обзор от дизайнера и прикладного разработчика KolibriOS в честь 10-летия его участия в проекте.

>>> Читать обзор

 , , ,

Badboy ()

Вышла новая версия языка Nim 0.17.2

Группа Разработка

7 сентября вышла новая версия языка программирования Nim 0.17.2.
Nim - это язык системного программирования, который ориентирован на производительность, мобильность и выразительность.

В этой версии был сделан упор на стабильность компилятора, и были исправлены важные баги. Следовательно, очень рекомендуется обновиться. А новой функцией в этом выпуске является поддержка файлов .nimble-link. Это было сделано для поддержки последней версии Nimble с функцией «develop».

Этот выпуск также включает в себя новую версию пакетного менеджера Nimble 0.8.8 который обновился 3 сентября. Где тоже было исправлено множество багов. Но стоит отметить что это достаточно крупное обновление с большим количеством новых функций. С которыми можно ознакомиться по ссылке
https://github.com/nim-lang/nimble/blob/master/changelog.markdown#088---03092017
Из наиболее важных это:

  • Реализована команда разработки develop
  • Реализована задача по умолчанию test для пакетов которые не определяют ее
  • Снижение потребления памяти если пакет содержит много файлов

А 6 сентября появилась новая документация к Nim на DevDocs
http://devdocs.io/nim/

>>> Version 0.17.2 released

 , ,

opqx ()

Nim 0.17.0

Группа Разработка

Представлен релиз языка программирования Nim 0.17.0.

Было сделано много улучшений языка, в том числе управление памятью и работа с концептами, исправлены ошибки. Появилась новая утилита choosenim для установки и работы с разными версиями Nim. Обновился пакетный менеджер Nimble.

>>> Version 0.17.0 released

 , ,

opqx ()

GCC 7.1

Группа GNU's Not Unix

Состоялся релиз набора компиляторов GCC 7.1.

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

  • Поддерживаются все возможности текущего черновика будущего стандарта C++17.
  • Улучшены сообщения компилятора, в том числе добавлены новые предупреждения -Wduplicated-branches, -Wpointer-compare (включено по умолчанию), -Wswitch-unreachable (включено по умолчанию), Wmemset-elt-size (включено при -Wall), -Wint-in-bool-context (включено при -Wall), -Wregister (включено по умолчанию), -Wduplicate-decl (включено при -Wall).
  • Улучшена оптимизация.
  • Добавлена поддержка архитектуры RISC-V, улучшена поддержка ARM64.
  • Теперь поддерживается ОС Fuchsia OS.
  • Удалена поддержка Java (GCJ).
  • Некоторый код, успешно компилирующийся в прошлых версиях, теперь может потребовать изменений. Читайте руководство для получения подробностей.

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

 , ,

cetjs2 ()

Выпуск языка программирования Dart 1.23

Группа Google

Google представила язык программирования Dart версии 1.23. Язык позиционируется как язык структурного программирования Web с синтаксисом, похожим на Java.

Dart включает в себя SDK, в котором есть компилятор в javascript, виртуальная машина Dart VM, пакетный менеджер, анализатор кода, интегрированная среда разработки(IDE), набор стандартных библиотек и плагины для IntelJ IDEA, Emacs и Vim.

Для выполнения отладки есть Dartium, специально собранная версия Chromium с виртуальной машиной Dart из коробки.

Репозиторий pub предоставляет 2567 пакетов(на момент написания новости).

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

 , , , ,

Valman_new ()

Конкурс по параллельному программированию 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.

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

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

 , , ,

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.

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

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

 , , , ,

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

>>> Источник

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

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

 , , ,

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 ()