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

...
Google Search
Forth-FAQ Spy Grafic

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




Начать новую тему Ответить на тему  [ Сообщений: 858 ]  На страницу Пред.  1 ... 53, 54, 55, 56, 57, 58  След.
Автор Сообщение
 Заголовок сообщения: Re: Интересные ссылки
СообщениеДобавлено: Чт ноя 23, 2023 23:56 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7966
Благодарил (а): 25 раз.
Поблагодарили: 144 раз.
Хорошо. А какие решения? Что сразу попробуем, на какой простой демонстрационной задаче, или, может быть, на практическом примере с известным решением.


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

Зарегистрирован: Пн янв 07, 2013 22:40
Сообщения: 2141
Благодарил (а): 8 раз.
Поблагодарили: 74 раз.
Hishnik писал(а):
Хорошо. А какие решения? Что сразу попробуем, на какой простой демонстрационной задаче, или, может быть, на практическом примере с известным решением.

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

P.S. Тут, к примеру, даже на ассемблере кто то делает эмулятор компьютера "Специалист" на Raspberry PI Zero c нуля публикуя дневник разработки на форуме zx-pk.ru :)


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Интересные ссылки
СообщениеДобавлено: Пт ноя 24, 2023 17:55 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7966
Благодарил (а): 25 раз.
Поблагодарили: 144 раз.
KPG писал(а):
Можно организовать по решению каких то задач небольшой местный "фриланс" на Форт,

"Каких-то" - это уже слово-паразит, от которого нужно избавляться. Это очередной виток уворачивания от практической деятельности.
KPG писал(а):
но это лучше спршивать у тех, кто с этим уже работал.

Ну и что, теперь сидеть и ждать, пока эти самые "те" откликнутся?
KPG писал(а):
P.S. Тут, к примеру, даже на ассемблере кто то делает

Делает и делает, если нравится человеку, то в чем проблема?


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Интересные ссылки
СообщениеДобавлено: Сб ноя 25, 2023 08:58 
Не в сети

Зарегистрирован: Пн янв 07, 2013 22:40
Сообщения: 2141
Благодарил (а): 8 раз.
Поблагодарили: 74 раз.
Hishnik писал(а):
KPG писал(а):
P.S. Тут, к примеру, даже на ассемблере кто то делает

Делает и делает, если нравится человеку, то в чем проблема?

Это нравится, должно ещё совпасть с желанием, умением и возможностью это или что то другое сделать. :)


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Интересные ссылки
СообщениеДобавлено: Пт дек 01, 2023 09:27 
Не в сети

Зарегистрирован: Пн янв 07, 2013 22:40
Сообщения: 2141
Благодарил (а): 8 раз.
Поблагодарили: 74 раз.
Серия уроков. :)
Автор: Arsen Gonian
Начало решения примеров задач на SP-Forh

P.S. Начальная страница
Цитата:
ЯП Forth

Программирование – это легко и просто!

Не верите?!
Правильно делаете, проверяйте сами, насколько это может быть легко, если правильно выбрать язык и среду.

Данный курс программирования основан на решении практических задач.

Мы с вами здесь начнем изучать язык программирования Форт с нуля.
Синтаксис этого ЯП (Языка Программирования) настолько прост, что его практически нет. Есть только одно главное правило - все Слова (именно так называются операторы языка и опреде
ЯП Forth

Программирование – это легко и просто!

Не верите?! Правильно делаете, проверяйте сами, насколько это может быть легко, если правильно выбрать язык и среду. Данный курс программирования основан на решении практических задач.

Мы с вами здесь начнем изучать язык программирования Форт с нуля. Синтаксис этого ЯП (Языка Программирования) настолько прост, что его практически нет.
Есть только одно главное правило - все Слова (именно так называются операторы языка и определяемые пользователем слова-функции) и числа должны быть разделены между собой хотя бы одним символом пробела и/или табуляции и/или переноса строки (то есть «любой символ пустоты, разделитель»).ляемые пользователем слова-функции) и числа должны быть разделены между собой хотя бы одним символом пробела и/или табуляции и/или переноса строки (то есть «любой символ пустоты, разделитель»).
...



За это сообщение автора KPG поблагодарил: diver
Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Интересные ссылки
СообщениеДобавлено: Пт дек 01, 2023 22:57 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7966
Благодарил (а): 25 раз.
Поблагодарили: 144 раз.
Вобщем-то здесь базовая информатика, даже до разбора алгоритмов не доходит. Просто вычисления, простые структуры управления, подпрограммы (слова). Форт здесь неудобен тем, что заставляет изучать еще и себя, в дополнение к самим приемам программирования. Питон или C++ будут сразу в выигрыше за счет аргумента "это распространенный язык, научившись ему, вы будете ближе к реальной работе". А вот специфических особенностей Форта нет. Стек таковой считать сложно, это не выигрышная вещь, а "самый простой способ передавать параметры". До концепций DSL или JIT идти от такого еще долго...


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Интересные ссылки
СообщениеДобавлено: Сб дек 02, 2023 15:05 
Не в сети

