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

...
Google Search
Forth-FAQ Spy Grafic

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




Начать новую тему Ответить на тему  [ Сообщений: 33 ]  На страницу Пред.  1, 2, 3  След.
Автор Сообщение
 Заголовок сообщения: Re: Продолжение?...
СообщениеДобавлено: Вт окт 08, 2024 00:18 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7996
Благодарил (а): 26 раз.
Поблагодарили: 144 раз.
marc_2006 писал(а):
Э-э-э... Я чего то не понял. Форт - это система программирования или нет? Или Вы предлагаете добавить форт-машину в СPP?

В C++, Object Pascal, C#, Arduino и еще куда-нибудь, куда нужно. Если рассматривать Форт как непременно самодостаточную "систему программирования", то будет то, что сейчас прекрасно можно наблюдать - пробуксовку в повторении несложных, но трудоемких библиотек и пропадающий интерес.

marc_2006 писал(а):
Т.е. по факту его нет.

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


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Продолжение?...
СообщениеДобавлено: Вт окт 08, 2024 00:55 
Не в сети

Зарегистрирован: Сб май 19, 2007 18:05
Сообщения: 30
Благодарил (а): 1 раз.
Поблагодарили: 0 раз.
Hishnik писал(а):
marc_2006 писал(а):
Э-э-э... Я чего то не понял. Форт - это система программирования или нет? Или Вы предлагаете добавить форт-машину в СPP?

В C++, Object Pascal, C#, Arduino и еще куда-нибудь, куда нужно. Если рассматривать Форт как непременно самодостаточную "систему программирования", то будет то, что сейчас прекрасно можно наблюдать - пробуксовку в повторении несложных, но трудоемких библиотек и пропадающий интерес.

Ок. Как мне вставить форт-машину в С++?


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

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7996
Благодарил (а): 26 раз.
Поблагодарили: 144 раз.
marc_2006 писал(а):
Ок. Как мне вставить форт-машину в С++?

1. Определить набор функций, которые требуют скриптового управления.
2. Определить вход/входы интерпретатора (консоль, файл, сеть и т.п.).
3. Завести стеки и словарь (в виде массива структур, описывающих слова).
4. Написать основной поток форт-машины в составе:
- принимаем строку из входного потока;
- разбираем по пробелам;
- ищем в словаре и запускаем/компилируем call.
Предварительно нужно посмотреть на возможности базовой системы по реализации кода. Например, машинный код слишком привязан к платформе и на сегодняшний день вызывает множество проблем с антивирусами, которые считают подозрительной программу, генерирующую код на лету и передающую на него управление. Шитый код можно сделать, как минимум, в виде static cast, когда int превращается в указатель на void(), тогда компиляция слова в словарь добавляет туда int, а форт-машина при чтении делает приведение типов и таки передает туда управление. С другой стороны, большой switch также работаем приемлемо, но в этом случае слова необходимо разделить на примитивы (для которых и пишется этот switch) и скомпилированные слова, для которых запускается интерпретатор шитого кода.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Продолжение?...
СообщениеДобавлено: Вт окт 08, 2024 01:45 
Не в сети
Аватара пользователя

Зарегистрирован: Вт авг 12, 2008 03:18
Сообщения: 340
Откуда: Москва
Благодарил (а): 37 раз.
Поблагодарили: 10 раз.
Если люди не пишут на форум, вовсе не обязательно, что его не читают.

_________________
Линукс решает, винда глотает.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Продолжение?...
СообщениеДобавлено: Вт окт 08, 2024 04:37 
Не в сети
Moderator
Moderator
Аватара пользователя

Зарегистрирован: Чт май 04, 2006 00:53
Сообщения: 5063
Откуда: был Крым, теперь Новосибирск
Благодарил (а): 23 раз.
Поблагодарили: 63 раз.
Имхо, пусть живет!

_________________
Мне бы только мой крошечный вклад внести,
За короткую жизнь сплести
Хотя бы ниточку шёлка.
fleur


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Продолжение?...
СообщениеДобавлено: Вт окт 08, 2024 10:55 
Не в сети

Зарегистрирован: Чт янв 07, 2016 19:14
Сообщения: 1304
Благодарил (а): 4 раз.
Поблагодарили: 19 раз.
Hishnik писал(а):
В ноябре наступит очередная дата продления договора на хостинг. В связи с этим вопрос - стоит ли?

Да, стоит

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


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Продолжение?...
СообщениеДобавлено: Вт окт 08, 2024 12:05 
Не в сети

Зарегистрирован: Сб май 19, 2007 18:05
Сообщения: 30
Благодарил (а): 1 раз.
Поблагодарили: 0 раз.
Hishnik писал(а):
marc_2006 писал(а):
Ок. Как мне вставить форт-машину в С++?

