Pull to refresh

Comments 13

Где Human Resource Machine, 7 Billion Humans, Colobot? Что за список такой, самой классики нет.

А история не закончена — еще будут!)

Туда же Opus Magnum и другие игры от Zachtronics (да, где-то не особо детский уровень, но всё же).

что вам дети плохого сделали? )

А что не так? С пелёнок на завод)

Можно еще таким чудом тогда одарить как Shenzhen I/O для особенно неугодивших. Хотя тут, подозреваю, что возможно настоящие языки реально не сложнее будут.

Из этого делаются не программисты, а инженеры АСУ :)

С юных лет приучать перекладывать джейсоны. Seriously?

Муж предлагал сразу C++, но я пожалела ребенка)))

Почитайте с ним лучше. Классический английский как раз в этом возрасте отлично заходит

А игры обязательно должны быть на гаджетах?

Примерно месяц назад тут в комментариях обсуждался вопрос про обучение детей программированию: с какого языка и с какого возраста лучше начать. Писали про школьный возраст и даже про шестилеток. А я предложил рассмотреть крайний случай. Поскольку буквально накануне чтения этой статьи не только разработал свой собственный языке программирования "для самых маленьких", но и обучил ему свою дочку. Фактически доказав тем самым, что базовые навыки программирования ребенок может освоить намного раньше.

К сожалению, автор позже снял свою публикацию, а комментарии при этом становятся недоступными. А меня терзает надежда, что этот подход к обучению будущих программистов может кого-то навести на полезные размышления. Поэтому, несмотря на риск показаться навязчивым, выложу здесь

описание этого языка еще раз

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

Честно скажу про технические ограничения

Несмотря на то, что будущая среда исполнения подразумевалась заранее, меня сразу поставил в тупик вопрос о технических характеристиках процессора, на котором все будет работать. Включая такую "базу", как объем памяти и длина машинного слова. Было бы страшно обидно на заключительном этапе разработки обнаружить, что все задумки летят у чертям, так как "савраска" просто "не тянет". Поэтому я решил не связываться с традиционными наработками, у которых требования к "железу" начинаются с 8-битных слов и многих килобайт памяти, и ужаться до минимума

В общем, язык называется "Папсик", и сейчас там всего семь команд, что позволяет его реализовать на 3-битной архитектуре. Сами команды такие:

1) На шею
2) Направо
3) Налево
4) Вперед (она начинает "ньютоновское" равномерное движение вплоть до встречи с препятствием или отмены)
5) Стой
6) Опусти

И, конечно, синтаксический сахар (куда ж без него) - это команда

7) К маме

Причем, в процессе исполнения последней команды интерпретатор автоматически декомпозирует ее на операторы (1)-(6), а специальный динамик озвучивает их по ходу их исполнения. По моим наблюдениям, это очень способствует быстрому освоению языка.

Несмотря на минималистичность и простоту, язык позволяет строить достаточно сложные маршруты в трехкомнатном лабиринте, изрядно заставленном всякой мебелью. Уточню еще, что на полное освоение Папсика у нас ушла пара недель не слишком интенсивных занятий. А сложнее всего дочке давалась команда "Стой", особенно когда в длинном коридоре надо остановиться точно напротив двери, чтобы туда повернуть Впрочем, вопросы синхронизации разных процессов - это одна из сложнейших тем в любом языке...

Ну и добавлю еще, что дочке сейчас 2.5 года, и свой первый язык программирования она уже освоила если не в совершенстве, то на уровне профессионального пользователя. С одной стороны, это вроде неплохо.. с другой, как мне совершенно справедливо указали в комментах к первой статье, злоупотребление командой "на шею" может спровоцировать жесткую профдеформацию

на всю оставшуюся карьеру...

Жаль, сейчас я уже не могу найти тот коммент и отблагодарить его автора плюсом. Но его следующий работодатель точно должен накинуть ему +10% к зарплате за умение обнаруживать скрытые баги в самом безобидном, на первый взгляд, коде ;-)

Sign up to leave a comment.