Зарегистрирован: Пн янв 07, 2013 22:40
Сообщения: 2141
Благодарил (а): 8 раз.
Поблагодарили: 74 раз.
Hishnik писал(а):
Питон или C++ будут сразу в выигрыше за счет аргумента "это распространенный язык, научившись ему, вы будете ближе к реальной работе".

Разве в представленных решениях математических задач на Форт, при использовании и чисто стека без аппарата локальных переменных языка наличествующего в Форт они "значительно" менее понимаемы в его использовании и не лаконичны в своём практицизме чем решения на Python/C/C++?

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

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


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Интересные ссылки
СообщениеДобавлено: Сб дек 02, 2023 16:11 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7966
Благодарил (а): 25 раз.
Поблагодарили: 144 раз.
KPG писал(а):
Разве в представленных решениях математических задач на Форт, при использовании и чисто стека без аппарата локальных переменных языка наличествующего в Форт они "значительно" менее понимаемы в его использовании и не лаконичны в своём практицизме чем решения на Python/C/C++?

А что с ними дальше делать? Программирование не сводится к вычислению формул, написанных на листочке. Обучение языку с помощью вычисления формул полезно прежде всего тем, что результат вычислений может быть проверен независимо. Если программа выдает тот же результат, значит пример получился и язык программирования освоен на уровне записи базовых выражений. Лаконичность и практицизм тут не к месту. Дальше-то пойдут высокоуровневые архитектурные подходы, и оставаться на уровне структурного программирования на стеке уже просто бесполезно.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Интересные ссылки
СообщениеДобавлено: Сб дек 02, 2023 17:43 
Не в сети

Зарегистрирован: Пн янв 07, 2013 22:40
Сообщения: 2141
Благодарил (а): 8 раз.
Поблагодарили: 74 раз.
Hishnik писал(а):
[Дальше-то пойдут высокоуровневые архитектурные подходы, и оставаться на уровне структурного программирования на стеке уже просто бесполезно.

Нет "cеребрянной пули" и вся эта "высокоуровневость архитектурных подходов" на поверку оказывается конфетной обёрткой
над действительно рабочим и "низкоуровневым" кодом в рамках используемого языка решающего алгоритм требуемой задачи.

P.S. Подтверждение этому - выживемость Си языка, как кому бы ни хотелось увидеть его "смерть" :)


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

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

В том-то и дело, что ее нет. Но вывод отсюда видится другой - как раз высокоуровневые подходы и подлежат изучению. Ну вот добавим мы в Форт : SQR DUP * ; (потому что кто-то обнаружит, что в Форте нет квадрата числа "из коробки" - это выраженьице он вычитал на форумах и начал им щеголять). Но таких слов можно добавить сотни. Дело-то в другом. Если такой Форт будет запускаться в консоли, а для GUI требовать подключения dll вручную (с таким же ручным кодированием GetMessage/TranslateMessage/DispatchMessage), то это и есть вопрос архитектуры. Если же такой Форт вообще не может получать доступ к системным функциям, кроме тех, которые уже скомпилированы в его словах, им вообще невозможно пользоваться за пределами учебных примеров. А, к примеру, многопоточность? Можно придумать для нее слова, но что за ними будет стоять? Эмуляция потоков на уровне адресного интерпретатора? Совсем не то, ожидается-то асинхронная работа нескольких слов, и заодно уж повышение производительности за счет аппаратной многопоточности.

KPG писал(а):
"низкоуровневым" кодом в рамках используемого языка решающего алгоритм требуемой задачи

Вот низкоуровневый код как раз не обязательно определяет алгоритм. Зависит от того, что является алгоритмом для решаемой задачи. А сегодня это обычно далеко за пределами "вам даны три числа, надо посчитать их сумму".
KPG писал(а):
Подтверждение этому - выживемость Си языка, как кому бы ни хотелось увидеть его "смерть"

Современные варианты Си (скорее уж C++) довольно далеко ушли от Си уровня Borland в практике применения. Что с Visual Studio, что с Qt невозможно работать на той старой базе.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Интересные ссылки
СообщениеДобавлено: Вс дек 03, 2023 05:02 
Не в сети

Зарегистрирован: Пн янв 07, 2013 22:40
Сообщения: 2141
Благодарил (а): 8 раз.
Поблагодарили: 74 раз.
Очень эзотеричская реализация eForth в рамках вычислителя c одной командой (Subleq)
на С, Perl, Python
Subleq eForth

