Обновить

АрдуЛисп: революционное решение в области образовательной робототехники

Время на прочтение4 мин
Охват и читатели11K
Всего голосов 8: ↑8 и ↓0+11
Комментарии16

Комментарии 16

либо 14+ – использование скриптовых языков программирования: С++,Java, Python, Lua.

С каких пор Плюсы и Ява стали скриптовыми?

Понятие script в английском языке имеет более широкую нотацию, чем в русском NLP.
Да, действительно С++ и Java не являются языками для написания скриптов. С другой стороны сказать, что все интерпретаторы - это только скриптовые языки программирования тоже неправильно.
В статье под скриптом понимается написание программы на любом ЯП на латинице, что очень проблематично для детей, например, дошкольного возраста.
Из этих соображений С++ и Java - скриптовые ЯП компиляторы, а Python, Javascript, PHP - скриптовые ЯП интерпретаторы.
К нескриптовым подходам в программировании тогда можно отнести Scratch(Blockly), XOD, FLProg, HiAsm и прочее.

А, вы использовали слово "скриптовый" в противоположность "визуальному", ок. Тут, наверное, да, более подходящего слова не найти

Революция опоздавшая эдак на 50 лет. Мне симпатичен LISP но "образовательным" его считать - ну это суровый перебор.

Я бейсик интерпретируемый в ардуину устраивал. С телефона чтобы интерактивно программировать. Ну всё равно не то чтобы очень удобно. А тут еще скобочки и слова диковинные.

Вот тут эту тему уже поднимали на профессиональном уровне. Вывод: АрдуБейсик - не очень приемлемое образовательное решение. Интересно использовать конструкцию goto, но в итоге автор перешёл к в выбору чистого ASMа. Возможно автору той статьи эта тема зайдёт, поскольку в uLsip, на некоторых микроконтроллерах, можно прям на ASMe в реальном режиме времени, извиняюсь, "фигачить"!

По поводу выбора LISP позвольте раскрою тему в следующем комментарии. Пока что отмечу, что, во-первых, мы имеем дело не с LISP, а с uLisp и, во-вторых, изначально я предлагаю работать не с uLisp а с АрдуЛисп - обёрткой Blockly для uLisp, а это довольно легко для начинающих.

За идею большой плюс, а выбор языка - сомнителен. Лисп весьма хардкорен для молодого мозга. Вам нужны седые дети? :)

Лисп так-то намного проще других языков. С страх скобочек - это какая-то нездоровая фобия.

Это не ЛИСП, вообще-то!

По поводу выбора языка программирования. Тут долгая история.
Веду кружок по робототехнике. Пытаюсь научить детей программированию. С++ - самоцель. Но опыт показывает, что программирование на достаточно высоком уровне можно давать с 1-го класса. У меня школьник с 3-го класса "рвёт" олимпиады по программированию Ардуино за счёт того, что освоил Ardublok. Но перейти к С++ не может - не тот это инструментарий для этого возраста. microPython? Там тоже не легче!
Сын в четвёртый пошёл. У него нет таких способностей как у моего олимпиадника. Но задач для Arduino мне много выдумал. Я с ним договорился, что делаю ему комфортную среду для программирования, а дальше она сам делает свои придуманные проекты, ну с подсказками конечно ;). Ardublock сразу отмёл, поскольку интуиция и опыт работы с ним говорили о том, что потом всё равно придётся эти проекты самому допиливать. Короче перебрал всё что можно было бы упаковать в Blockly: microPython, Node MCU, Espruino. И остановился на uLisp, который изначально не воспринимал в серьёз. Однако это оказалось самым адекватным решением для ребёнка. В итоге Работаю над АрдуЛисп чуть больше года. Не всё там пока работает как надо, в процессе, но то что уже получилось самого меня впечатляет. uLisp залюбил и пытаюсь интегрировать его в другие проекты... А в скобочках есть особая магия, которую можно использовать для прокачки собственного NLP, но это уже совсем другая история ;)...
P.S. Мой олимпиадник уже в 5-м классе, а это означает, что он попадает уже в старшую группу, а тут нужно соревноваться, в том числе, с 11-классниками (со средней группой у нас не заморачиваются). Отучаю, помаленьку от Ardublock в сторону АрдуЛиспа, моя задача в том, чтобы к весне он смог тоже "порвать" эту категорию. Олимпиадные задачи для Ардуино достаточно простые из-за того что С++ тяжело даётся. Нужен адекватный инструментарий. Поэтому - всё реально!

Мне проект Xod очень нравился. Визуально понятный и дружелюбны. Жаль, что его забросили.

ЛИСП-машину можно собрать из любой платы Ардуино на базе микроконтроллеров AVR, даже на Arduino Nano!

Uno и Nano содержат один тот же контроллер.

Может имеются в виду платы на attiny85 ?

Имел ввиду в сравнении с Arduino Mega. Из AVR uLisp поддерживает ещё ATmega4809 и ATmega1284, а так же AVR128DA48 and AVR128DB48 - Curiosity Nano boards. uLisp достаточно "тяжёлый" - не для tiny точно!

Выглядит очень перспективно. Лисп у детей, пока голова не испорчена императивным программированием, на самом деле хорошо идёт. Не зря именно на Лиспе было основано Лого и далее это развилось в Scratch. На мой взгляд, проект очень уместный и важный.

Спасибо за отзыв! Замечу что c помощью Blockly, что лежит в основе Scratch, собственно, реализуются все базовые элементы императивного программирования. При написании транслятора Блокли для uLisp все элементы императивного программирования для Блокли на uLisp были реализованы, практически, без проблем. Проблемы возникли только при реализации функций, поскольку там каждый полученный результат был из неё выходом, поэтому пришлось упаковывать содержимое функции в контейнер (progn) и в части определения временных переменных - (let) в функциях что-то не задалось. А так на uLsip получается что вся императивка поддерживается ;).

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации