Forth и другие саморасширяющиеся системы программирования Locations of visitors to this page
Текущее время: Чт мар 28, 2024 18:21

...
Google Search
Forth-FAQ Spy Grafic

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




Начать новую тему Ответить на тему  [ Сообщений: 236 ]  На страницу Пред.  1 ... 9, 10, 11, 12, 13, 14, 15, 16  След.
Автор Сообщение
 Заголовок сообщения: Re: Что есть Форт?
СообщениеДобавлено: Пн авг 05, 2019 00:54 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7960
Благодарил (а): 25 раз.
Поблагодарили: 144 раз.
KPG писал(а):
Сложно ожидать монетизацию в опубликованной Lite ("demo" с ограничениями) версии поддержки опубликованных контроллеров для неё. (но благо, почти не ограничили построение Target кода)

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

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


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Что есть Форт?
СообщениеДобавлено: Пн авг 05, 2019 01:02 
Не в сети
Administrator
Administrator
Аватара пользователя

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

Кому не нравится сила российского оружия - могут поплакать в уголке. Мне вон много чего не нравится в мировой политике, но на обычных американцев я это не переношу. А попытки заставить меня или кого-то в России закрыть свои проекты и наняться за миску соевого белка гастарбайтером не нравятся уже мне. Хотите партнерства - давайте. А ставить RuFIG в заранее подчиненное положение - подавитесь.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Что есть Форт?
СообщениеДобавлено: Пн авг 05, 2019 04:26 
Не в сети

Зарегистрирован: Сб май 13, 2006 23:37
Сообщения: 380
Благодарил (а): 1 раз.
Поблагодарили: 10 раз.
Hishnik писал(а):
forther писал(а):
Вы (на этом форуме например) танк и силу советского оружия в качестве аргумента приводите. Возможно не всем это нравится.

Кому не нравится сила российского оружия - могут поплакать в уголке. Мне вон много чего не нравится в мировой политике, но на обычных американцев я это не переношу. А попытки заставить меня или кого-то в России закрыть свои проекты и наняться за миску соевого белка гастарбайтером не нравятся уже мне. Хотите партнерства - давайте. А ставить RuFIG в заранее подчиненное положение - подавитесь.

Forth Inc. Пытались заставить вас закрыть все ваши проекты?! Наглость какая. Тогда конечно. Правильно вы их отшили. Пусть теперь сами на себя пеняют.


Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Что есть Форт?
СообщениеДобавлено: Пн авг 05, 2019 06:14 
Не в сети
Аватара пользователя

Зарегистрирован: Ср фев 23, 2011 20:42
Сообщения: 600
Откуда: Карелия
Благодарил (а): 3 раз.
Поблагодарили: 24 раз.
Hishnik писал(а):
Так в последние годы все как с цепи сорвались.
А вот это воистину тема для разговора. И лучше просто привести примеры какого рода проекты прошли на ура. На что жор пошел ? Можно обсудить есть ли классы естественных для Форта задач в этом жоре.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Что есть Форт?
СообщениеДобавлено: Пн авг 05, 2019 14:04 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7960
Благодарил (а): 25 раз.
Поблагодарили: 144 раз.
forther писал(а):
Forth Inc. Пытались заставить вас закрыть все ваши проекты?! Наглость какая. Тогда конечно. Правильно вы их отшили. Пусть теперь сами на себя пеняют.

Forth Inc пытался напрямую? Да ну, ерунда, это они совсем неадекватными должны быть. Напрямую мне только из Технофорта писали в стиле "не занимайтесь ерундой, лучше становитесь распространителем наших процессоров". Но это уже был излет "дикого капитализма". Forth Inc работают тоньше и напрямую ничего не навязывают. А вот "мы 40 лет на рынке Форт-продукции", "Форт гибкий язык, вы можете все... нет, а вот это не соответствует стандарту". Еще, например, про контакты с наиболее значимыми фортерами. К чему они исподволь ведут? Ну конечно же все бросить, поверить им в плане стратегии развития и переключиться на написание библиотек для них. Нормальный бизнесмен нагло не говорит, он нагло создает условия, чтобы окружающие считали за счастье работать на него.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Что есть Форт?
СообщениеДобавлено: Пн авг 05, 2019 15:20 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7960
Благодарил (а): 25 раз.
Поблагодарили: 144 раз.
Ethereal писал(а):
А вот это воистину тема для разговора. И лучше просто привести примеры какого рода проекты прошли на ура. На что жор пошел ? Можно обсудить есть ли классы естественных для Форта задач в этом жоре.

По направлениям получается:
1. Измерительная техника и промавтоматика. У заказчиков есть тема импортозамещения, под которую они могут получать финансовую поддержку (или просто требования по минимальной доле российских разработок). Кроме того, настроения "дешевое из Китая, сложное из Европы или США" сменяются на "в России соберут из тех же китайских деталей, только разработчики под боком". Наконец, европейцам в целом нет дела до российской специфики, как в части характеристик и режимов работы, так и банально в части GUI и расположения разъемов.
Чтобы было всем интересно, измерения должны быть сложнее, чем "прочитали из АЦП, встроенного в МК, и вывели на ЖК и в три разных порта".
Где-то близко управление приводами, тут и измерения и алгоритмы управления.

