Snek 1.5, забони барномасозии ба Python монанд барои системаҳои дарунсохт дастрас аст

Кит Пакард (Кит бастаи), таҳиягари фаъоли Debian, роҳбари лоиҳаи X.Org ва созандаи бисёр васеъшавии X, аз ҷумла XRender, XComposite ва XRandR, нашр нашри нави забони барномасозӣ Газак 1.5, ки онро метавон ҳамчун варианти соддакардашудаи забони Python баррасӣ кард, ки барои истифода дар системаҳои дарунсохт мутобиқ карда шудааст, ки барои истифода захираҳои кофӣ надоранд микропитон и схемаи python. Snek иддао намекунад, ки дастгирии пурраи Python аст, аммо онро дар микросхемаҳо бо камтар аз 2KB RAM, 32KB Flash ва 1KB EEPROM истифода бурдан мумкин аст. Кодекси лоиҳа паҳн мекунад тибқи GPLv3 литсензия шудааст. Маҷлисҳо омода кардааст барои Linux, Windows ва macOS.

Зарурати забони нав дар давоми таҷрибаи таълимии Кит Паккард ба миён омад, ки мехост ба донишҷӯён забони барои истифода дар тахтаҳои Arduino мувофиқро истифода барад ва дар вазифаҳои худ Lego Logo-ро ба хотир меорад, аммо қодир аст, ки асоси омӯзиши минбаъдаи барномасозӣ шавад. Талаботи калидӣ барои забони нав ба матн асосёфта буданд (намоиши усулҳои воқеии барномасозӣ, ки ба интерфейси графикӣ ва муш алоқаманд нестанд),
барои омузиши мукаммали барномасозй ва компакт будани забон (кобилияти дар чанд соат омухтани забон) замина мухайё мекунад.

Забони Snek семантика ва синтаксиси Python-ро истифода мебарад, аммо танҳо як зер маҷмӯи маҳдуди хусусиятҳо дастгирӣ карда мешавад. Яке аз ҳадафҳое, ки ҳангоми таҳия ба назар гирифта мешаванд, нигоҳ доштани мутобиқати ақибмонда мебошад - барномаҳои Snek метавонанд бо истифода аз татбиқи пурраи Python 3 иҷро шаванд. донишҷӯёне, ки бо Snek ошно ҳастанд, метавонанд фавран ба омӯзиши пурраи Python идома диҳанд ва он чизеро, ки аллакай бо Python кор мекунанд, истифода баранд.

Ба доираи васеи дастгоҳҳои дарунсохт, аз ҷумла Arduino, Feather/Metro M0 Express, Adafruit Crickit, Adafruit ItsyBitsy, Lego EV3 ва тахтаҳои µduino интиқол дода шудааст, Snek дастрасӣ ба GPIOs ва таҷҳизоти гуногуни перифериро таъмин мекунад. Дар баробари ин, лоиҳа инчунин микроконтроллерҳои кушодаи худро таҳия мекунад. Снекборд (ARM Cortex M0 бо 256KB Flash ва 32KB RAM) барои истифода бо Snek ё CircuitPython тарҳрезӣ шудааст ва барои таълим ва сохтани роботҳо бо истифода аз қисмҳои LEGO нигаронида шудааст. Воситаҳо барои эҷоди snackboard ҷамъоварӣ ҳангоми краудфандинг.

Муҳаррири кодро барои таҳияи барномаҳо дар Snek истифода бурдан мумкин аст Mu (лавҳаҳои дастгирӣ) ё IDE консолии шахсии шумо Снекде, ки бо истифода аз китобхонаи Curses навишта шудааст ва интерфейси таҳрири код ва муошират бо дастгоҳро тавассути порти USB таъмин мекунад (шумо метавонед фавран барномаҳоро дар eeprom дастгоҳ захира кунед ва кодро аз дастгоҳ бор кунед).

Snek 1.5, забони барномасозии ба Python монанд барои системаҳои дарунсохт дастрас аст

Дар нашри нав:

  • Порт барои тахтаи Arduino Uno илова карда шуд, ки ба порти тахтаи Duemilanove шабеҳ аст, аммо ивазкунандаи нармафзори Atmega 16u2-ро дар бар мегирад.
  • Дастгирии дурусти занҷирҳои амалиёти муқоисавӣ илова карда шуд (a <b <c).
  • Тахтаҳои Adafruit Circuit Playground Express қобилияти баромади аудио доранд.
  • Bootloader барои тахтаҳои Duemilanove фаъол карда шудааст Optiboot, ба шумо имкон медиҳад, ки Snek-ро иваз кунед, то ба дастгоҳи алоҳидаи барномасозӣ ниёз надоред.

Ғайр аз Снек Кит Паккард низ инкишоф меёбад китобхонаи стандартии C PicoLibc, ки мумкин аст дар дастгоҳҳои дарунсохти бо RAM кам истифода бурда мешавад.

Манбаъ: opennet.ru

Илова Эзоҳ