Forth и другие саморасширяющиеся системы программирования Locations of visitors to this page
Текущее время: Вт июн 28, 2016 13:30

...
Google Search
Forth-FAQ Spy Grafic

Часовой пояс: UTC + 3 часа [ Летнее время ]




Ответить
Имя пользователя:
Заголовок:
Текст сообщения:
Введите текст вашего сообщения. Длина сообщения в символах не более: 60000

Размер шрифта:
Цвет шрифта
Настройки:
BBCode ВКЛЮЧЕН
[img] ВЫКЛЮЧЕН
[flash] ВЫКЛЮЧЕН
[url] ВКЛЮЧЕН
Смайлики ВЫКЛЮЧЕНЫ
Отключить в этом сообщении BBCode
Не преобразовывать адреса URL в ссылки
Вопрос
Теперь гостю придется вводить здесь пароль. Не от своей учетной записи, а ПАРОЛЬ ДЛЯ ГОСТЯ, получить который можно после регистрации на форуме через ЛС.:
Этот вопрос предназначен для выявления и предотвращения автоматических регистраций.
   

Обзор темы - Ограничения FORTH
Автор Сообщение
  Заголовок сообщения:  Re: Ограничения FORTH  Ответить с цитатой
Victor__v писал(а):
В СПФ хороший компилятор

Хороший по сравнению с чем? Есть некие мелкие тактические преобразования, однако стековая машина по своей сути не является экстремально производительной. В СПФ реализована макроподстановка на основе вручную найденных фрагментов кода. Это что-то ускоряет, но
1. Можно лучше, но с большей трудоемкостью разработки
2. Форт дает результаты гораздо раньше

gudleifr писал(а):
Прошу не флудить.

Прошу не распоряжаться на моем форуме. "Прошу" в данном случае не более чем фигура речи - я просто принимаю решение, что подписчики могут свободно высказывать свое мнение в любой этичной форме. Технический флуд разрешен мной, и другие мнения не рассматриваются.
Сообщение Добавлено: Чт апр 14, 2016 03:36
  Заголовок сообщения:  Re: Ограничения FORTH  Ответить с цитатой
<Убрано во исполнение решения Hishnik>
Сообщение Добавлено: Ср апр 13, 2016 22:30
  Заголовок сообщения:  Re: Ограничения FORTH  Ответить с цитатой
Hishnik писал(а):
Victor__v писал(а):
Достоинство и недостаток форта, последнее, в некоторой степени, это стек.
В этом плане многое решает компилятор. Но и он не в состоянии порою оптимизировать форт-код.

Стек - скорее неизбежное зло. Это простой способ обеспечить простой разбор исходного текста без необходимости написания разбора выражений. В постфиксной записи определение порядка действий выполняет программист в голове, а в "математической" (инфиксной) записи этим занимается компилятор. За простоту компилятора получаем неоптимальную производительность. Ну, собственно, и ладно, зачем же требовать всего и сразу?


В СПФ хороший компилятор
Сообщение Добавлено: Ср апр 13, 2016 22:17
  Заголовок сообщения:  Re: Ограничения FORTH  Ответить с цитатой
Victor__v писал(а):
Достоинство и недостаток форта, последнее, в некоторой степени, это стек.
В этом плане многое решает компилятор. Но и он не в состоянии порою оптимизировать форт-код.

Стек - скорее неизбежное зло. Это простой способ обеспечить простой разбор исходного текста без необходимости написания разбора выражений. В постфиксной записи определение порядка действий выполняет программист в голове, а в "математической" (инфиксной) записи этим занимается компилятор. За простоту компилятора получаем неоптимальную производительность. Ну, собственно, и ладно, зачем же требовать всего и сразу?
Сообщение Добавлено: Чт апр 07, 2016 00:39
  Заголовок сообщения:  Re: Ограничения FORTH  Ответить с цитатой
Victor__v писал(а):
>R R@ 0! DROP R>
в маш коде разворачивается в десяток машкоманд

Код:
: t >R R@ 0! DROP R> ;
Ok
SEE t

