Forth и другие саморасширяющиеся системы программирования Locations of visitors to this page
Текущее время: Вт мар 19, 2024 15:09

...
Google Search
Forth-FAQ Spy Grafic

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




Начать новую тему Ответить на тему  [ Сообщений: 88 ]  На страницу Пред.  1, 2, 3, 4, 5, 6
Автор Сообщение
 Заголовок сообщения: Re: Ограничения FORTH
СообщениеДобавлено: Чт апр 07, 2016 00:39 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7958
Благодарил (а): 25 раз.
Поблагодарили: 144 раз.
Victor__v писал(а):
Достоинство и недостаток форта, последнее, в некоторой степени, это стек.
В этом плане многое решает компилятор. Но и он не в состоянии порою оптимизировать форт-код.

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


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Ограничения FORTH
СообщениеДобавлено: Ср апр 13, 2016 22:17 
Не в сети

Зарегистрирован: Чт янв 07, 2016 19:14
Сообщения: 1285
Благодарил (а): 3 раз.
Поблагодарили: 18 раз.
Hishnik писал(а):
Victor__v писал(а):
Достоинство и недостаток форта, последнее, в некоторой степени, это стек.
В этом плане многое решает компилятор. Но и он не в состоянии порою оптимизировать форт-код.

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


В СПФ хороший компилятор

_________________
Цель: сделать 64-битную Нову под Винду


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Ограничения FORTH
СообщениеДобавлено: Ср апр 13, 2016 22:30 
<Убрано во исполнение решения Hishnik>


Последний раз редактировалось gudleifr Чт апр 14, 2016 11:38, всего редактировалось 1 раз.

Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: Ограничения FORTH
СообщениеДобавлено: Чт апр 14, 2016 03:36 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7958
Благодарил (а): 25 раз.
Поблагодарили: 144 раз.
Victor__v писал(а):
В СПФ хороший компилятор

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

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

Прошу не распоряжаться на моем форуме. "Прошу" в данном случае не более чем фигура речи - я просто принимаю решение, что подписчики могут свободно высказывать свое мнение в любой этичной форме. Технический флуд разрешен мной, и другие мнения не рассматриваются.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Ограничения FORTH
СообщениеДобавлено: Сб дек 24, 2016 23:24 
Не в сети

Зарегистрирован: Пн янв 07, 2013 22:40
Сообщения: 2141
Благодарил (а): 8 раз.
Поблагодарили: 74 раз.
Интересная статья об сложившемся положении "вещей"
Some Thoughts on Forth vis-a-vis Oracle and Java SE
18 Dec 2016

P.S. Источник https://www.reddit.com/r/Forth/new/
P.P.S. Здесь тоже интересное обсуждение на форуме 6502 процессора What is Forth?


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Ограничения FORTH
СообщениеДобавлено: Вс дек 25, 2016 11:23 
Не в сети

Зарегистрирован: Чт янв 07, 2016 19:14
Сообщения: 1285
Благодарил (а): 3 раз.
Поблагодарили: 18 раз.
Цитата:
Хороший по сравнению с чем?

По сравнению с форт-системой, где нет компилятора. Недоработки у СПФ-компилятора есть, но он работает, временами.
Цитата:
Можно лучше, но с большей трудоемкостью разработки

Согласен. Но всё зависит от подхода к конкретной подзадаче.
Если где-то можно оптимизировать текст программы ( превращение в асм.код), то в другом месте это не пройдёт.
Так, проблематично распознать константу, переменную и их подобия через текстовый оптимизатор. Легче их скомпилировать. Пусть они укладываются в слова. А уже следующее слово будет над ними "колдовать" или пусть будет подвызов из компилятора
Код:
0x10 constant А
: test А * ;


Здесь же у нас лишнее действие - положить A на стек. Можно обойтись и без него

Цитата:
Форт дает результаты гораздо раньше

:?: объясните это утверждение, как-то не понял

_________________
Цель: сделать 64-битную Нову под Винду


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Ограничения FORTH
СообщениеДобавлено: Вт дек 27, 2016 04:27 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7958
Благодарил (а): 25 раз.
Поблагодарили: 144 раз.
Victor__v писал(а):
По сравнению с форт-системой, где нет компилятора. Недоработки у СПФ-компилятора есть, но он работает, временами.

В форт-системах есть компилятор. То, о чем идет речь, является макроподстановщиком, заменяющим одни фрагменты кода на другие по заранее перечисляемым правилам.
Victor__v писал(а):
Цитата:
Форт дает результаты гораздо раньше

объясните это утверждение, как-то не понял

Форт можно дополнить многими вещами - оптимизирующим компилятором, IDE, набором библиотек и еще многими полезными вещами. Однако возникает вопрос, что именно стоит сделать в первую очередь, а с чем можно подождать? Гораздо продуктивнее завершить работающую версию хоть в каком-то виде, и только потом смотреть, как ее можно улучшить. А если тратить усилия на инструменты, рабочей программы не появится.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Ограничения FORTH
СообщениеДобавлено: Вт дек 27, 2016 17:24 
Не в сети

Зарегистрирован: Чт янв 07, 2016 19:14
Сообщения: 1285
Благодарил (а): 3 раз.
Поблагодарили: 18 раз.
Цитата:
В форт-системах есть компилятор

А-а. вы правы. Это я не так выразился. Ну оптимизирующий компилятор, имелся ввиду.
Короче, дабы быстрее и объёмом меньше.
Цитата:
Форт можно дополнить многими вещами

Мой оптимизирующий парсер нарастает "мясом".
Цитата:
Однако возникает вопрос

Вопрос не возникает, если уже делаешь
Цитата:
А если тратить усилия на инструменты, рабочей программы не появится

