Довелось мне тут познакомиться с языком программирования
КуМИР (в каменты приглашается
czaerlag) и даже написать на нём несколько программ...
Первое. Современные тренажёры, обучающие детей программированию, - классные. Чувствуется, что их составлял человек, которые понимает и любит своё дело. Если тщательно выполнять простые задания, сложность которых постепенно растёт, действительно можно научиться программированию. Хотя бы на том уровне, чтобы питонить всякую наколеночную автоматизацию.
Второе. Написание такого тренажёра - огромный труд. Если посмотреть, сколько всего сделали авторы КуМИРа, невольно проникнешься уважением. Там и множество всяких роботов-исполнителей, и отладчик...
Третье. Ещё бОльший труд - поддерживать систему в актуальном состоянии. Яндекс.Учебник, например, пошёл рациональным путём. Во-первых, у них веб-сервис, а не полноценное приложение. С точки зрения пользователя - мерзость, но в качестве учебного пособия вполне годится, и поддерживать это по понятным причинам легче. КуМИРу, например, требуются библиотеки QT4, которых в свежей (пятилетней давности) Ubuntu уже нет. Во-вторых, в качестве языка у них используется Python. Язык должен быть или хорошим (как, например, C), или просто распространённым (как, например, Python). Язык КуМИРа, очевидно, делался энтузиастами, но не профессионалами. Чего стоит только то, что ключевые слова русские, а ряд функций (например, div и mod) - английские.
Четвёртое. Ещё один аргумент за какой-нибудь промышленный язык - наличие документации. По тому же Python есть масса примеров кода и справочников, а вот узнать что-нибудь про КуМИР можно только из каких-то обрывочных презентаций на сайтах-помойках типа фоксфорда. Понятно, у меня навык гугления яндексом доведён до автоматизма, но не у всех начинающих программистов это так.
Пятое. Отдельная, едва ли не более важная задача, - подготовка заданий и тестов для их проверки. Так, например, я вижу задачу и её решение, которое занимает пять строчек. Однако тут же я вижу, где это решение ломается, а полноценное решение занимает уже не пять строчек, а двадцать. Приучать программиста, что обработка всяких граничных случаев - это 75% кода, надо с самого начала. Потом будет поздно.
Да, а вот и пример кода на КуМИРе. Этот код заставляет робота нарисовать условно-пиксельную кошку.
использовать Робот
алг
нач
цел ещё = 10
цел таб ю[1:100] = {2048,14336,30720,32742,16380,8176,4064,3168,3168,6336}
нц пока справа свободно; вправо кц
нц пока сверху свободно; вверх кц
цел ь, ъ = 0
нц ещё раз
ъ := ъ+1
ь := ю[ъ]
нц 16 раз
если mod(ь,2)=1 то закрасить все
ь := div(ь,2)
если слева свободно то влево
иначе
нц пока справа свободно; вправо кц
если снизу свободно то вниз все
все
кц
кц
кон