Уважаемые коллеги,
К моему глубокому сожалению, я лишь вчера познакомился с таким методом системного анализа и программирования, как таблицы решений (см. книгу Хамби "Программирование таблиц решений").
Ничего не слышал о "современных" исследованиях в этой области - хотя вещь необычайно интересная, как мне кажется:
1) Использование более чем одного измерения для представления программы. Кстати, вроде как еще Plankalkul Конрада Цузе был табличным!
2) Декларативность (непроцедурность) - нет нужды программисту определять самому последовательность дейтствий.
Вот как эмоционально пишет один профессионал по этому поводу:
Цитата:
Традиционные ЯВУ порождают даже НЕ плоские, а с ЛИНЕЙНЫЕ тексты (т.е. такие, для записи которых используется парадигма непрерывной строки (столбца) команд, которые могут быть линейно пронумерованы от начала текста одной координатой). Знаменитые "структурные конструкции" и советы по выписыванию текста программы "лесенкой" являются ЖУЛЬНИЧЕСТВОМ, скрывающим от программистов этот убийственный факт. Запишите В СТРОКУ оператор ЕСЛИ-ТО-ИНАЧЕ, вложив его в самого себя 50 раз. НЕ ДЕЛАЙТЕ ОТСТУПОВ -- они
НЕ НУЖНЫ ПО СИНТАКСИСУ ни языку Pascal, ни языку C! Поймете ли Вы смысл того, что Вы написали? Наверняка нет! Теперь попытайтесь выписать эту же структуру из 50-ти вложений "лесенкой". Помогло? Не слишком -- не видно, где что кончается. "Лесенка" начнет "помогать", когда уровень вложенности не будет больше 3-5 раз и ВЕСЬ ТЕКСТ попадет в ФИЗИОЛОГИЧЕСКИ ограниченное поле Вашего
зрения (и активного внимания)!
После чего прочитайте про ТР хотя бы по книжке Хамби. И Вы поймете, что 50 вложенных друг в друга операторов IF выражают МНОГОМЕРНУЮ ЛОГИКУ МИРА, которую программисты КАЖДЫЙ ДЕНЬ, на работе, пытаются спроецировать ДАЖЕ НЕ НА ПЛОСКОСТЬ, а в ЛИНИЮ! Задайте себе вопрос: сколько проекций В ЛИНИЮ реально N-мерного объекта нужно сделать, чтобы получить его более-менее приличную
модель? Как организовать СВЯЗИ этого огромного числа проекций, чтобы они "уживались" в теле программы? Попытайтесь ответить, и Вы поймете, почему мы сидим вместе с современными средствами проектирования программ в такой глухой технологической заднице. Здесь зарыт ТРИВИАЛЬНЫЙ ответ на все сегодняшние технологические муки программистов: они имеют никуда не годные иструменты.
Вынужденные действовать в абстрактных мирах, размерность которых редко падает до N*M, несчастные программеры снабжены ОДНОМЕРНЫМИ инструментами"
Что думаете и почему в "перспективных разработках" я ничего не встречал?