Подержанный автомобиль - прекрасное средство для поездки в автосервис и обратно.

- Дорогой – купи хлеба, чтобы я не переживала... ...

Google продлил до 8 лет время поддержи устройств на базе ChromeOS
Thu, 23 Jan 2020 09:54:13 +0300

Открыт код клиентских приложений ProtonVPN
Wed, 22 Jan 2020 10:44:18 +0300

Технический комитет OASIS утвердил спецификацию OpenDocument 1.3
Wed, 22 Jan 2020 10:03:53 +0300

Дистрибутив Kubuntu начал распространение ноутбука Kubuntu Focus
Wed, 22 Jan 2020 08:38:45 +0300

Для Btrfs представлена асинхронная реализация DISCARD
Wed, 22 Jan 2020 04:48:18 +0300

Сanonical предложил Anbox Cloud, облачную платформу для запуска Android-приложений
Tue, 21 Jan 2020 14:37:47 +0300

Red Hat развивает JIT-компилятор MIR
Tue, 21 Jan 2020 08:48:56 +0300

Rust-фреймворк actix-web возрождён и будет передан сообществу
Mon, 20 Jan 2020 21:36:52 +0300

В Минэкономики РФ предложили создать архив кода, дублирующий GitHub
Mon, 20 Jan 2020 19:05:46 +0300

Копилефт лицензии постепенно вытесняются пермиссивными
Sat, 18 Jan 2020 22:55:51 +0300

Разработчик Rust-фреймворка actix-web удалил репозиторий из-за травли
Sat, 18 Jan 2020 20:17:10 +0300

Linux-смартфон PinePhone доступен для заказа
Fri, 17 Jan 2020 09:55:06 +0300

Google опубликовал план прекращения поддержки Chrome Apps, NaCl, PNaCl и PPAPI
Fri, 17 Jan 2020 09:15:19 +0300

IBM, Microsoft и Mozilla поддержали Google в судебном разбирательстве с Oracle
Thu, 16 Jan 2020 21:42:07 +0300

В Xfce осуществлён перевод диалогов на декорирование окон на стороне клиента
Thu, 16 Jan 2020 12:19:52 +0300

Новости OPENNET
Новости

Доступен выпуск проекта Tinygo 0.7.0, в рамках которого развивается компилятор языка Go для областей, в которых необходимо компактное представление результирующего кода и низкое потребление ресурсов, таких как микроконтроллеры и компактные однопроцессорные системы. Код распространяется под лицензией BSD.

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

Мотивом создания нового проекта послужило желание использовать привычный для себя язык Go на компактных устройствах - разработчики рассудили, что если существует вариант Python для микроконтроллеров, то почему бы не создать подобное для языка Go. Go выбран вместо Rust так как он более прост в изучении, предоставляет независимую от реализаций потоков поддержку распараллеливания на основе сопрограмм и предлагает обширную стандартную библиотеку ("батарейки входят в комплект").

В текущем виде поддерживается 15 моделей микроконтроллеров, включая различные платы Adafruit, Arduino, BBC micro:bit, ST Micro, Digispark, Nordic Semiconductor, Makerdiary и Phytec. Программы также могут быть собраны для запуска в браузере в формате WebAssembly и в виде исполняемых файлов для Linux. Поддержки контроллеров ESP8266/ESP32 пока нет, но отдельно развивается проект по добавлении поддержки чипа Xtensa в LLVM, который пока отмечен как нестабильный и не готовых для интеграции с TinyGo.

Ключевые цели проекта:

  • Генерация очень компактных исполняемых файлов;
  • Поддержка наиболее распространённых моделей плат микроконтроллеров;
  • Возможность применения для Web;
  • Поддержка CGo с минимальными накладными расходами при вызове функций на языке Си;
  • Поддержка большей части стандартных пакетов и возможность компиляции типового существующего кода без его изменения.
  • Не входит в число основных целей поддержка многоядерных систем,

    эффективный запуск огромного числа сопрограмм (сам по себе запуск сопрограмм поддерживается в полной мере), достижение уровня производительности эталонного компилятора gc (оптимизация отдаётся на откуп LLVM и в некоторых применениях Tinygo может оказаться быстрее gc) и полная совместимость со всеми приложениями на Go.

    Основным отличием от похожего компилятора emgo является попытка сохранения оригинальной модели управления памятью Go с использованием сборщика мусора и задействование LLVM для генерации эффективного кода вместо компиляции в представление на языке Си. Tinygo также предлагает новую runtime-библиотеку, в которой реализованы оптимизированные для компактных систем планировщик, система распределения памяти и обработчики строк. На базе нового runtime пересозданы некоторые пакеты, такие как sync и reflect.

    Из изменений в выпуске 0.7 отмечается реализация команды "tinygo test", обеспечение поддержки сборки мусора для большинства целевых плат (на базе ARM Cortex-M) и WebAssembly, поддержка платы HiFive1 rev B на основе архитектуры RISC-V и платы Arduino nano33,

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

    8.9391 68.6856 0.5655 61.9515

    НОВОСТИ: Обновление Firefox 72.0.2. В Firefox 74 появится возможность зап ... Mon, 20 Jan 2020 22:23:21 +0300

    Доступен корректирующий выпуск Firefox 72.0.2, в котором устранено несколько проблем, влияющих на стабильность.

    ???????@Mail.ru Opera Firefox INFOBOX - хостинг Google Chrome