Плюсы Форта:
1. В интерактивном режиме проще отлаживать взаимодействие с аппаратурой.
2. Модели на Форте переносятся в МК (Матлаб сложнее).
3. Где много объектов и процессов - полезно иметь много ядер (а не жонглирование задачами в рамках одного МК, который сначала-то все успевает, а по мере наваливания задач начинает захлебываться). Разные ядра (плюс форт-процессоры) лучше сразу ориентировать на Форт для верхнего уровня.
4. Для доводки приглашаем предметников и разбираем с ними алгоритмы, написанные на DSL.

2. Обработка изображений. Тут большой диапазон вариантов, от просто ввода из разных источников, до выделения объектов (но это в глобальной постановке сложно).

Плюсы Форта:
1. Управление специализированным оборудованием и софтом, по аналогии со связкой Python + TensorFlow.
2. Опять же DSL.

3. Робототехника - отдельное направление, хотя это в чем-то сочетает промавтоматику, изображения и управление. Платформ полно, начиная с Ардуино. Применения - от тележек-машинок-коптеров до 3D-принтеров и ЧПУ, которые тоже в принципе роботы.
Плюсы те же:
1. Интерактив.
2. Модели на ПК с переносом на embedded.
3. DSL с понятным пользователю скриптованием.

4. Отдельно моделирование сложных процессов как таковое. Плавающая точка в x87 сама по себе стековая, поэтому эксперименты на ПК приемлемы, а дальше та же связка скриптование + DSL.

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


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Что есть Форт?
СообщениеДобавлено: Пн авг 05, 2019 19:11 
Не в сети
Аватара пользователя

Зарегистрирован: Ср июл 03, 2019 11:10
Сообщения: 463
Откуда: Москва
Благодарил (а): 57 раз.
Поблагодарили: 22 раз.
Интересно, почему практически все книги/статьи о Форте начинаются словами о том, что Форт уникальный/необычный/не такой, как все и т.д.? Почему обязательно надо противопоставлять Форт другим языкам программирования? Ведь такая игра на противоречиях может отпугнуть часть потенциальных адептов Форта. Можно ведь иначе: допустим, Форт (несмотря на простоту реализации и компактность) умеет то же самое, что и любой другой процедурный язык программирования (Си/Паскаль/Бейсик и т.д. :) ), ну а на десерт, когда читатель заглотил наживку, можно и про его необычность рассказать.

Еще одна мысль посетила. По большому счету, при программировании микроконтроллеров зачастую вполне хватает языка, в котором есть такие вещи:
- подпрограммы \ : ;
- переменные/массивы/константы \ VARIABLE CREATE ALLOT CONSTANT
- условный оператор \ IF ELSE THEN
- оператор цикла \ BEGIN WHILE REPEAT - этого достаточно, но можно и UNTIL DO LOOP I J +LOOP LEAVE
- немного математики \ + - * / < = > ...
- щепотку стека \ DROP DUP SWAP OVER
- запись/чтение слова/байта \ @ ! C@ C!
- подключение библиотек \ INCLUDED
- комментарий
Т.е. достаточно аскетичное подмножество Форта, которое, тем не менее, будет вполне пригодно для написания простых программ. Да, здесь нет ООП, CREATE ... DOES> и прочих POSTPONE... Но зато реализация будет до неприличия примитивной (тут, возможно, без словарей получится обойтись, если многопроходную компиляцию сделать), компактной (в 2К должно утрамбоваться) и легко переносимой на другие платформы. А все, чего не хватает, можно сделать в виде библиотек. Интересно, существует ли в природе и имеет ли право на существование такая урезанная версия Форта?

И еще вопрос. Допустим, имеется какое-то слово, описанное в стандарте. Мы можем переопределить его так, как нам удобно, ведь Форт "гибкий" (недавно в этой ветке был пример с кучей IF и единственным замыкающим THEN). Наверное, правильнее делать в таком порядке:
1) реализуем слово в точном соответствии со стандартом;
2) переопределяем слово так, как нам удобно;
Но все-таки невольно возникает вопрос... Можно ли пропустить шаг 1 и сразу делать шаг 2? Или это будет "не по-фортовски" или "не в духе Форта"?

P.S. Натыкался здесь на реализацию, где в стек вместо 16/32-битных слов пихаются float. Хотя стараюсь не использовать float, но сама идея очень понравилась. Не могу найти ссылку, ткните, пожалуйста, носом.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Что есть Форт?
СообщениеДобавлено: Пн авг 05, 2019 21:44 
Не в сети

Зарегистрирован: Пн июл 01, 2019 14:01
Сообщения: 69
Благодарил (а): 0 раз.
Поблагодарили: 2 раз.
Можно и без словарей, но тогда это просто будет один словарь (где-то же нужно хранить системные и пользовательские слова).

Total Vacuum писал(а):
тут, возможно, без словарей получится обойтись, если многопроходную компиляцию сделать