1. Определить набор функций, которые требуют скриптового управления.
2. Определить вход/входы интерпретатора (консоль, файл, сеть и т.п.).
3. Завести стеки и словарь (в виде массива структур, описывающих слова).
4. Написать основной поток форт-машины в составе:
- принимаем строку из входного потока;
- разбираем по пробелам;
- ищем в словаре и запускаем/компилируем call.

Иными словами, мне нужно написать Форт на С++, дополнив словами для возможности использования уже существующих библиотек С++, я правильно понял?


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Продолжение?...
СообщениеДобавлено: Вт окт 08, 2024 15:13 
Не в сети

Зарегистрирован: Пт июн 06, 2008 14:21
Сообщения: 137
Откуда: Карелия
Благодарил (а): 1 раз.
Поблагодарили: 5 раз.
marc_2006 писал(а):
Hishnik писал(а):
marc_2006 писал(а):
Ок. Как мне вставить форт-машину в С++?

1. Определить набор функций, которые требуют скриптового управления.
2. Определить вход/входы интерпретатора (консоль, файл, сеть и т.п.).
3. Завести стеки и словарь (в виде массива структур, описывающих слова).
4. Написать основной поток форт-машины в составе:
- принимаем строку из входного потока;
- разбираем по пробелам;
- ищем в словаре и запускаем/компилируем call.

Иными словами, мне нужно написать Форт на С++, дополнив словами для возможности использования уже существующих библиотек С++, я правильно понял?

Может в этой теме развить проект, или улучшить spf на этом сайте, стоит ли изобретать велосипед?


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Продолжение?...
СообщениеДобавлено: Вт окт 08, 2024 16:33 
Не в сети

Зарегистрирован: Пн окт 05, 2009 18:21
Сообщения: 434
Откуда: Минск SotnikSTO@mail.ru
Благодарил (а): 51 раз.
Поблагодарили: 3 раз.
marc_2006 писал(а):
Sotnik писал(а):
4) Форт - не современный язык программирования. Четвёртый. :)
Прошу обосновать этот пункт.

Вот из энциклопии: Хотя Форт не является современным языком программирования по сравнению с такими языками, как Python или JavaScript, он все еще имеет свое место в определенных областях, особенно там, где важны производительность и контроль над ресурсами. Его уникальные особенности делают его интересным выбором для специфических задач, особенно в области встраиваемых систем.

Название языка программирования "Форт" (Forth) происходит от слова "fourth" (четвёртый) и связано с тем, что он был разработан как четвёртый язык программирования, созданный Чаком Муром (Charles Moore) для управления телескопами и другими системами.
marc_2006 писал(а):
Sotnik писал(а):
Я когда-то, 100 лет назад, показал Ларионову свою версию Нортона.
И в ответ получил все исходники: ( ответ на: "У Форта этого нет. Или я не прав?")
Это намек типа "сделай все сам!"?

Типа того. Хотелок у народа много, вот вам возможности для их реализации. :)

_________________
Сотник. SotnikSTO@mail.ru


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Продолжение?...
СообщениеДобавлено: Вт окт 08, 2024 16:58 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7996
Благодарил (а): 26 раз.
Поблагодарили: 144 раз.
marc_2006 писал(а):
Иными словами, мне нужно написать Форт на С++, дополнив словами для возможности использования уже существующих библиотек С++, я правильно понял?

Да. Это имеет смысл, если впереди ожидается много мелких доработок, которые будут тормозить отладку сложного проекта на С++. Тогда встроенный скриптовый язык, тесно интегрированный с основной массой кода (просто потому, что он будет собран как модуль проекта), сэкономит больше времени на отсутствии многократных пересборок, чем будет потрачено на его разработку.

F-MAP писал(а):
Может в этой теме развить проект, или улучшить spf на этом сайте, стоит ли изобретать велосипед?

1. spf - продукт почти 30-летней давности, с соответствующей архитектурой и инструментами. Какой смысл его воспроизводить?
2. Почему вдруг spf - не велосипед, а что угодно другое - велосипед? Чем это определяется? Если за десятилетия проект никуда не продвинулся, и попытки его использовать натыкаются на "да тут ничего нет, надо дописать", то вряд ли он сдвинется с места сейчас.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Продолжение?...
СообщениеДобавлено: Вт окт 08, 2024 17:13 
Не в сети

Зарегистрирован: Чт янв 07, 2016 19:14
Сообщения: 1304
Благодарил (а): 4 раз.
Поблагодарили: 19 раз.
Hishnik писал(а):
marc_2006 писал(а):
Иными словами, мне нужно написать Форт на С++, дополнив словами для возможности использования уже существующих библиотек С++, я правильно понял?

