Интересный вопрос, на который я попытался сам себе развернуто ответить. Понятно, что есть языки, технологии и подходы, с которыми просто комфортно. Но есть же и объективная составляющая. Интересно, что когда-то она была совершенно другая. Почему сейчас в ситуации "надо сделать быстрее, нет времени на хобби" тем не менее вылезает Форт? Ответ получился такой - "из-за быстрой трансляции постоянно изменяемой части проекта". Чем это полезно сейчас. Множество мелких задач, которые в стиле консоль+Excel решать неудобно (нужны графики, управление с помощью списков, кнопок и ползунков), приходится решать в визуальном редакторе, каждый создавая в принципе одинаковые GUI вокруг нескольких главных виджетов - графики, текстовые поля, канва (TCanvas, он же TImage). А это уже требует постоянной перекомпиляции даже при небольших уточнениях. Кроме того, форма начинает обрастать кнопочками и чекбоксами, потому что нужно вводить уточняющие параметры и флажки. Даже на хорошем процессоре компиляция не сказать чтобы мгновенная, да еще и каждый раз нужно в интерфейсе опять добираться до интересующей операции.
Что дает Форт, используемый как шаблон проектирования (а не как очередной монстр, выращенный из консоли и стягивающий программиста в консоль или к ручному оформлению оконных объектов). 1) Управление свойствами объектов из командной строки. Показать-убрать, подвинуть, добавить график, очистить график, толщину линий побольше, цвет другой... вот, теперь годится, сохраняем картинку. 2) Динамическая компиляция макросов. "Кнопки с индексами 2 - 5 подвинуть вправо на 50 пикселов, а высоту установить 40". Даже если этого не было, это набирается и запускается. 3) Не теряются результаты длительных операций, даже если сохранение не было сразу предусмотрено в интерфейсе. Всегда можно произвольный фрагмент памяти просто сохранить в двоичный или текстовый файл. Не выходя из программы, просто определив в консоли новое слово. 4) Все, что можно подключить к базовой платформе (Lazarus, Qt, VS), можно сделать словом Форт-системы. OpenGL, плейер, браузер, код из расширений процессора, функции CUDA...
В целом, при правильном уточнении, что, как и зачем, Форт вполне пригоден для практики.
|