Вот тут не понял связь. В форте нет никаких ссылок вперёд, именно поэтому когда появляется необходимость в косвенной рекурсии появляются всякие DEFER или VECT.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Что есть Форт?
СообщениеДобавлено: Пн авг 05, 2019 21:49 
Не в сети

Зарегистрирован: Пн июл 01, 2019 14:01
Сообщения: 69
Благодарил (а): 0 раз.
Поблагодарили: 2 раз.
Total Vacuum писал(а):
где в стек вместо 16/32-битных слов пихаются float.

Стек плавающей точки может быть стеком данных, стандарт этого не запрещает.
Или там вообще не было целочисленных операций?


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Что есть Форт?
СообщениеДобавлено: Пн авг 05, 2019 22:57 
Не в сети
Аватара пользователя

Зарегистрирован: Ср июл 03, 2019 11:10
Сообщения: 463
Откуда: Москва
Благодарил (а): 57 раз.
Поблагодарили: 22 раз.
f02732 писал(а):
Можно и без словарей, но тогда это просто будет один словарь (где-то же нужно хранить системные и пользовательские слова).

Можно совсем без словарей, если транслировать в асм (пусть у него голова болит), а не в исполняемый файл.
Например, определение : test ... ; транслируем в что-то типа (используем ASCII-коды символов имени)
@74657374:
...
ret
,
а вызов test - в call @74657374


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Что есть Форт?
СообщениеДобавлено: Пн авг 05, 2019 23:00 
Не в сети
Аватара пользователя

Зарегистрирован: Ср июл 03, 2019 11:10
Сообщения: 463
Откуда: Москва
Благодарил (а): 57 раз.
Поблагодарили: 22 раз.
f02732 писал(а):
Стек плавающей точки может быть стеком данных, стандарт этого не запрещает.
Или там вообще не было целочисленных операций?

Вся математика была плавающая, а там, где требовалось целое число, проиходило округление до целого. :)

UPD. Нашел: viewtopic.php?f=38&t=2198
Не в том разделе искал :)


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Что есть Форт?
СообщениеДобавлено: Пн авг 05, 2019 23:09 
Не в сети

Зарегистрирован: Пн янв 07, 2013 22:40
Сообщения: 2141
Благодарил (а): 8 раз.
Поблагодарили: 74 раз.
Total Vacuum писал(а):
... Но зато реализация будет до неприличия примитивной (тут, возможно, без словарей получится обойтись, если многопроходную компиляцию сделать), компактной (в 2К должно утрамбоваться) и легко переносимой на другие платформы. А все, чего не хватает, можно сделать в виде библиотек. Интересно, существует ли в природе и имеет ли право на существование такая урезанная версия Форта?

Конечно такие варианты существуют, но это Форт - подобные языки! (хотя их и бывает наывают Форт)
Да хоть такой проект IDE using MikroForth for the ATMEL AVR Attiny 2313 in 20 Pin DIL Другие варианты тоже есть, типа F2PIC ... (для контроллеров вполне приемлемо, а для ПК Форт должен быть комфортным для программирования)

P.S. Если сразу не понять, чем Форт отличается коренным образом от других императивных языков, то тогда может возникнуть вопрос, а зачем в нём ещё и такой непривычный синтаксис и будут сравнивать Форт с ассемблером (хотя, в чём то будут правы)



За это сообщение автора KPG поблагодарил: Total Vacuum
Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Что есть Форт?
СообщениеДобавлено: Вт авг 06, 2019 00:03 
Не в сети

Зарегистрирован: Пн июл 01, 2019 14:01
Сообщения: 69
Благодарил (а): 0 раз.
Поблагодарили: 2 раз.
Total Vacuum писал(а):
Например, определение : test ... ; транслируем в что-то типа (используем ASCII-коды символов имени)
@74657374:
...
ret

@04746573 же, для экономии! ;)

А как понимать, определено ли слово? Или это будет выясняться уже на этапе ассемблирования, с непонятным сообщением, типа "Error: symbol '@05474F56' undefined"?


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Что есть Форт?
СообщениеДобавлено: Вт авг 06, 2019 14:22 
Не в сети
Аватара пользователя

Зарегистрирован: Ср июл 03, 2019 11:10
Сообщения: 463
Откуда: Москва
Благодарил (а): 57 раз.
Поблагодарили: 22 раз.
Друзья, а какая реализация Форт, на ваш взгляд, является самой:

0) удивительной/необычной/нестандартной/красивой;
1) правильной, т.е. образцом для подражания;
2) неправильной/страшной/уродливой;


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Что есть Форт?
СообщениеДобавлено: Вт авг 06, 2019 14:31 
Не в сети

Зарегистрирован: Чт янв 07, 2016 19:14
Сообщения: 1288
Благодарил (а): 3 раз.
Поблагодарили: 18 раз.
Удивительной и непонятной: Форк от m'Oleg
Вроде расширяемости дофига, но что-то не цепляет.

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


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 236 ]  На страницу Пред.  1 ... 9, 10, 11, 12, 13, 14, 15, 16  След.

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


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

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


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

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