The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Выпуск Snek 1.10, Python-подобного языка программирования для встраиваемых систем

29.11.2024 09:58

Кит Паккард (Keith Packard), активный разработчик Debian, лидер проекта X.Org и создатель множества X-расширений, включая XRender, XComposite и XRandR, опубликовал новый выпуск языка программирования Snek 1.10, позиционируемого как упрощённый вариант языка Python, адаптированный для использования на встраиваемых системах, на которых недостаточно ресурсов для использования MicroPython и CircuitPython. Snek не претендует на полноценную поддержку языка Python, но может использоваться на чипах, имеющих всего 2КБ ОЗУ, 32 КБ Flash-памяти и 1КБ EEPROM. Код проекта распространяется под лицензией GPLv3. Сборки подготовлены для Linux, Windows и macOS.

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

Для разработки приложений на Snek может использоваться редактор кода Mu (патчи для поддержки) или собственная консольная интегрированная среда разработки Snekde, которая написана с использованием библиотеки Curses и предоставляет интерфейс для редактирования кода и взаимодействия с устройством через USB-порт (можно сразу сохранять программы в eeprom устройства и загружать код с устройства).

Snek портирован для различных встраиваемых устройств, включая платы Arduino, Feather/Metro M0 Express, Adafruit Crickit, Adafruit ItsyBitsy, Lego EV3 и µduino, предоставляет доступ к GPIO и периферийным устройствам. Проектом также разработан собственный открытый микроконтроллер Snekboard (ARM Cortex M0 с 256КБ Flash и 32КБ ОЗУ), рассчитанный на использование со Snek или CircuitPython, и нацеленный на обучение и создание роботов с использованием деталей LEGO.

