Даступны Snek 1.5, Python-падобная мова праграмавання для ўбудавальных сістэм

Кіт Пакард (Кіт Пакард), актыўны распрацоўшчык Debian, лідэр праекта X.Org і стваральнік мноства X-пашырэнняў, уключаючы XRender, XComposite і XRandR, апублікаваў новы выпуск мовы праграмавання Snek 1.5, які можна разглядаць як спрошчаны варыянт мовы Python, адаптаваны для выкарыстання на ўбудаваных сістэмах, на якіх недастаткова рэсурсаў для выкарыстання мікрапітон и CircuitPython. Snek не прэтэндуе на паўнавартасную падтрымку мовы Python, але можа выкарыстоўвацца на чыпах, якія маюць усяго 2КБ АЗП, 32 КБ Flash-памяці і 1КБ EEPROM. Код праекту распаўсюджваецца пад ліцэнзіяй GPLv3. Зборкі падрыхтаваны для Linux, Windows і macOS.

Патрэба ў новай мове ўзнікла ў ходзе выкладчыцкай практыкі Кіта Пакарда, які хацеў бы выкарыстоўваць для навучання студэнтаў мову, прыдатную для прымянення на платах Arduino і які нагадвае па сваіх задачах Lego Logo, але здольны стаць базісам для далейшага навучання праграмаванню. Ключавымі патрабаваннямі да новай мовы былі тэкставы характар ​​(дэманстрацыя рэальных метадаў праграмавання, не завязаных на графічны інтэрфейс і мыш),
прадастаўленне базісу для паўнавартаснага навучання праграмаванні і кампактнасць мовы (здольнасць вывучыць мову за некалькі гадзін).

У мове Snek выкарыстоўваецца семантыка і сінтаксіс Python, але падтрымліваецца толькі абмежаванае падмноства магчымасцяў. Адной з мэт, якая ўлічваецца пры распрацоўцы, з'яўляецца захаванне зваротнай сумяшчальнасці - праграмы на Snek могуць выконвацца з выкарыстаннем паўнавартасных рэалізацый Python 3. Г.зн. студэнты, знаёмыя з Snek, могуць адразу перайсці да працягу вывучэння паўнавартаснага Python і выкарыстоўваць ужо наяўныя свае напрацоўкі пры працы з Python.

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

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

Даступны Snek 1.5, Python-падобная мова праграмавання для ўбудавальных сістэм

У новым выпуску:

  • Дададзены порт для платы Arduino Uno, які падобны на порт для платы Duemilanove, але ўключае замену прашыўкі для Atmega 16u2.
  • Дададзена карэктная падтрымка ланцужкоў аперацый параўнання (a < b < c).
  • Для поплаткаў Adafruit Circuit Playground Express забяспечана магчымасць высновы гуку.
  • Для плат Duemilanove задзейнічаны загрузнік Optiboot, які дазваляе замяніць Snek, каб абыйсціся без ужывання асобнай прылады для праграмавання.

Акрамя Snek Кіт Пакард таксама развівае стандартную Сі-бібліятэку PicoLibc, якую можна выкарыстоўваць на ўбудаваных прыладах з невялікім АЗП.

Крыніца: opennet.ru

Дадаць каментар