Добрый день, Алексей Царегородцев!
Ваше сообщение от 22.08.2007 11:33:
> Размышлял я вот сегодня опять на тему, что, собственно, является
> основным препятствием к использованию Форта?
>
Это уже практически оффтопик. Если и есть какие препятствия, то они не в
Форте,
а в голове. Иначе как объяснить, что Форт все же используется. Ну, не всеми.
Потому что не для всех.
> Попытавшись сравнить процесс программирования на C и на Forth пришёл к
> интересной мысли, что это - плохой дизайн.
>
У Форта и Си в равной степени плохой дизайн. Хуже, чем у Лиспа и Смолтолка.
Зато эффективнее.
> Причём дизайн, заложенный прямо в стандарт языка. Простейший пример:
> DO ... LOOP
>
ответ тут же:
> может, но не обязательно,
> то может быть, но не обязательно,
> реализован с
>
>
> Что это для меня значит?
Значит, что "не нравится - не ешь". Или сделай свои управляющие конструкции
с хорошим дизайном. Этому ведь форт не препятствует?
Есть множество нестандартных расширений, хорошо прижившихся в SPF
благодаря своему удобству, некоторые даже в другие форты портированы.
Так будет и с твоими управляющими конструкциями, если они будут заметно
полезнее старых. Естественный отбор :)
> Это значит, что я не могу произвольно
> оставлять значения на стеке в процессе компиляции,
> не учитывая этого фокуса.
Ну, раз это документированный фокус, то надо его учитывать, конечно.
> Причём - если я всё-таки захочу что-то там
> оставить, чтобы использовать потом в [ ... ] ,
> всё равно не смогу этого сделать переносимым способом.
>
Сможешь.
> И таких мест встречается масса. Хуже, что это воспринимается, кажется,
> всеми, как нормальная практика.
>
Привычка. Те недостатки дизайна, которые действительно начинают мешать,
устраняются (как недавно Рувим с блеском решил задачу многопоточной
компиляции),
а эти особенности циклов видно никому на нервы не действуют.
> Так что я подумал, а что, если бы самой распространённой практикой
> было писать слова,
> имеющие минимальные "побочные эффекты"?
Стараемся писать именно так. Тем более что оно и для многопоточности SPF
очень важно.
> например, было бы интересно ввести
> механизм временных стеков. Аналогично - разделение данных/программы,
> использование стека возвратов...
>
> В общем интересно - что думаете по поводу этой идеи?
>
Че тут думать, трясти надо. Чаще всего здесь идеи предлагаются в виде
работающих
расширений или их прототипов. Если их неинтересно писать, то может и нужды
в них нет на текущий момент. Обычно практика "вынуждает" писать те или иные
расширения. Изредка это приводит даже к архитектурным изменениям ядра.
В обратную сторону - чтобы сначала без особой нужды менялось ядро, и это
приносило пользу каким-то приложениям в будущем - редко.
-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems? Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >>
http://get.splunk.com/_______________________________________________
Spf-dev mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/spf-dev