URISC
Цитата:
URISC (от англ. Ultimate RISC, также OISC — англ. one instruction set computer) — теоретическая архитектура процессора, набор команд в которой поддерживает только одну-единственную инструкцию, и при этом обеспечивается полноту по Тьюрингу, «предельный случай» RISC.

Самый популярный вариант единственной инструкции — «вычесть и пропустить следующую инструкцию, если вычитаемое было больше уменьшаемого» (RSSB — англ. reverse-subtract and skip if borrow). Логически близкий вариант — «вычесть и перейти, если результат не положительный» (SUBLEQ — англ. subtract and branch unless positive).

В качестве единственной инструкции может быть применена пересылка (MOV), если для выполнения операций используется АЛУ, размещённое в памяти.

Ещё один вариант — использование тернарной инструкции BBJ (bit-bit jump, BitBitJump), которая копирует один бит из первого по второму адресу памяти и передаёт управление на третий адрес. Поскольку последовательность инструкций может приготовить адрес, на который перейдёт управление (самомодифицирующийся код), BBJ-процессор способен выполнять любые вычисления, которые может выполнить обычный компьютер.

Существуют и другие варианты реализации URISC.


P.S. В запуске на Perl между вводом Слов и их рeзультатом выполнения у меня на буке проходит от 2-ух секунд. :)
Cи скомпилированная система выполнения команды -Subleq из поданного ей файла с кодом на вход не тормозит..
Интересен, вероятно, может быть и запуск Siubleq eForth на FPGA или в реализации на ТТЛ логике.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Интересные ссылки
СообщениеДобавлено: Пн дек 04, 2023 13:21 
Не в сети

Зарегистрирован: Пн янв 07, 2013 22:40
Сообщения: 2141
Благодарил (а): 8 раз.
Поблагодарили: 74 раз.
Денис Юричев (известен тем, что делает книгу о Reverse Engineering для начинающих)

Три видео с его канала:
Рассказ о SAT/SMT летом 2021,
часть I
часть 2
часть 3


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Интересные ссылки
СообщениеДобавлено: Пн дек 04, 2023 17:45 
Не в сети

Зарегистрирован: Чт янв 07, 2016 19:14
Сообщения: 1293
Благодарил (а): 4 раз.
Поблагодарили: 18 раз.
Hishnik писал(а):
JIT идти от такого еще долго...


JIT? в форте Черезова?
А нафига он форте, где нативная компиляция + оптимизатор?
Не, сделать конечно можно, но смысл...

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


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Интересные ссылки
СообщениеДобавлено: Пн дек 04, 2023 18:01 
Не в сети

Зарегистрирован: Чт янв 07, 2016 19:14
Сообщения: 1293
Благодарил (а): 4 раз.
Поблагодарили: 18 раз.
Hishnik писал(а):
Дело-то в другом. Если такой Форт будет запускаться в консоли, а для GUI требовать подключения dll вручную (с таким же ручным кодированием GetMessage/TranslateMessage/DispatchMessage), то это и есть вопрос архитектуры.


А в чём проблема взять одну из графических обёрток (например, GTK или IUP) и вызывать их функции? Так-то и других языках делают.
Если сильно надо, то можно написать либу поверх них (обёртка поверх обёрток, да).

Hishnik писал(а):
]А, к примеру, многопоточность? Можно придумать для нее слова, но что за ними будет стоять? Эмуляция потоков на уровне адресного интерпретатора? Совсем не то, ожидается-то асинхронная работа нескольких слов, и заодно уж повышение производительности за счет аппаратной многопоточности


О помню для ускорения действия программы (дофига запросов к mysql на сервере) я разбил 4 типа запроса по 1 на каждый поток. Производительность сего решения, правда, не высчитывал. Все равно там всё в сеть упиралось.
Тогда ещё на СПФ писал. Потоки были реализованы честно.

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


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Интересные ссылки
СообщениеДобавлено: Ср дек 06, 2023 19:51 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7966
Благодарил (а): 25 раз.
Поблагодарили: 144 раз.
Victor__v писал(а):
JIT? в форте Черезова?
А нафига он форте, где нативная компиляция + оптимизатор?
Не, сделать конечно можно, но смысл...

В Форте, в принципе, и так JIT, если разобраться. Он не нативной компиляцией интересен, все равно же не дотянет до пиковой производительности. А вот необходимость сначала компилировать, а потом еще и оптимизатор пускать будет уже просто лишним шагом.
Victor__v писал(а):
А в чём проблема взять одну из графических обёрток (например, GTK или IUP) и вызывать их функции? Так-то и других языках делают.

Так ее и надо взять, в этом смысл архитектурного проектирования. Сразу появляется спецификация, интерфейс, его ограничения. Вообще образ программного проекта.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 858 ]  На страницу Пред.  1 ... 53, 54, 55, 56, 57, 58  След.

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


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

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


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

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