Компания Google открыла исходные тексты проекта Grumpy, в рамках которого развивается экспериментальный Python runtime для языка Go. Grumpy обеспечивает трансляцию кода на языке Python в представление на языке Go и позволяет бесшовно запускать оттранслированные Python-программы в runtime-окружении языка Go. Отмечается, что одной из основных целей проекта является обеспечение высокого уровня совместимости с CPython и достижение возможности применения Grumpy в качестве полноценной замены Python runtime для проектов на языке Python. Код транслятора написан на языке Python и поставляется под лицензией Apache 2.0.

На конференции Build 2015 компания Microsoft представила первый кросс-платформенный продукт в линейке Visual Studio - Visual Studio Code, представляющий средства для создания, редактирования и отладки современных web-приложений и программ для облачных систем. Visual Studio Code распространяется бесплатно и кроме платформы Windows доступен в версиях для Linux и OS X.

В качестве основы для Visual Studio Code используются наработки свободного проекта Atomразвиваемого компанией GitHub. В частности, Visual Studio Code является надстройкой над Atom Shell, использующим браузерный движок Chromium и Node.js. Примечательно, что об использовании наработок свободного проекта Atom на сайте Visual Studio Code и в пресс-релизе и в официальном блоге не упоминается.

Редактор содержит встроенный отладчик, инструменты для работы с Git и средства рефакторинга, навигации по коду, автодополнения типовых конструкций и контекстной подсказки. Продукт поддерживает разработку для платформ ASP.NET и Node.js, и позиционируется как легковесное решение, позволяющее обойтись без полной интегрированной среды разработки. Среди поддерживаемых языков и технологий : JavaScript, C++, C#, TypeScript, jade, PHP, Python, XML, Batch, F#, DockerFile, Coffee Script, Java, HandleBars, R, Objective-C, PowerShell, Luna, Visual Basic, Markdown, JSON, HTML, CSS, LESS и SASS.

Microsoft выпустила для Linux среду разработки Visual Studio Code

Дополнение: Кроме продукта Visual Studio Code, компания Microsoft также выпустила предварительную версию .NET Core runtime для Linux и OS X.

Компания Canonical представила релиз дистрибутива Ubuntu 16.10 "Yakkety Yak". Готовые сборки созданы для Ubuntu, Ubuntu ServerUbuntu CoreKubuntuUbuntu GNOMEXubuntuUbuntu StudioLubuntuUbuntu MATEUbuntu CloudUbuntu Studio и UbuntuKylin (редакция для Китая).

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

Компания Google представила релиз web-браузера Chrome 54. Одновременно доступен стабильный выпуск свободного проекта Chromium, выступающий основой Chrome. Браузер Chrome отличается использованием логотипов Google, идущим в комплекте модулем Flash, наличием системы отправки уведомлений в случае краха, модулями для воспроизведения защищённого видеоконтента, системой автоматической установки обновлений и передачей при поиске RLZ-параметров.

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

После трёх лет разработки и после более 10 лет развития ветки 7.x состоялся релиз текстового редактора Vim 8.0. Код Vim распространяетсяпод собственной копилефт лицензией, совместимой с GPL, и позволяющей без ограничений использовать, распространять и перерабатывать код. Основная особенность лицензии Vim связана с возвратом изменений - реализованные в сторонних продуктах улучшения должны быть переданы в исходный проект, если мэйнтейнер Vim посчитает эти улучшения заслуживающими внимания и отправит соответствующий запрос. По типу распространения, Vim относится к Сharityware, т.е. вместо продажи программы или сбора пожертвований на нужды проекта, авторы Vim просят перечислить любую сумму на благотворительность, если программа понравится пользователю.

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

  • Поддержка асинхронного ввода/вывода и каналов, позволяющих обмениваться сообщениями с другими процессами в фоновом режиме, что даёт возможность отправлять задания отдельным серверным обработчикам и принимать результаты не прерывая работу основного процесса Vim. Данные при взаимодействии между процессами могут передаваться в формате JSON, что позволяет создавать достаточно сложные плагины на любом языке программирования, работающие в форме отдельно выполняемых серверных процессов;
  • Концепция, позволяющая запустить некоторую задачу в фоне, взаимодействовать с ней и остановить при необходимости. Таким образом, например, можно запустить специальный процесс для проверки синтаксиса или автодополнения кода. Задачи могут записывать и читать содержимое буфера или файла, а также взаимодействовать с основным процессом через каналы;
  • Таймеры, которые позволяют запускать функции через определённое время или через повторяющиеся промежутки времени;
  • Дополнительные средства для косвенного вызова функций - "Partial", которые в отличие от Funcref кроме ссылки на функцию дополнительно прикрепляют к запросу аргументы и словари, что удобно для совершения callback-обращений через каналы и таймеры;
  • Поддержка лямбда-выражений и замыканий для быстрого создания пользовательских функций ("{args -> expr}");
  • Реализация пакетов для установки, обновления и управления плагинами;
  • Возможность обращения к окнам по привязанным к ним уникальным идентификаторам, а не по порядковому номеру окна;
  • Из viminfo информация теперь извлекается на основании времени записи, а не последнего добавленного элемента;
  • Добавлена опция 'breakindent' для смещения строк без нарушения отступов;
  • Добавлена опция 'renderoptions', позволяющая задействовать DirectX (DirectWrite) для отрисовки вывода в Windows;
  • Поддержка сборки графического интерфейса с GTK+ 3. При наличии GTK+ 2 и GTK+ 3 по умолчанию по-прежнему используется GTK+ 2.

Facebook представил проект MyRocks, в рамках которого развивается новый движок хранения для СУБД MySQL 5.6, основанный на системе хранения RocksDB, оптимизированной для Flash-накопителей. Главными целями создания MyRocks является повышение эффективности хранения данных на Flash-накопителях и сокращение размера БД.

В качестве основных причин большого потребления дискового пространства в InnoDB отмечается фрагментация, низкая степень сжатия и выравнивание сжатых данных внутри хранилища по страницам фиксированного размера (размер страницы 8 Кб и даже если данные упакованы в 5 Кб всё равно будет израсходован блок в 8 Кб). Хранилище MyRocks лишено данных недостатков, так как применяет размер страницы плавающего размера и предоставляет значительно более эффективный метод сжатия. MyRocks также выполняет меньше операций последовательного чтения/записи за счёт использования модели хранения данных в форме лога (Log Structured Merge Trees), допускающей только дополнение (чистка производится сборщиком мусора).

При хранении аналогичного объёма данных внедрение нового хранилища на основные серверы Facebook позволило на 50% сократить размер БД по сравнению со сжатым хранилищем InnoDB и в 3.5 раза по сравнению с InnoDB без применения сжатия. Кроме сокращения размера применение MyRocks также привело к ускорению репликации за счёт сокращения операций чтения при обновлении ключей. Также ускорились операции загрузки данных в БД, благодаря пакетной обработке входящих данных.

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

Компания Google представила релиз web-браузера Chrome 53. Одновременно доступен стабильный выпуск свободного проекта Chromium, выступающий основой Chrome. Браузер Chrome отличается использованием логотипов Google, идущим в комплекте модулем Flash, наличием системы отправки уведомлений в случае краха, модулями для воспроизведения защищённого видеоконтента, системой автоматической установки обновлений и передачей при поиске RLZ-параметров.