Re[6]: Программирование, от монолога к диалогу с компьютером
От: mkizub Литва http://symade.tigris.org
Дата: 21.02.09 11:43
Оценка:
Здравствуйте, frogkiller, Вы писали:

F>Немного оффтопик. Сразу оговорюсь, что моих познаний не достаточно, чтобы дать характеристику вашему с Сергеем спору по существу. У меня есть несколько замечаний по форме.


F>Я посмотрел картинки на твоём сайте и демо-документ. Имхо всё изложено излишне сложно, и общее впечатление остаётся из серии "тяжёлая громоздка хрень для редактирования XML", и даже XML в ней редактировать неудобно — надо лазить по пунктам меню, что-то нажимать. В общем вместо обещанного повышения производительности будет её значительное замедление. Имхо чтобы привлечь инвесторов, тебе надо сделать изложение более простым и доступным.


Это 10 с плюсом. Чтоб редактировать, надо что-то нажимать.
Я понимаю, что изложить можно попроще, но тогда может получится перл вроде этого.
Конечно, лазить по пунктам меню — вещь утомительная. Но нужная, когда ты не знаешь какую клавишу нажать, чтоб это действие было выполнено.
Можно писать коротко — "создайте новый узел", и пусть читатель догадывается, как его создать. Можно написать "нажмите Ctrl+N или выберите в меню Edit->New node для создания нового узла". Так будет длинно, и туманно — где-то лазить, что-то нажимать, почему компьютер сам не догадается, что мне нужно создать новый узел...

Удобно в нём редактировать. Я же редактирую, мне удобно. Это не plain text, по ощущениям больше похоже на работу в vi. Переключение между режимами ввода текста, ввода комманд, работы со словами-предложениями. Для редактирования деклараций мне практически так-же удобно, как текст набивать. Это если ты знаешь, какой текст набивать, а если не знаешь — то структурный редактор удобнее. Но можно и нужно сделать ещё более удобно. Чарльз Симони (который делает Intentional Programming) где-то у себя писал, что они делали и делают сравнения по удобству/эргономичности редактирования между своим редактором и текстовым — и в IP надо нажимать меньше кнопок, создание кода происходить быстрее и удобнее. Где можно поправить и улучшить у себя я тоже знаю, только не хватает времени на всё.

Я писал для инвесторов много и разнообразно. Один параграф, три параграфа, страница, три страницы...
Я писал для них ура-предложения, что дадите немного денег и будет вам щастье. Я писал объяснения откуда это щастье возьмётся. Первое им нравилось, и они говорили, что да, очень интересно, вы ещё инвесторов поищите — с таким изложением обязательно найдёте. Второе им совсем не нравилось, оно было заумно и непонятно. Они пытались выяснить что-же на самом деле имеется в виду, какое-то время со мной общались, наконец понимали небольшой процент из сказанного (и то, очень своеобразно). И удовлетворившись своей проницательностью рекомендовали мне это изложить попроще и тогда я обязательно найду инвестора.

F>И я до сих пор не понял, кто будет основным потребителем твоей супер-IDE. Вряд ли программисты в классическом понимании, потому что твой очень абстрактный подход всегда будет проигрывать частным специализированным решениям в прикладных областях (ну не поверю я, что с его помощью можно сделать конкурентно способный кросплатформенный веб-сервер или хороший 3D-шутер).


Вот именно, кросплатформенный веб-сервер, хороший 3D-шутер, и многое другое. То, что ты в этом не веришь сейчас, не значит, что это не так.
Что нужно для хорошего шутера? Красивая графика — а она делается на специализированном языке для шейдеров. Хороший скрипт (сценарий), чтоб было багов поменьше и интеллекта поболее. Значит пишут свой скриптовый язык программирования, ориентированный на данный жанр и даже на данную игру, и пишут на нём код. Много кода. Мегабайты скриптового кода. Ты думаешь, можно написать мегабайты скриптового кода быстро и без багов? Не получается. Пока это пара файлов — всё отлично. А как только пошёл большой код — баг на баге. Вот и делают игрушки 5 лет, вместо 1 года.
Или ты думаешь, что кросс-платформенный веб-сервер можно делать без кросс-платформенных абстракций? Нельзя. Можно взять яву, которая и будет кросс-платформенной абстракцией. Хорошо, если она приспособлена для изготовления веб-серверов, а если нет? Даже понятие файла, уж где взять более общее и стандартное — и то разное в разных операционках, когда доходит до деталей реализации быстрого доступа.

F>Скриптописатели бизнес-логики? аналитики? системные архитекторы? менеджеры? — у каждой из этих специальностей есть свои особенности и пожелания к инструментам. Без них даже самый замечательный в теории проект обречён на неудачу.


SymADE — Symbolic Adaptable Development Environment.
Это значит, что я его хочу написать таким, чтоб его можно было адаптировать, приспособить к разным требованиям, особенностям и пожеланиям.
Адаптировать до такой степени, чтоб он был лишь немного хуже специализированного решения.

F>И наконец, о форме представления данных — да, в теории прямая работа с деревом может давать определённые преимущества. Но на практике мне предложенный в твоём демо-описании способ кажется очень неудобным. Мне кажется, что мышь и клавиатура — не самые подходящие для этого инструменты. И настоящий вопрос на 1M$ — на самом деле больше дизайнерский, чем научный — придумать устройство ввода, удобное для работы с графическим представлением иерархической структуры данных.


Мозг
Научиться думать картинками.
Когда ты знаешь, что писать — уже без разницы, текст это или дерево, сколько нажатий кнопок на это нужно — только бы оно позволило это написать.
SOP & SymADE: http://symade.tigris.org , блог http://mkizub.livejournal.com
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.