В новом выпуске:

  • Добавлена поддержка использования 512-байтового загрузчика ubaboot на платах ATmega 32u4.
  • В глобальное пространство имён перенесены функции, связанные с математическими вычислениями, временем и генерацией псевдослучайных чисел (модули "math", "time" и "random"), которые теперь можно использовать без префиксов "math.", "time." и "random.".
  • Компоненты для поддержки микроконтроллеров AVR адаптированы для новой avr libc и компилятора gcc-avr на базе gcc 14.
  • Для всех поддерживаемых устройств предложены унифицированные реализации генераторов псевдослучайных чисел snek-random.c и snek-random-small.c (вариант без 64-разрядной арифметики для маломощных устройств).


  1. Главная ссылка к новости (https://github.com/keith-packa...)
  2. OpenNews: Доступен PikaScript 1.8, вариант языка Python для микроконтроллеров
  3. OpenNews: Выпуск стандартной Си-библиотеки PicoLibc 1.8.6
  4. OpenNews: Обеспечена возможность запуска MicroPython в web-браузере
  5. OpenNews: Проект Tilck развивает упрощённое Linux-совместимое ядро
  6. OpenNews: Опубликована операционная система реального времени RT-Thread 5.1
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/62315-snek
Ключевые слова: snek, python
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (46) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (1), 10:11, 29/11/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Все нормальные пацаны уже давно на RISCV, а эти до сих пор сидят на древнеарме и выдают это за инновацию.

    /me отбивает фейспалмом себе всё лицо.

     
     
  • 2.3, Аноним (3), 10:16, 29/11/2024 [^] [^^] [^^^] [ответить]  
  • –3 +/
    RISC-V всё ещё не вошёл на рынок потребительской техники.
     
     
  • 3.5, Аноним (1), 10:20, 29/11/2024 [^] [^^] [^^^] [ответить]  
  • +5 +/
    А ещё он не вошёл на рынок спутников достигших гелиопаузы. Только кому какое дело. Одноплатников на RISCV уже выше крыши.  
     
     
  • 4.12, Аноним (12), 10:45, 29/11/2024 [^] [^^] [^^^] [ответить]  
  • +2 +/
    И чо на них пускать? Софта нет. Да и стоят они дороже малин и ардуин.
     
     
  • 5.35, Аноним (1), 12:40, 29/11/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Так софт и не появится если его не для чего делать. И цена не снизится пока не будет миллионных партий, но к этому всё идёт.
     
  • 4.53, Бывалый Смузихлёб (ok), 15:39, 29/11/2024 [^] [^^] [^^^] [ответить]  
  • +/
    настолько смачно, что даже стоить прокомментировать
     
  • 3.41, ptr (ok), 14:10, 29/11/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Это только для тех, которые не в курсе, что даже WiFi лампочки и WiFi реле выпускаются уже на ESP32-C3, а линейку Xtensa Espressif сворачивает.
     
     
  • 4.45, Аноним (3), 14:59, 29/11/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Разницу между встраиваемой техникой и потребительской техникой надо объяснять?
     
     
  • 5.50, ptr (ok), 15:04, 29/11/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > Разницу между встраиваемой техникой и потребительской техникой надо объяснять?

    Конечно. WiFi лампочка уже престала быть потребительской техникой? Какой же она по-вашему стала?

     
  • 3.42, Аноним (42), 14:15, 29/11/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Скажи это моему паяльнику
     

  • 1.2, Аноним (3), 10:11, 29/11/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Мнение анонимных экспертов, стоит учить сабж или лучше сконцентрироваться на Питоне?
     
     
  • 2.4, Аноним (1), 10:16, 29/11/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Это всего лишь dsl для их фирменного snekboard причем что характерно это контроллер для Lego. А поддержка сторонних плат это просто маркетинг.
     
  • 2.6, Аноним (6), 10:28, 29/11/2024 [^] [^^] [^^^] [ответить]  
  • +/
    зачем тебе питон? посмотри на хедхантере за что больше платят, то и учи
     
     
  • 3.7, Аноним (1), 10:31, 29/11/2024 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Неверная стратегия. Платят больше за то что фиг выучишь и спец там нужен с миллионом лет опыт. Учить надо то на что больше вакансий и что востребовано т.е. для РФ это 1С.
     
     
  • 4.14, Аноним (6), 10:49, 29/11/2024 [^] [^^] [^^^] [ответить]  
  • +/
    ты ещё посоветуй осваивать low-code
     
     
  • 5.16, Аноним (1), 10:55, 29/11/2024 [^] [^^] [^^^] [ответить]  
  • +/
    УюУ меня товарищ уехал в Тайланд и стал лоукод программистом, а был сисадмином.
     
  • 4.39, Аноним (39), 13:39, 29/11/2024 [^] [^^] [^^^] [ответить]  
  • +/
    >Учить надо то на что больше вакансий и что востребовано

    Правильно, везде нужны хорошие токари, каменщики и дворники.

     
     
  • 5.47, Аноним (3), 15:01, 29/11/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Не, для ручного труда у меня руки не и с того места, да и ленивый через-чур.
     
  • 4.48, Аноним (3), 15:01, 29/11/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Про 1С уже грешным делом начинаю задумываться, но всё же С++ более желательный вариант, тем более что я его уже начинал изучать.
     
  • 2.20, Аноним (20), 11:07, 29/11/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Питон - точно кратковременное увлечение. До всплеска машинного обучения и нейросетей он жил в очень ограниченном мире. Но и там не удержится. Что-либо серьёзное на нём как нельзя было делать 20 лет назад, так и сейчас нельзя.

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

     
     
  • 3.21, Прохожий (??), 11:19, 29/11/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > Питон - точно кратковременное увлечение. До всплеска машинного обучения и нейросетей он жил в очень ограниченном мире. Но и там не удержится. Что-либо серьёзное на нём как нельзя было делать 20 лет назад, так и сейчас нельзя.

    На счет кратковременного не могу согласиться, т.к. благодаря рекламе он типа очень распространен. В ИНС используется в качестве [текстового] интерфейса к библиотекам на С. Не более того, ибо быстродействие его никакое от слова совсем. Не стал бы заморачиваться ни на нем, ни на сабже тем более. Не представляют научного интереса.

     
  • 3.23, Аноним (23), 11:23, 29/11/2024 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Это вы до машинного обучения и нейросетей не воспринимали питон всерьез. Так-то он в академической среде популярен уже лет 20 как. Все эти новомодные штучки результат этой популярности, а не наоборот. Поэтому никуда питон в обозримом будущем не денется.
     
     
  • 4.24, Аноним (20), 11:35, 29/11/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Академическая среда очень переменчива. Собственно, питон когда-то всплыл из-за тех, кто не был способен мыслить на более низком уровне. В сравнении с Перлом, вероятно, Питон более простой. Но сейчас времена изменились. А питон запихнули даже туда, где ему вообще не место. Например в базовую подготовку программистов. Большинство из тех, кто вырос на питоне, программистами в итоге то и не смогут стать потому, что любой современный язык программирования будет ломать им мозги. Соответственно, это поколение списываем. А как только верхние руководители спохватятся, то в университетах поставят курсы на чём-то современном. И всё. Удел Питона - пенсионеры из потерянного поколения.
     
     
  • 5.27, 1 (??), 12:06, 29/11/2024 [^] [^^] [^^^] [ответить]  
  • +/
    С Фортраном. Perl и "академики" - "две вещи несовместные" (с)
     
  • 5.49, Аноним (3), 15:04, 29/11/2024 [^] [^^] [^^^] [ответить]  
  • +/
    >Большинство из тех, кто вырос на питоне, программистами в итоге то и не смогут стать потому, что любой современный язык программирования будет ломать им мозги.

    Я начинал учиться на программиста в 2003 году. Из языков мы учили СИ, С++. Про существование питона узнал в году так 2014 наверное, может даже позже.

     
     
  • 6.51, Аноним (20), 15:14, 29/11/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > Про существование питона узнал в году так 2014 наверное, может даже позже.

    именно из-за его узости применения. Но ведь на карьере это же хорошо сказалось?

     
  • 3.40, _kp (ok), 14:06, 29/11/2024 [^] [^^] [^^^] [ответить]  
  • +/
    >>Что-либо серьёзное на нём нельзя

    Конечно, если  3D игры на нем писать, то нельзя
    А скрипты для тех же игр уже можно :)

    >>Популярность

    Так в нише скриптовых языков выбор не велик - Pythoh, JS, Lua, и их производные


    А на совсем мелких контроллерах, не способных даже MicroPython запустить, Sneck подобные баловства,
    поделят быстродействие на ноль, съедят небогатые объёмы памяти, и не раскроют плюсов от скриптовых языков, в общем только проблемы.
    А.. и конечно не библиотек, ни примеров, только грабли. Но если произойдет чудо, и хоть что то сделать на этом рабочее, то станешь "каким то не таким" специалистом, вне сообществ программирования под те контроллеры. А оно надо?

     
  • 3.46, Вася Пупкин (?), 15:01, 29/11/2024 [^] [^^] [^^^] [ответить]  
  • +/
    И без ML питонов хватало в ютубах и прочих инстаграммах. То что вы его не видели, говорит только то, что вы его не видели. А на счет читаемости - наоборот. Это самый читаемый из всех популярно-используемых языков по построению. Это его основная идея и философия. Возможно вы ее не прочувствовали.
     
     
  • 4.52, Аноним (20), 15:15, 29/11/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > А на счет читаемости - наоборот. Это самый читаемый из всех популярно-используемых языков по построению. Это его основная идея и философия

    при условии, что ничего другого не смотрел

     
  • 2.43, ptr (ok), 14:16, 29/11/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Для встраиваемых систем язык с динамической типизацией и сборкой мусора имеет весьма узкую область применения. Например, на PFS154 с его 128 байтами RAM - это точно не взлетит при любом раскладе.

    Так что, если не хочется концентрироваться на C, можно смотреть, например, в сторону C++ или Rust.

     

  • 1.8, Аноним (8), 10:31, 29/11/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    > используется синтаксис Python

    То есть опять программировать пробельчиками? Пробельчики как практически _единственный_ способ организации control flow -- до такого еще додуматься надо.

     
     
  • 2.9, Аноним (1), 10:35, 29/11/2024 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Потому что на других языках нельзя заставить программиста нормально форматировать текст кода. А тут встроенный стандартом автоформат на уровне стандарта языка, а не тулза сбоку.
     
     
  • 3.13, Аноним (8), 10:45, 29/11/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Можно. Есть такая вещь, называется автоформаттер, который можно настроить, чтобы он срабатывал по Ctrl-S при сохранении в редакторе. Во-вторых, есть CI/CD, где можно добавить проверку, блочащий MR/PR, если код коряво отформатирован. В-третьих, подобные решения есть и для питона, потому что его синтаксис все равно свободный: 'a=42' -- здесь можно с пробелами, а можно без, но чтобы приучить программера ставить пробелы вокруг знака равно, все равно придется обмазываться автоформаттерами и CI/CD. Так что твой аргумент попросту невалиден. В-четвертых, код с пробельчиками тяжело копировать-вставлять в каких-нибудь мессенджерах, не умеющих в маркдаун, но это уже другая история.
     
     
  • 4.15, Аноним (15), 10:54, 29/11/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Это все фигня. Можно сделать успешный ЯП с пробелами, можно без пробелов. Ни на что это не влияет абсолютно. И обсуждать это вообще смысла нет.
     
     
  • 5.28, 1 (??), 12:08, 29/11/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Конечно с пробелами. Как в JCL.
    "Один пробел может уничтожить цивилизацию" (с)
     
  • 4.19, Аноним (1), 11:02, 29/11/2024 [^] [^^] [^^^] [ответить]  
  • +2 +/
    В том то и дело что можно добавить, а можно не добавить. А уж когда в твой проект коммитит товарищ у которого тоже автоформатирование, только не такое же как у тебя и тебе прилетает коммит с тысячами правок, но все про форматирование и ты ничего там не поймёшь. И все это CI/CD это костыль, который не работает. Самое лучшее что смогли придумать это как в Go принудительное форматирование на уровне тулинга компилятора. Но это уже принудиловка и во многих случаях мешает. А вот в питоне лучшее компромиссное решение и защищает от копипастеров что тоже плюс. И ограничивает уровень вложенности в отличии от других языков которые любят вкладывать.
     
     
  • 5.22, Аноним (8), 11:21, 29/11/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Если бы ты участвовал хоть в каких-нибудь проектах, будь то коммерческих или опе... большой текст свёрнут, показать
     
     
  • 6.31, Bottle (?), 12:23, 29/11/2024 [^] [^^] [^^^] [ответить]  
  • +/
    CI/CD совершенно не защитит тебя от той ситуации, когда code style у заимствованной библиотеки другой.
    А тут изначально языком гарантируется как надо писать.
     
     
  • 7.34, Аноним (8), 12:40, 29/11/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Мало кто сует заимствованные библиотеки себе в репу вместо того, чтобы скачива... большой текст свёрнут, показать
     
     
  • 8.38, Аноним (1), 12:51, 29/11/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Потому что количество пробелов после равно не имеет значения Оно даже в питоне ... текст свёрнут, показать
     
  • 6.37, Аноним (1), 12:46, 29/11/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Вот вот принуждает, заставляет. А кто проверяет заставлятеля и кто самое главное заставляет его слушать непонятно. А питон, на секундочку, появился в 1991 году и сразу сделал красиво. А тогда не то что ci/cd не было, но даже системы контроля версий были под вопросом. Зато питон позволяет делать красиво без всего этого наносного.  
     
  • 4.32, Аноним (32), 12:24, 29/11/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > В-четвертых, код с пробельчиками тяжело копировать-вставлять в каких-нибудь мессенджерах, не умеющих в маркдаун

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

    П.С. Но вообще, довольно странное желание кодить в мессенджерах. А если уж делаешь это на регулярной основе, то выбирать мессенджер в котором это наименее удобно...

     
  • 3.44, _kp (ok), 14:22, 29/11/2024 [^] [^^] [^^^] [ответить]  
  • +/
    >> заставить программиста нормально форматировать

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

     
  • 2.11, Аноним (12), 10:43, 29/11/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Щас бы придираться к синтаксису, который не важен, а не к семантике, которая единственная важная вещь в дизайне ЯП.
     
  • 2.29, Аноним (32), 12:16, 29/11/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > То есть опять программировать пробельчиками?

    Пробельчики, скобочки и пробельчики - какая в опу разница?

    > Пробельчики как практически _единственный_ способ

    Разрешаю использовать табы.

     

  • 1.25, Я (??), 11:51, 29/11/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    смысл? никакой пользы от питона там нет, ни экосистемы, ни библиотек, ни безопасности. только ради пробелов и хайпа?
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру