О кумирах

топ 100 блогов hardsign25.04.2024

Довелось мне тут познакомиться с языком программирования КуМИР (в каменты приглашается О кумирах 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)
      если слева свободно то влево
      иначе
        нц пока справа свободно; вправо кц
        если снизу свободно то вниз все
      все 
    кц
  кц
кон

Оставить комментарий

Архив записей в блогах:
впервые после возвращения в россию довелось проехаться 2 часа на подмосковной электричке. Сказать, что перед глазами пронесся клейдоскоп всех возможных на этом свете эмоций - не сказать ничего. По совпадению, ввалившись домой, хлебнув коньяку, ...
Фото: © Steve Morgan / Greenpeace Сегодня полицейские, прибывшие на датском военном корабле "Кнуд Расмуссен" сняли с нефтяной платформы Leiv Eiriksson капсулу, в которой 4 дня прожили двое активистов Гринпис - Ханна и Люк. Два человека несколько суток ...
Не знаю, как у вас, у нас +14.  j_harris_391 from Unsplash " title="Photo by j_harris_391 from Unsplash " fetchpriority="high" /> Photo by j_harris_391 from Unsplash ...
  Около станции метро Сходненская состоялся второй агитационный пикет в предверии Русского Первомая.  В пикете приняли участие представители "Правой лиги" , "Нации Труда" ,"Собора Русского народа" , "Национального Союза". ...
...