Спорное утверждение. Если б я не написал свою библиотеку для работы со строками в стеке возвратов, то до программы было б тяжелей дойти. Два часа программирования, два для отладки :)
"Строки в стеке" , знаю хак.

_________________
Цель: сделать 64-битную Нову под Винду


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Ограничения FORTH
СообщениеДобавлено: Вт дек 27, 2016 18:07 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7958
Благодарил (а): 25 раз.
Поблагодарили: 144 раз.
Victor__v писал(а):
Спорное утверждение. Если б я не написал свою библиотеку для работы со строками в стеке возвратов, то до программы было б тяжелей дойти. Два часа программирования, два для отладки

Речь идет не о часах, а о годах :) Именно столько идут разговоры о том, что Форту не хватает хорошего инструментария - IDE, оптимизации, библиотек и до кучи ОС. И если бы это появилось, то Форт бы сразу ого-го (и, видимо, миллионы программистов по всему миру внезапно прозрели бы и пришли вкусить от мудрости фортеров). Принципиальный вопрос заключается в том, для какого конкретно проекта требуется та или иная возможность. Если проекта нет, то ситуация как у Алисы в Стране Чудес - если все равно куда попадать, то какая разница, куда идти.

На ранних стадиях, понятное дело, объем доработок существенно больше. Умозрительно трудно понять, что потребуется конкретной программе, поэтому первые версии рабочего форта правятся часто и активно. Зато потом уже и задачи подбираются с учетом возможностей инструмента. Главное, чтобы процесс аккуратно сходился к какой-то стабильности.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Ограничения FORTH
СообщениеДобавлено: Вт дек 27, 2016 20:07 
Не в сети

Зарегистрирован: Чт янв 07, 2016 19:14
Сообщения: 1285
Благодарил (а): 3 раз.
Поблагодарили: 18 раз.
Цитата:
Речь идет не о часах, а о годах :) Именно столько идут разговоры о том, что Форту не хватает хорошего инструментария - IDE, оптимизации, библиотек и до кучи ОС

Форту не хватает фортеров, которые всё это напишут.
Цитата:
Умозрительно трудно понять, что потребуется конкретной программе

Есть такое. Главное оставить задел под разширение :)
Цитата:
первые версии рабочего форта правятся часто и активно

Ну да. Помимо багов и прочих тараканов нужно ещё определить, что будет входить в ядро.
К примеру, нужна ли двойная арифметика?
В своей скромной практике применял для получения 64-битных хешей на 32-х разрядном форте.
Вот и думай над этим.
Цитата:
Главное, чтобы процесс аккуратно сходился к какой-то стабильности

Не понял. Чтобы программа не падала в самых неожиданных местах?

_________________
Цель: сделать 64-битную Нову под Винду


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Ограничения FORTH
СообщениеДобавлено: Вт дек 27, 2016 21:09 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7958
Благодарил (а): 25 раз.
Поблагодарили: 144 раз.
Victor__v писал(а):
Форту не хватает фортеров, которые всё это напишут.

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

Victor__v писал(а):
Цитата:
Главное, чтобы процесс аккуратно сходился к какой-то стабильности

Не понял. Чтобы программа не падала в самых неожиданных местах?

Нет, смотрим существенно шире. Вот мы придумали ТЗ, а то и целый стандарт. Реализовали форт-систему, а потом попытались на ней что-то написать. В благоприятном варианте все получится, и в процессе разработки программы наберется просто небольшой список дополнений. В неблагоприятном выяснится, что полученный транслятор Форта не имеет необходимых для программы возможностей, а те что есть, реализованы неэффективно или попросту неудобно. Поэтому надо все переделать. А пока переделывали, надобность в прикладной программе отпала, или же появились другие задачи. Ради них надо опять все пересматривать и т.д. В итоге рабочей и стабильно используемой версии просто нет, и попытки ее написать срываются из-за нехватки времени или неуверенности в успешном завершении. Косвенный признак намечающегося провала - попытки приписать будущему Форту завышенные возможности (чтобы уж точно на все хватило) - как раз те самые библиотеки, оптимизаторы, IDE и до кучи ФортОС.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Ограничения FORTH
СообщениеДобавлено: Вт дек 27, 2016 21:56 
Не в сети

Зарегистрирован: Чт янв 07, 2016 19:14
Сообщения: 1285
Благодарил (а): 3 раз.
Поблагодарили: 18 раз.
Цитата:
Это тоже уже было

Тогда фортерам надо перестать хотеть и начать делать.
Ну, как видно из моей приписки я таки пытаюсь приписать будущему форту завышенные возможности))

_________________
Цель: сделать 64-битную Нову под Винду


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Ограничения FORTH а стоит ли?
СообщениеДобавлено: Пт янв 06, 2017 12:39 
Не в сети

Зарегистрирован: Чт янв 07, 2016 19:14
Сообщения: 1285
Благодарил (а): 3 раз.
Поблагодарили: 18 раз.
У оптимизирующего компилятора СПФ есть одна примечательная особенность
При нахождении в коде нескольких идущих подряд мат.операций, он их собирает в несколько команд.
Однако, компонуются не все операции идущие подряд, операция деления прекращает сие чудо оптимизации
Код:
: test1 10 2 * 4 - ;
: test2 [ 10 2 * 4 - lit, ] ;
идентичны по маш.коду, а
: test3 10 2 * 4 - 5 / ;
: test4 [ 10 2 * 4 - 5 / lit, ] ;
нет


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

_________________
Цель: сделать 64-битную Нову под Винду


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 88 ]  На страницу Пред.  1, 2, 3, 4, 5, 6

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


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

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