helios3 (helios3) wrote,
helios3
helios3

Categories:

Кубическое программирование. Пост 2, вариант решения.

Продолжение, начало тут.

А что, если подойти к самому построению блок-схем несколько иначе? Пусть это будет конструктор. Пусть пользователь выбирает блоки из заданного набора. Конечно, такой набор должен быть большим. Но я почему заговорил про кубики-то. Знаете, сколько этих самых кубиков в игре Minecraft? А если вместе с модами? Тысячи, дамы и господа! Между прочим, многие из них представляют из себя полноценные технические устройства, предназначенные для функционирования в виртуальном мире.

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

Как вы думаете, сложно ли играть в Minecraft? Я думаю, что не очень, потому что видел множество малолетних детей, которые успешно с этим справляются. С модификацией Industrial Craft, как раз и позволяющей сложные механизмы, процент детей несколько падает, но всё ещё остаётся подавляющим. Чтобы их совсем не было, это надо играть в ComputerCraft, например. Там реальное программирование на языке Lua, и там нет ни одного ребенка. Приходят, осматриваются по 10 минут и уходят навсегда. Сложно им там.

Кстати, в нашем конструкторе блок-схем тоже может быть режим для взрослых. И в этом режиме пользователь будет видеть голый код, который на самом деле представляет из себя элемент блок-схемы. Это будет некий объект, или даже (страшно подумать!) просто функция. И она будет делать ровно то, что написано у неё снаружи, когда пользователь имеет с ней дело в качестве элемента блок-схемы.

Если договориться о некоем стандарте, да поставить дело на Opensource-рельсы, можно получить огромное количество таких кубиков-функций (объектов), отлаженных и оптимизированных в ноль. Прелесть системы в том, что новые кубики можно будет составлять из уже имеющихся. Да, получится несколько монструозно, и это наложит некоторые ограничения на производительность. Но я хочу напомнить читателю про изначальную постановку задачи.

Мы выявили существование внушительной группы пользователей, которые нуждаются в ни на что не похожем софте только дня них одних. Небольшая часть из них всё же осваивает науку программирования хотя бы на каком-то подходящем уровне. Остальные же понимают трудоемкость такого решения почти сразу и отказываются от попыток. Но ведь трудоемкость-то наше решение снимает! Научиться играть в Minecraft может каждый. Сложность интерфейса нашего конструктора никак не должна превышать сложность выживания в кубическом мире. Только у нас будет без монстров, я надеюсь.

А отдельно от этого праздника простоты и эффективности надо собирать сообщество кодеров. Пилить проект на Гитхабе. Договариваться о правилах. Фигачить код. Править код. Короче, обычный opensource-проект. И я думаю, что это могло бы стать популярнее Minecraft'а. Потому что это тот же самый Minecraft, только ещё и полезных дел можно понаделать.

А вы что думаете?

Subscribe

  • §6. Клятва

    Я, Здесь и Сейчас, Дарую Себе и Клянусь Хранить: Верность — Я Не Предам Честность — Я Не Отвернусь Любовь — Я Не Наврежу…

  • Окно патриотизма

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

  • Религия как оружие

    Меня тут в комментариях на FB навели на одну любопытную историю. Речь в ней шла про шестой крестовый поход и переговоры тогдашнего султана Египта…

promo helios3 march 12, 2014 13:22 2
Buy for 100 tokens
Это программный пост, я давно хотел его написать. Я знаю, что многим из вас не нравится реклама в жж, но должен сказать, что я этого мнения не разделяю. Я убежден, что любая деятельность, которую можно монетизировать, должна монетизироваться, ведь это самый эффективный способ сделать её лучше и…
  • Post a new comment

    Error

    default userpic

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 6 comments