Previous Entry Share Next Entry
2016-01

нетекстовое программирование cont-d.

вынесу из комментов:

собсно гря визуальных тулз есть 3 вида

1. моделирование, про код речи вообще не идет, за искл реверсной инженерии
2. рассчитанных на команду разработчиков и команду пользователей разработанной системы ("движок и дизайнеры" в геймдеве, и т.д.)
3. self-contained, рефлексивные тьюринг-полные тулзы, написанные на самих себе

третий вид практически не существует, т.к. делать его означает делать все программирование с нуля :) но думать в эту сторону, имхо, является полезной пищей для ума.

This entry was originally posted at http://wizzard.dreamwidth.org/265516.html. It has comment count unavailable comments. Please comment there using OpenID.

  • 1
polycode February 15th, 2013
Первая ассоциация на п. 3 - Emacs.

murkt February 15th, 2013
Более удобный термин пока так и не нашёлся?

wizzard0 February 15th, 2013
Пока нет, более того, слово "программирование" тоже не кажется особо подходящим.

109 February 15th, 2013
пофиг на чём написано, лишь бы работало хорошо. да хоть как-нибудь работало. большинство же - просто какая-то чудовищная хуйня. вот например в VS есть нечто, называемое sequence diagram. вопрос при взгляде на это возникает только один: WTF IS THAT?

ну и, кстати, modeling tools должны уметь оставаться in sync с кодом, иначе в них смысла большого нет. то есть должны уметь reverse engineer.

wizzard0 February 15th, 2013
> modeling tools должны уметь оставаться in sync с кодом, иначе в них смысла большого нет
Yep

vgrichina February 17th, 2013
Bret Victor описывает тут интересный (но не Тьюринг-полный) подход к визуальному программированию http://worrydream.com/MagicInk/

В других его статьях тоже достаточно интересные идеи.

Я думаю что Тюринг-полнота – плохая цель для системы визуального программирования, так как она приводит к использованию визуальных абстракций там где лучше работают вербальные. Например математические выражения лучше или записывать как есть или выводить автоматом из набора примеров, но точно не стоит рисовать их в виде AST.

То есть думаю идеальная система должна комбинировать в себе визуальные и вербальные элементы. А вообще учитывая плачевный state of the art неплохо было б иметь хотя бы "подсистемы" для типичных визуальных задач вроде создания интерактивной инфографики.

si14 February 17th, 2013
В принципе, вы только что описали Mathematica :)

vgrichina February 17th, 2013
Хмм, а разве в Mathematica есть какие-либо визуальные элементы кроме собственно отображения результатов?

wizzard0 February 17th, 2013
In short: Да :)

Там есть штук 50 разных способов нетекстово забиндить переменную, от слайдеров до инпута с вебкамеры, координат курсора или потока с микрофона (как звук, как голосовой ввод и ко и ко)

vgrichina February 17th, 2013
> Там есть штук 50 разных способов нетекстово забиндить переменную, от слайдеров до инпута с вебкамеры, координат курсора или потока с микрофона (как звук, как голосовой ввод и ко и ко)

А ну то есть получается ввод-вывод необязательно текстовый. Это как бы не только в Mathematica есть :)

wizzard0 February 17th, 2013
Ну понятно что не только там, я про то, что конкретно задача создания интерактивной инфографики отлично решается :)

vgrichina February 17th, 2013
Не уверен что решается
1. Разве можно это экспортировать для использования в вебе?
2. Насколько я понимаю создать инфографику с кастомным дизайном нет возможности.

Так уж можно в принципе сказать что Excel решает задачу создания интерактивной инфографики (кстати в более доступном для не-специалистов формате обработки данных).

Что я имею в виду это создание инфографики вроде такого http://worrydream.com/HowManyHouseholds/ (http://worrydream.com/HowManyHouseholds/) на таком уровне чтоб дизайнер мог не только статические макеты в фотошопе рисовать.

Edited at 2013-02-17 05:16 pm (UTC)

wizzard0 February 17th, 2013
1. да, с интерактивностью через флэш, джаву и жс где может, и через жс+аякс где не может, оно помоему даже на амазон само деплоиться умеет
2. зависит от желания лезть в потроха :) по дефолту можно всякие цвета и фончики настраивать, насчет файнтюнинга хтмл - не знаю.

vgrichina February 17th, 2013
1. прикольно, не знал
2. ну я имею в виду именно чтоб не лезть в потроха, чтоб мог делать дизайнер даже без знания html/css.

Вообще html/css достаточно печальны сами по себе, так как до сих пор все интерфейсы как правило верстаются руками в текстовом виде, что как по мне полный феил учитывая что с момента создания Smalltalk прошло больше 30 лет, да и UI мобильных / десктопных приложений худо-бедно можно дизайнить визуально.

kelijah February 26th, 2013
Привет,
не пояснишь - что за штука: "3. self-contained, рефлексивные тьюринг-полные тулзы, написанные на самих себе".

wizzard0 February 26th, 2013
термин "bootstrapping compiler", думаю, знаком? (когда компилятор С написан на С и следующую версию себя компилит сам же, например)

вот под self-contained я понимаю примерно то же самое, но чуть более широко - например, Pharo - это Smalltalk образ, который является виртуальной машиной, и внутри у него и редактор, дебаггер, и весь toolchain, необходимый для дальнейшей разработки.

также, например, Lively Kernel (сейчас, правда, полудохлый) - JS/Smalltalk-on-JS редактор написанный на самом себе, с заметным упором в визуальность.

Но реально средств именно нетекстового программирования, которые были бы целиком написаны на самом себе я не встречал, только "игрушечные" системы, т.к. разрыв между программистами и пользователями обычно весьма большой, а "программисты-для-программистов" обычно сводят все к тексту :)

То есть вот с натяжкой под это определение подходит Wolfram Mathematica, Pharo и разнообразные web-редакторы, генерирующие Javascript, если в таковых есть достаточно мощный редактор прог, не сводящийся к стыковке уже готовых блоков, а в котором можно выразить любую логику.

kelijah February 26th, 2013
Ага, понял, спасибо.

  • 1
?

Log in

No account? Create an account