Forth
http://fforum.winglion.ru/

Guardian Hardware Monitor: опыт разработки
http://fforum.winglion.ru/viewtopic.php?f=34&t=3027
Страница 1 из 3

Автор:  true-grue [ Чт дек 25, 2014 20:48 ]
Заголовок сообщения:  Guardian Hardware Monitor: опыт разработки

Guardian Hardware Monitor: опыт разработки
И.Е. Тарасов (ilya_e_tarasov@mail.ru), П.Н. Советов (peter@sovietov.com)
Декабрь, 2014
http://sovietov.com/txt/ghm.pdf

Автор:  gudleifr [ Чт дек 25, 2014 21:06 ]
Заголовок сообщения:  Re: Guardian Hardware Monitor: опыт разработки

Цитата:
Имеющийся компилятор Форта не слишком подходил для проекта.
Доходит же! С трудом, но доходит!

Автор:  KPG [ Чт дек 25, 2014 21:59 ]
Заголовок сообщения:  Re: Guardian Hardware Monitor: опыт разработки

А как это выглядит визуально или на видео?

Автор:  true-grue [ Чт дек 25, 2014 22:23 ]
Заголовок сообщения:  Re: Guardian Hardware Monitor: опыт разработки

gudleifr писал(а):
Цитата:
Имеющийся компилятор Форта не слишком подходил для проекта.
Доходит же! С трудом, но доходит!


Ну, справедливости ради, период моего неофитства далеко позади! И к Форту я отношусь весьма прагматично :)

KPG писал(а):
А как это выглядит визуально или на видео?


Изображение

https://www.youtube.com/watch?v=o9Wfi8sUrZs
https://www.youtube.com/watch?v=QKzk0YlMX4g

Автор:  gudleifr [ Чт дек 25, 2014 22:33 ]
Заголовок сообщения:  Re: Guardian Hardware Monitor: опыт разработки

true-grue писал(а):
И к Форту я отношусь весьма прагматично
Это как?

Автор:  KPG [ Чт дек 25, 2014 22:35 ]
Заголовок сообщения:  Re: Guardian Hardware Monitor: опыт разработки

Маловато заказчик, предположительно, денег собрал. Работа окупится?
Guardian Hardware Monitor for gamers and custom desktop PCs

P.S. Трудом не только С доходит :)

Автор:  true-grue [ Чт дек 25, 2014 22:54 ]
Заголовок сообщения:  Re: Guardian Hardware Monitor: опыт разработки

gudleifr писал(а):
true-grue писал(а):
И к Форту я отношусь весьма прагматично
Это как?


Как к ассемблеру для простой двухстековой машины. Именно в таком качестве я рассматривал его и в работе под началом Мура над приложениями для SEAForth, и в данном проекте. А вот "саморасширение" Форта это остроумный хак. На PC заниматься подобным, как, впрочем, и жонглировать разнообразными ROT/TUCK лучше из любви к искусству. Вообще, идея того, что программирующие пользователи будут сами достраивать язык для себя, мне представляется очень в духе современных MMO, думаю, Вам близка эта аналогия :)

KPG писал(а):
Маловато заказчик, предположительно, денег собрал. Работа окупится?


Не беспокойтесь, Kickstarter был, так сказать, для отвода глаз! :)

Автор:  gudleifr [ Чт дек 25, 2014 23:06 ]
Заголовок сообщения:  Re: Guardian Hardware Monitor: опыт разработки

true-grue писал(а):
думаю, Вам близка эта аналогия
Понятно. Но сколь часто эта игра остается единственным, что нам остается...

Автор:  mOleg [ Пт дек 26, 2014 18:07 ]
Заголовок сообщения:  Re: Guardian Hardware Monitor: опыт разработки

Спасибо, интересно.
а картинки будут? :)

Автор:  Hishnik [ Вс дек 28, 2014 20:08 ]
Заголовок сообщения:  Re: Guardian Hardware Monitor: опыт разработки

gudleifr писал(а):
Доходит же! С трудом, но доходит!