572BA7 50               PUSH    EAX
572BA8 C70000000000     MOV     [EAX] , # 0
572BAE 58               POP     EAX
572BAF 8D6D04           LEA     EBP , 4 [EBP]
572BB2 C3               RET     NEAR
END-CODE   Ok
Сообщение Добавлено: Ср апр 06, 2016 23:26
  Заголовок сообщения:  Re: Ограничения FORTH  Ответить с цитатой
<Убрано во исполнение решения Hishnik>
Сообщение Добавлено: Ср апр 06, 2016 22:11
  Заголовок сообщения:  Re: Ограничения FORTH  Ответить с цитатой
Достоинство и недостаток форта, последнее, в некоторой степени, это стек.
В этом плане многое решает компилятор. Но и он не в состоянии порою оптимизировать форт-код.

N1 N2 N3
>R R@ 0! DROP R>
в маш коде разворачивается в десяток машкоманд
на асме в две команды.
Сообщение Добавлено: Ср апр 06, 2016 21:47
  Заголовок сообщения:  Re: Ограничения FORTH  Ответить с цитатой
<Убрано во исполнение решения Hishnik>
Сообщение Добавлено: Вс июл 12, 2015 17:30
  Заголовок сообщения:  Re: Ограничения FORTH  Ответить с цитатой
gudleifr писал(а):
Однако, т.к. я в силу профессии занимаюсь обычно сложными задачами, то мне трудно Вам сочувствовать. То, что Вам кажется слишком теоретическим, у меня случается постоянно на практике.

И что же это за задачи, позволяющие сидеть днями на данном форуме и "ломать" голову над ограничениями Forth (Форт)?
Сообщение Добавлено: Вс июл 12, 2015 17:14
  Заголовок сообщения:  Re: Ограничения FORTH  Ответить с цитатой
<Убрано во исполнение решения Hishnik>
Сообщение Добавлено: Вс июл 12, 2015 15:07
  Заголовок сообщения:  Re: Ограничения FORTH  Ответить с цитатой
gudleifr писал(а):
2. Как метод написания сложных программ он используется "наугад взятыми программистами" постоянно (причем, они даже не знают, как выглядит "настоящий FORTH").

Да-да, я помню. Он Вишну, Брахма, Гаруда, Арджуна, альфа и омега, а также основа основ всего программирования. Все есть Форт и Форт есть во всем. Упоминание его в мировых публикациях на уровне 0,1% - это или подтасовка, или признак священного трепета, не дающего всем произносить такие сакральные слова.

На деле ситуация проще. Практикующему программисту абсолютно все равно, кто и в каком году впервые сформулировал идею, которая впоследствии оформилась в том языке, на котором он сейчас пишет. Программист рассматривает язык в сочетании с той предметной областью, в которой он собирается работать ("берем тебя, чтобы ты писал банковский софт на Java" - и он пойдет читать про Java и про банковский софт). Следы освоенных ранее языков программирования и алгоритмов остаются у программиста так же, как остается акцент от родного языка и последующего изучения нескольких иностранных. Ему помог бы Форт в каком-то аспекте его деятельности? Да, вполне вероятно. Ему надо становиться апологетом Форта? Нет, не обязательно. Скорее он станет его противником, как и противником любого языка, фанаты которого начнут подминать его под себя, злорадно рассказывая, что в их-то языке все уже давно было, еще в надцатом году. Задачи интерпретации интересны практику разве что в аспекте чтения текстового файла с настройками. Если ему можно на пальцах рассказать, что постфиксный формат настроек позволит ему реализовать очень простой интерпретатор, он скажет спасибо. Если в комплекте будет идти требование "нет, ты сначала признай, что кругом неправ", он плюнет и продолжит делать так, как умеет.

gudleifr писал(а):
Т.е. в ту область, где FORTH востребован не как эрзац нормального языка, а как супервозможность суперпрограммирования (обход компиляционных методов)?

Да без проблем, только это не может идти в отрыве от практических задач.

