Snek 1.5, ngôn ngữ lập trình giống Python dành cho hệ thống nhúng, đã có sẵn

Keith Packard (Keith packard), nhà phát triển Debian tích cực, lãnh đạo dự án X.Org và là người tạo ra nhiều tiện ích mở rộng X, bao gồm XRender, XComposite và XRandR, công bố phát hành ngôn ngữ lập trình mới Lẻn 1.5, có thể coi là phiên bản đơn giản của ngôn ngữ Python, được điều chỉnh để sử dụng trên các hệ thống nhúng không có đủ tài nguyên để sử dụng cuộc chạy bộ и MạchPython. Snek không yêu cầu hỗ trợ đầy đủ cho ngôn ngữ Python, nhưng có thể được sử dụng trên các chip có RAM tối thiểu 2KB, bộ nhớ Flash 32KB và 1KB EEPROM. Mã số dự án phân phối bởi được cấp phép theo GPLv3. hội đồng chuẩn bị dành cho Linux, Windows và macOS.

Nhu cầu về một ngôn ngữ mới nảy sinh trong quá trình giảng dạy của Keith Packard, người muốn sử dụng một ngôn ngữ để dạy học sinh phù hợp để sử dụng trên bảng Arduino và giống với Logo Lego trong các nhiệm vụ của nó, nhưng có thể trở thành nền tảng cho việc đào tạo lập trình sâu hơn. . Các yêu cầu chính đối với ngôn ngữ mới có tính chất văn bản (trình diễn các phương pháp lập trình thực tế không dựa vào giao diện đồ họa và chuột),
cung cấp cơ sở cho việc đào tạo lập trình đầy đủ và tính gọn nhẹ của ngôn ngữ (khả năng học ngôn ngữ trong vài giờ).

Snek sử dụng ngữ nghĩa và cú pháp của Python, nhưng chỉ hỗ trợ một tập hợp con các tính năng hạn chế. Một trong những mục tiêu được tính đến trong quá trình phát triển là duy trì khả năng tương thích ngược - các chương trình trên Snek có thể được thực thi bằng cách sử dụng triển khai Python 3 chính thức. những học sinh quen thuộc với Snek có thể ngay lập tức chuyển sang tiếp tục học Python chính thức và sử dụng kiến ​​thức hiện có của mình khi làm việc với Python.

Snek được chuyển sang nhiều loại thiết bị nhúng, bao gồm Arduino, Feather/Metro M0 Express, Adafruit Crickit, Adafruit ItsyBitsy, Lego EV3 và bảng µduino, cung cấp quyền truy cập vào GPIO và nhiều thiết bị ngoại vi khác nhau. Đồng thời, dự án cũng đang phát triển bộ vi điều khiển mở của riêng mình ván trượt (ARM Cortex M0 với 256KB Flash và 32KB RAM), được thiết kế để sử dụng với Snek hoặc CircuitPython và nhằm mục đích giảng dạy và chế tạo robot sử dụng các bộ phận LEGO. Công cụ tạo Snekboard thu thập trong quá trình gây quỹ cộng đồng.

Trình chỉnh sửa mã có thể được sử dụng để phát triển ứng dụng trên Snek Mu (bản vá để được hỗ trợ) hoặc IDE bảng điều khiển của riêng bạn Snekde, được viết bằng thư viện Curses và cung cấp giao diện chỉnh sửa mã và tương tác với thiết bị qua cổng USB (bạn có thể lưu ngay các chương trình vào eeprom của thiết bị và tải mã từ thiết bị).

Snek 1.5, ngôn ngữ lập trình giống Python dành cho hệ thống nhúng, đã có sẵn

Trong bản phát hành mới:

  • Đã thêm một cổng cho bo mạch Arduino Uno, tương tự như cổng cho bo mạch Duemilanove, nhưng bao gồm phần thay thế phần sụn cho Atmega 16u2.
  • Đã thêm hỗ trợ chính xác cho chuỗi so sánh (a < b < c).
  • Bảng Adafbean Circuit Playground Express cung cấp khả năng đầu ra âm thanh.
  • Đối với bảng Duemilanove, bộ nạp khởi động được bật Optiboot, cho phép bạn thay thế Snek mà không cần phải sử dụng thiết bị lập trình riêng.

Ngoài Snek, Keith Packard còn có phát triển thư viện C chuẩn PicoLibc, có thể được sử dụng trên các thiết bị nhúng có ít RAM.

Nguồn: opennet.ru

Thêm một lời nhận xét