А что же должно доходить-то? :) Для форт-процессора роль ассемблера играет Форт. Поэтому вариант с кросс-компиляцией является просто базовым инструментом. Если он устраивает, то больше ничего и не нужно, однако он устраивает обычно тех, кто концентрируется на аппаратной части. Достоинством компилятора на OMeta является то, что он привносит в проект возможность привлечения более широкого круга программистов. Пользователю, который захочет написать собственный скрипт, привычнее отталкиваться от Си, чем от Форта. Исходные текста на Форте и на разработанном языке в целом сопоставимы, хотя возможность использовать локальные переменные и упрощает кодирование. Правда, это получается ценой некоторого снижения производительности из-за эмуляции стека локальных параметров в памяти форт-системы. Сам факт привнесения Си-подобного синтаксиса в стековую архитектуру очень интересен и перспективен. Но это идет не в ту же сторону, что и, скажем, CREATE DOES> конструкции.

Автор:  gudleifr [ Вс дек 28, 2014 20:13 ]
Заголовок сообщения:  Re: Guardian Hardware Monitor: опыт разработки

Hishnik писал(а):
А что же должно доходить-то?
То, что решение любой серьезной задачи на FORTH начинается с выкидывания всех готовых FORTH и написания своего.

Автор:  Hishnik [ Вс дек 28, 2014 20:28 ]
Заголовок сообщения:  Re: Guardian Hardware Monitor: опыт разработки

gudleifr писал(а):
То, что решение любой серьезной задачи на FORTH начинается с выкидывания всех готовых FORTH и написания своего.

Это не совсем "серьезная задача на FORTH". С точки зрения программирования это задача базового уровня, осложненная real-time требованиями и многоканальностью. Сама поддержка оборудования укладывается в операции чтения-записи, поскольку ПЛИС многие вещи убирает на аппаратный уровень. Производительности процессора вполне хватает, поэтому что-то ускорять и не нужно. А вот памяти, например, в ПЛИС обычно не хватает, поскольку технически это эквивалентно кэшу, и много такой памяти не бывает никогда. Если спрашивать "а почему форт-процессор?", то первый же ответ "потому что он позволяет оставаться в рамках накристальной памяти ПЛИС". А всякие выразительные возможности и метапрограммирование уже вторичны. Другое дело, что с компилятором true-grue уже и Форт не выглядит как неизбежное зло, идущее в нагрузку к процессорному ядру с высокой плотностью кода. Устраивает Форт - пишем на Форте. Не устраивает - пишем на Си.

Автор:  gudleifr [ Вс дек 28, 2014 20:35 ]
Заголовок сообщения:  Re: Guardian Hardware Monitor: опыт разработки

Hishnik писал(а):
Это не совсем "серьезная задача на FORTH".
А серьезных задач "на FORTH" и не бывает. Бывают серьезные задачи, требующие написания FORTH.

Автор:  Hishnik [ Вс дек 28, 2014 21:03 ]
Заголовок сообщения:  Re: Guardian Hardware Monitor: опыт разработки

gudleifr писал(а):
А серьезных задач "на FORTH" и не бывает. Бывают серьезные задачи, требующие написания FORTH.

Эта задача ничего специально не требует. Все требования идут от удобства пользователя (не разработчика), потому что предполагается, что пользователь сам сможет что-то писать. Форт-процессор появляется по соображениям цифровой электроники, а не программирования, поскольку альтернатива ПЛИС - заметно более дорогой ARM, который к тому же и не дает гарантии, что он успеет программно реализовать те процессы, которые в ПЛИС запускаются единственной записью в порт. И вот когда наиболее критичные вопросы оказались разрешены, выявилось, что программист имеет дело со стековым процессором, который стал итогом серии компромиссов в аппаратной части. Эта цепочка проектирования отличается от подхода, связанного с необходимостью разработки собственного языка, и подстройки остальной части проекта под этот факт.

Автор:  gudleifr [ Вс дек 28, 2014 21:21 ]
Заголовок сообщения:  Re: Guardian Hardware Monitor: опыт разработки

Давайте по порядку:

Hishnik писал(а):
предполагается, что пользователь сам сможет что-то писать.

Hishnik писал(а):
Эта цепочка проектирования отличается от подхода, связанного с необходимостью разработки собственного языка

Т.е. язык должен быть.
Hishnik писал(а):
выявилось, что программист имеет дело со стековым процессором, который стал итогом серии компромиссов в аппаратной части.

А FORTH, как мы все знаем, является средством писания на чем угодно, даже - на FORTH-процессоре.

С здесь обошел FORTH по простой причине. Обвешанный всякими lex и yacc (эдесь META II), С является лучшим FORTH, чем сам FORTH.

Страница 1 из 3 Часовой пояс: UTC + 3 часа [ Летнее время ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/