gudleifr писал(а):
Нет, конечно, зарабатывать денежку на простых "аппаратно-программных продуктах" никто не запрещает, но рассматривать их как мейнстрим, по крайней мере, скучно.

Тут ведь дело какое. Теоретические исследования характерны тем, что дают результат позже, чем "скучная практика". Вот только эти результаты при успешном раскладе должны быть существенно более значимыми, и иметь широкий спектр практических применений. А иначе это самообман и напускание туману. Супервозможность суперпрограммирования планируется уже после смерти падишаха? :)

gudleifr писал(а):
Еще раз повторю. То, что все эти попытки формализовать свойства "VFM и F-транслятора" уже который раз терпят крах, не чей-то злой умысел, а лишь невозможность определить свойства того, чего на самом деле нет. Отсюда и "слишком много вариантов".

Нет, тут тоже проще. Эти попытки бывали и успешными. Когда люди делали себе Форт по потребности, основываясь на практическом проекте. Однако для этого нужно иметь определенную квалификацию, а также инициативный склад характера, чтобы состояние "ура, заказ" не перешло в "да ну, сделаю на Си, как обычно, ведь это надежнее". А пока Форт рассматривается как несерьезное хобби и отдушина, программисты веселятся и придумывают, что бы еще такого попробовать в этом своем хобби. Серьезная работа и компромиссы начинаются после того, как программист понимает, что Форт больше не его игрушка в свободное время, а инструмент, на котором ему надо создать работающий продукт.
Сообщение Добавлено: Вс июл 12, 2015 14:50
  Заголовок сообщения:  Re: Ограничения FORTH  Ответить с цитатой
<Убрано во исполнение решения Hishnik>
Сообщение Добавлено: Вс июл 12, 2015 11:17
  Заголовок сообщения:  Re: Ограничения FORTH  Ответить с цитатой
gudleifr писал(а):
А как это противоречит общепринятости примененных в нем механизмов?

Проблема не в том, что противоречит (оно и не противоречит). Слишком много вариантов. Расписывать стековые нотации всех подряд слов, пожалуй, слишком. Но и просто сказать "вот вам слова, разделенные пробелами" недостаточно для того, чтобы наугад взятый программист придумал именно Форт.
Сообщение Добавлено: Сб июл 11, 2015 23:59
  Заголовок сообщения:  Re: Ограничения FORTH  Ответить с цитатой
<Убрано во исполнение решения Hishnik>
Сообщение Добавлено: Сб июл 11, 2015 01:42
  Заголовок сообщения:  Re: Ограничения FORTH  Ответить с цитатой
gudleifr писал(а):
Скорее всего - да. За это говорит два факта: то, что Дейкстра привел логическое обоснование подобного вывода, а Мур счел его настолько очевидным, что просто не стал обосновывать. На основании своего опыта могу сказать, что приходил к подобной схеме неоднократно (начав с ввода простейших команд-параметров).

Тем не менее, компоненты Форта в различных сочетаниях проявляются в совершенно иных языках. Постфикс и стек не являются обязательным и единственно возможным сочетанием. Словарь и конкатенативная компиляция - не единственный способ обработки регулярной грамматики. В стековые вычисления можно компилировать откуда угодно (.net - замечательный пример, даже dup и drop в спецификации присутствуют в явном виде). Кстати, пример замечателен еще и тем, что такая, казалось бы, знаменательная победа Форт-идеи (C# - это что... Форт, получается?!!) не нашла практически никакого отклика в душе фортеров. Почему бы? Потому, что никто из программистов на C# не бежит к ним за консультациями? А не с чего им бежать, поскольку знание, что внутри .net на какой-то момент появляется стековое представление, не является для них критичным. Вот и думаем теперь, где хочется видеть Форт, в каком виде, и каким требованиям должно удовлетворять хорошее определение.
Сообщение Добавлено: Сб июл 11, 2015 01:37

Часовой пояс: UTC + 3 часа [ Летнее время ]


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
phpBB сборка от FladeX // Русская поддержка phpBB