WingLionВы не так поняли, и, что показательно, как меня, так и Дейкстру. Во-первых, нет, конечно, Отцы Форта не вводили никаких запретов и ограничений, наоборот, всячески старались их избежать, что у них с блеском и получилось. Но дело совсем не в этом, а в том, что, исходя из своеобразия базовых принципов, конструкции, природы и фундаментальной идеи лежащей в основании Форта, следует вывести ясные представления о том, что такое хорошо и плохо применительно к Форту. Как ни странно, но философия Форта проста и гениальна, сводится же она к тому, что Форт будет тем, чем ты захочешь, в соответствии с этим предоставляется законченный набор неделимых элементов (атомов, генов, назовите как хотите), позволяющий за счёт их комбинирования развернуть систему любой степени сложности. Принимая это во внимание, несложно догадаться, что предопределение всякой сущности (слова), не являющейся краеугольной составной единицей для эволюции системы, то есть такой, которой можно пренебречь, или, другими словами, реализовать впоследствии, - нами, дзэн-фортерами, воспринимается как святотатство и недопустимая избыточность.
Касаемо goto, смею вас заверить, ни я, ни Дейкстра, мы ни в коем случае не призываем к тотальному упразднению этого оператора как такового везде и всюду. Заметьте что пишет сам Гуру:
Цитата:
За многие годы я утвердился во мнении о том, что квалификация программистов - функция, обратно зависящая от частоты появления операторов go to в их программах. Позже я открыл, почему оператор go to производит такой пагубный эффект, и я убежден в том, что оператор go to должен быть отменен в языках программирования "высокого уровня" (т.е. отовсюду, кроме, возможно, простого машинного кода). В то время я не счел это открытие слишком важным. Теперь же я отправляю свои соображения для публикации, потому что меня подтолкнула к этому развернувшаяся сейчас дискуссия на эту тему.
Из вышесказанного ясно, что речь прежде всего идёт о ЯП высокого уровня, впрочем, как часто случается с великими умами, Дейкстру слегка заносит, не возбраняется использовать goto и в таких языках, как ассемблер и Си (как говорится, уже не модно, но многие привыкли, без goto и жизнь не мила), а не в одном лишь машинном коде. К тому же, есть класс весьма специфических задач, в которых goto приходится очень кстати, так что если очень хочется и, главное, наблюдается острая необходимость, то можно снизойти и до goto (даже на Форте). Единственное, на чём мы с Дейкстрой настаиваем и стремимся подчеркнуть во избежание пагубного пристрастия многих начинающих, да и не очень, программистов, так это то, что злоупотребление оператором goto первый признак того, что необходимо пересмотреть свои взгляды на программирование, ибо это свидетельство чрезвычайно низкой культуры программирования.
Надеюсь теперь понятно, почему print и goto прямо противоречат эстетике Форта?
ХищникПрошу прощения за флуд, для меня важно, чтобы ты знал, что я не рассматриваю ни эту тему, ни сам форум, как часть своего компьютера.
зы
Я буду вне себя от счастья, если хоть один из тех, кто прочтёт это сообщение, наконец осознает, до чего же нам, фортерам, смешно, когда мы слышим о том, что в Форте по умолчанию должны быть реализованы типы, строки и т.п. К сожалению, такие предложения может вносить только человек, напрочь лишённый понимания Духа Форта, либо же его сознание покалечено третьесортным ширпотребом. Нужны строки - делай, какие-либо препятствия отсутствуют; не нужны - тогда зачем?
Стакан наполовину полон...