Да. Это имеет смысл, если впереди ожидается много мелких доработок, которые будут тормозить отладку сложного проекта на С++. Тогда встроенный скриптовый язык, тесно интегрированный с основной массой кода (просто потому, что он будет собран как модуль проекта), сэкономит больше времени на отсутствии многократных пересборок, чем будет потрачено на его разработку.

F-MAP писал(а):
Может в этой теме развить проект, или улучшить spf на этом сайте, стоит ли изобретать велосипед?

1. spf - продукт почти 30-летней давности, с соответствующей архитектурой и инструментами. Какой смысл его воспроизводить?
2. Почему вдруг spf - не велосипед, а что угодно другое - велосипед? Чем это определяется? Если за десятилетия проект никуда не продвинулся, и попытки его использовать натыкаются на "да тут ничего нет, надо дописать", то вряд ли он сдвинется с места сейчас.

А вы говорите форум не нужен)
Старый добрый фортовский срач :))

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


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Продолжение?...
СообщениеДобавлено: Ср окт 09, 2024 00:12 
Не в сети

Зарегистрирован: Сб май 19, 2007 18:05
Сообщения: 30
Благодарил (а): 1 раз.
Поблагодарили: 0 раз.
Sotnik писал(а):
Никто ничего не забросил.
Новая версия GPT, которая o1 даже очень толково пишет ядро Форта и проги под ESP32S3 N16R8.

А может этот o1 написать Форт на С++?


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Продолжение?...
СообщениеДобавлено: Чт окт 10, 2024 02:42 
Не в сети

Зарегистрирован: Пн окт 05, 2009 18:21
Сообщения: 434
Откуда: Минск SotnikSTO@mail.ru
Благодарил (а): 51 раз.
Поблагодарили: 3 раз.
marc_2006 писал(а):
Sotnik писал(а):
Никто ничего не забросил.
Новая версия GPT, которая o1 даже очень толково пишет ядро Форта и проги под ESP32S3 N16R8.

А может этот o1 написать Форт на С++?

Что-то в духе: Вот эту библиотеку на Си, перепиши на Форте.
При достаточной инфе по ядру, и базовых словах - переписывает, не поперхнувшись.

Прошлые версии отчаянно тупили.

Я вообще, жду проект с применением ULP сверхмаломощного ядра ESP32S3,
куда уже придётся писать прогу на Форте - очень требовательный проект, а памяти 20кБ.
Во сне железяка должна вести себя по взрослому.
Это не проблема реализации, это GPT пережуёт, и выдаст то что надо. :)

Но форум закрывать не надо.
Надо же нам где-то чем-то меряться!!! :zombypc;

_________________
Сотник. SotnikSTO@mail.ru


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Продолжение?...
СообщениеДобавлено: Чт окт 10, 2024 14:05 
Не в сети

Зарегистрирован: Сб май 19, 2007 18:05
Сообщения: 30
Благодарил (а): 1 раз.
Поблагодарили: 0 раз.
Sotnik писал(а):
Но форум закрывать не надо.
Надо же нам где-то чем-то меряться!!! :zombypc;

Не только. ;) Я реально не понимаю, чего не может быть написано на Форте, если уже есть версия Vx, в которой есть слова для работы со сторонними библиотеками? Если же написать Форт на на С++, к примеру, то Форт получит возможность работы со всеми ресурсами С++ программ, поскольку можно написать форт-слова, в которых описать все специфические слова для работы с ресурсами С++ на С++ (по сути это и будет понятие "вставить форт-машину" о котором писал Hishnik). Если претензии к Форту только в невозможности использовать сторонние библиотеки, то в этом случая они снимаются. И тогда все претензии к Форту только на уровне собственных предпочтений.

P.S. Какой то странный глюк форума - при редактировании сообщения и нажатии кнопки "Отправить" запускается режим "Предпросмотра" с подзаголовком "Это сообщение было изменено другим пользователем в то время, когда вы редактировали его. Вы можете просмотреть текущую версию сообщения и внести желаемые изменения."


Последний раз редактировалось marc_2006 Чт окт 10, 2024 16:00, всего редактировалось 2 раз(а).

Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Продолжение?...
СообщениеДобавлено: Чт окт 10, 2024 14:29 
Не в сети

Зарегистрирован: Пн янв 28, 2019 03:10
Сообщения: 175
Благодарил (а): 22 раз.
Поблагодарили: 13 раз.
По теме топика - форум, считаю, нужно оставить, хотя бы в режиме read-only, т.к. это неплохой сборник вопросов/ответов и мнений по различным аспектам реализации и использования Форта, причём более современный, чем классические книги, статьи и журналы. Опять-таки, гипотетическому новичку-программисту на Форте проще будет найти форум, чем канал в телеграмме.

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

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


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

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


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

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


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

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