Потому что у него есть все признаки языка программирования. Присутствует конечный алфавит (пусть и виде блоков), определена грамматика (допустимые соединения блоков). И все это используется для программирования, пусть и такого узконаправленного. А что до назначения - то язык программирования не обязан быть общего назначения.