прочитал в
Сценарии: высокоуровневое программирование для XXI века:
Цитата:
Сильно типизированная природа языков программирования систем не способствует повторному использованию кода, а заставляет программистов создавать массу однотипных интерфейсов, каждый из которых рассчитан на объекты специфических типов.
А Форт бестиповый изначально. Вот и его преимущество! Улучшенное повторное использование кода. А если средство разработки Форт-системы предупреждает о возможных конфликтах... Ну или не дает простым способом сделать заведомые ошибки...
И еще. Почему в написании ОС нужно ориентироваться на какую-то одну нишу? Это хорошо для продаж.
ИМХО, лучше сделать
универсальное средство разработки, которое позволит
собрать из компонентов кода выполняемый файл под конкретную задачу. С заданными функциями, ограничениями и указанными оптимизациями.
Т.о. хотелось бы повернуть энтузиазм в другую плоскость - как, используя идеи Форта, сделать мощное средство разработки программ на Форте. Такого современного средства нет. А это нужно! И оно может дать пищу для дальшейшего развития идей.
ИМХО, реализация алгоритмов ОС вторична. Это заведомо можно сделать. Некоторых усилий стоит переписать все на Форте. И что это даст? Еще один С-на-Форте?!
А вот если это делается удобно? Да еще, с максимальным повторным использованием кода (имеется в виду
исходников, не исполняемого) - тогда это ново!
Для каждой задачи есть свое оборудование. В самом деле, не будете же вы разрабатывать драйвера для десктопной ОС или проектировать большую БД на КПК? Нужно иметь под рукой несколько документов в нескольких разных "стандарных" форматах
и возможность проверить решение. Возможность видеть больше, всю картину. Работать с маленьким экраном для этой задачи неудобно, как и вводить большие количества текста. А вот простые вещи - что-то изменить в алгоритме, попробовать организовать связи по-другому - это можно и на КПК.
И универсальная система разработки позволит работать и на десктопе, и на КПК почти одинаково удобно. И сделает код, оптимизированный для
разных задач. Просто надо внести в нее соответствующие фрагменты кода. И эту работу в
хорошей системе сделать несложно.
Форт - контекстно-зависимый язык. Уже сейчас один и тот же (правильно написанный) исходник можно откомпилировать под разные системы, как по разрядности
CELL так и по разновидности ШК. Т.о. задача удовлетворительной целевой компиляции для разных систем имеет решение.
Теперь о представлении данных. Если система содержит средства для работы с таблицами - она позволит сделать
любое необходимое внутреннее представление данных из
любого другого. И простыми средствами. Так что можно не беспокоится о структуре таблиц. Надо еще поле - пожалуйста, можно добавить хоть 10 !
Если это нужно для текущей задачи. Единственно, что надо продумать - связь "старой" и "новой" системы, но это тоже решаемо несколькими способами, надо только выбрать желаемый/подходящий.
Эти идеи переводят проектировщика на более высокий уровень. Он уже может не заниматься "детальным продумыванием" реализации. Сделал любое - попробовал - сделал другое - сравнил - выбрал лучшее. С хорошей системой проектирования переделывать дешево! Теперь можно думать о функционале...
И, кстати, разные решения не теряются!
И можно их использовать в другом случае! В самом деле - возьмем типичную конструкцию языка, которую часто использует программист - циклы. Там есть несколько мест (ключевых слов), которые одинаковы в циклах одного типа. И программист просто заполняет шаблон нужными данными. Если выбирать подходящий шаблон, нужно добавлять только
отличающиеся данные! - Меньше ввода, выше скорость работы. И есть еще часть кода - это Условия. Если есть возможнсть их соединять и инвертировать, работать с ними как с деталями конструктора - тоже будет повышение производительности/надежности - меньше опечаток. Вот над такими вещами хотелось бы работать...
И, кстати,
всё вышеописанное можно реализовать с помощью нескольких довольно простых программ!
Которые можно потом улучшить с помощью получившегося средства!
Мне не хватает примеров реализации нескольких функций - просто еще не сделал - и еще немного времени...
Это и будет "новый" Форт!