от Алексей Недоря Дата 12.07.2017
Категория: Мнения

Киберфеодализм или Полдень XXII века?

Не вдаваясь в политические и социологические аспекты вопроса, зададим себе вопрос на вопрос: А что надо сделать сейчас, чтобы наступил все же Полдень?

Если мы ограничимся только технологической составляющей, то часть ответа очевидна: программирование – вторая профессия и вторая грамотность. Говоря другим языком, созидающая часть человечества (а в идеале всё человечество) использует компьютеры для решения своих рутинных и творческих задач. Программирование уже нас окружает, люди программируют везде и всегда, хотя нет понимания, что это часть нашей жизни. Часть, которая не уйдет, а вырастет и окрепнет. Люди будут программировать все больше, как это не назови.

Теперь попробуем понять – как они будут программировать? Или о каком программировании мы говорим?

Для ответа на этот вопрос, разделим области программирования на слои, они очевидны:

Еще можно выделить учебное программирование (обучение программированию) и спортивное (олимпиадное) программирование – но это не слои. Обучение программированию относится к каждому слою, а спортивное – это что-то типа подготовки спецназа.

Мы же говорим о программировании для всех, и такое программирование, очевидно, не попадает ни в один из слоев. Скорее, это еще один слой, который можно назвать «бытовым программированием».

Чем бытовое программирование отличается от всех остальных?

Во-первых, отличие в требованиях к результату и способам программирования.

Как уже видно из этого списка, слой бытового программирования явно отличается от других.

Во-вторых, важной особенностью бытового программирования является то, что программы делает не профессиональный программист. Сокращенно можем назвать: M2M (me-to-me).

Бытовое программирование можно определить как программирование человеком своих устройств для решения бытовых (повседневных) задач. Бытовое программирование очевидно распространяется на решения семейных задач и (частично) задач индивидуальных предпринимателей и малых предприятий. К «своим» устройствам я отношу не только гаджеты и компьютеры, а также сервисы и ресурсы (например, Яндекс.Диск), которые могут использоваться для решения повседневных задач.

Требования к инструментам разработки для бытового программирования явно отличаются от требований к инструментам для других уровней.

Рассмотрим бытовое программирование на жизненном примере.

Ребенок идет домой из школы.

Хочу запрограммировать следующее:

Очевидное условие: у ребенка должно быть устройство с GSM/GPS (часы, браслет или телефон)

Что нужно для решения этой задачи бытовому программисту:

Если все это есть, бытовой программист может написать скрипты и расставить триггеры для запуска этих скриптов. Скрипты и триггеры в совокупности и составляют «супер-приложение», решающее задачу.

Набросаем часть решения (то, что нужно запрограммировать):

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

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

Полезные ссылки

  1. Визуальный язык Scratch 
  2. Первая статья о бытовом программировании
  3. Попытка прогноза

Схожие записи

Создать комментарий