Re[3]: О закономерностях
От: x-code  
Дата: 31.01.07 08:50
Оценка: +2
Здравствуйте, Андрей Хропов, Вы писали:

XC>>очень хотелось бы чтобы все эти слои были доступны в IDE. Т.е. я ставлю квадратик "программа",

АХ>Графическое и текстовое представления — это всего лишь два представления (интерфейса к, если угодно) одной семантической сущности — программы. Блок-схемы можно иметь и для машинных кодов.
XC>> и от него могу постепенной детализацией спуститься вниз вплоть до машинного кода.
АХ>Согласен, тут вопрос формализации. Если на каком-то уровне у тебя есть полная формализация программы — т.е. что должно быть на выходе, что на входе и компьютер может вывести (возможно, с подсказкой) как это надо делать, то тебе в принципе не нужно спускаться на более низкие уровни, поскольку там уже за тебя решено все автоматически. Сейчас большинство программ пишутся на уровне 4, все что выше слабо формализовано, от этого определенные проблемы в том числе с обратной связью, т.к. модель нижнего уровня может начать расходиться с моделью верхнего, но у нас есть мало инструментов для автоматического приведения их в соответствие, а также на задание constraints сверху вниз.

Я скорее имел в виду представление не на уровне данных, а представление для самой IDE. UML тоже можно создавать в текством редакторе. Так сложилось, что для классического программирования текст — наиболее удобный формат. Наиболее компактный (на экране больше всего влезает именнт текстовой информации, в сравнении например с любыми диаграммами), и наиболее удобный для редактирования.

Вообще, для дальнейшего продвижения по уровням IDE становится не менее важной частью программирования чем ЯП.
Сейчас в основе лежит текстовый редактор, а поверх него навешиваются различные парсеры, Class Brower'ы и визуализаторы. А хотелось бы наоборот. Пусть программа как и раньше хранится в файлах в текстовом виде (это чем двоичные форматы), но при загрузке в IDE она СРАЗУ загружается в какое-то AST, и вся дальнейшая работа происходит уже через это AST. А текстовый редактор можно вызывать если программисту "по старинке" заходелось написать кусок кода (причем именно ограниченный кусок кода — метод или блок в методе), и сразу же когда программист закончит вводить код, этот код нужно преобразовать в AST. А если там ошибки — сразу же указать на них в окне редактора.
Тогда полностью исчезнет проблема синхронизации уровней, а заодно и куча других проблем.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.