💾 Archived View for any-key.press › forth › introduction.gmi captured on 2024-08-31 at 11:27:08. Gemini links have been rewritten to link to archived content
⬅️ Previous capture (2024-05-10)
-=-=-=-=-=-=-
TL;DR Книга "Starting FORTH" (в переводе "Начальный курс программирования на языке ФОРТ") от Leo Brodie это то, что нужно для знакомства со вселенной Forth.
Форт попал в моё поле зрения относительно недавно, буквально в прошлом (2023-ем) году. Всё началось со знакомства с DuskOS:
Тогда я как-то по-диагонали прочитал страницу в википедии, вспомнил свою нелюбовь к обратной польской нотации и всё замялось.
Через какое-то время моё внимание привлекла виртуальная вычислительная машина Unx от ребят из Hundred Rabbits:
https://wiki.xxiivv.com/site/uxn.html
И что мы тут видим: обратная польская нотация, ориентированность на стек, разделение стека параметров и стека возвратов. Чем глубже я изучал Unx, тем отчётливее виднелись торчащие из-за неё уши Форта.
Финальным пинком в сторону более детального изучения Forth стал публикуемый автором DuskOS (Virgil Dupras) цикл статей "Tumble Forth", где он немного обобщенно рассказывает как написать свой форк:
http://tumbleforth.hardcoded.net/
Все эти окольные тропинки в итоге привели меня к книге Leo Brodie "Starting FORTH", а точнее к её переводу "Начальный курс программирования на языке ФОРТ" 1990 года от издательства "ФИНАНСЫ И СТАТИСТИКА". Это именно то, что оказалось нужно мне: достаточно подробно, но не слишком. Материал, в основной массе, не устарел и актуален сегодня. Есть моменты, которые в настоящее время кажутся совсем уж архаичными, но с одной стороны их не много, а с другой они отлично характеризуют ту эпоху в программировании.
В качестве песочницы для Форта можно использовать ту же DuskOS, Gforth или, например, PFE (Portable Forth Environment).
(Как минимум) Форт отличная гимнастика для ума: нестандартные и забытые подходы в программировании постоянно заставляют шестерёнки в мозге скрипеть. Не уверен, что это та система, на которой сейчас можно разработать что-то "серьезное". Но, глядя как автор DuskOS сделал на Forth свой "almost C" и тем самым смог импортировать драйвера из NetBSD и Plan 9, возможно у меня просто слишком слабое воображение :)
http://duskos.org/doc/comp/c/index.txt
Пока я всё ещё знакомлюсь с циклом "Tumble Forth". Параллельно планирую повнимательнее ознакомиться со материалами "Moving Forth":
https://www.bradrodriguez.com/papers/moving1.htm
Вступление к этому материалу мне понравилось с первого взгляда:
Everyone in the Forth community talks about how easy it is to port Forth to a new CPU. But like many "easy" and "obvious" tasks, not much is written on how to do it! So, when Bill Kibler suggested this topic for an article, I decided to break with the great oral tradition of Forthwrights, and document the process in black and white.
Плюс существует перевод ещё одной книги Brodie: "Thinking FORTH" (в переводе "Способ мышления - ФОРТ"). Я прочитал несколько первых глав и сделал вывод, что этот материал больше по проектированию ПО в целом. И это не то, что мне сейчас интересно.
Комментарии через ActivityPub (Fediverse) можно оставить здесь: