-- Leo's gemini proxy

-- Connecting to any-key.press:1965...

-- Connected

-- Sending request

-- Meta line: 20 text/gemini

Моё знакомство с Forth


TL;DR Книга "Starting FORTH" (в переводе "Начальный курс программирования на языке ФОРТ") от Leo Brodie это то, что нужно для знакомства со вселенной Forth.


Форт попал в моё поле зрения относительно недавно, буквально в прошлом (2023-ем) году. Всё началось со знакомства с DuskOS:


http://duskos.org/


Тогда я как-то по-диагонали прочитал страницу в википедии, вспомнил свою нелюбовь к обратной польской нотации и всё замялось.


Через какое-то время моё внимание привлекла виртуальная вычислительная машина Unx от ребят из Hundred Rabbits:


https://100r.co/site/uxn.html

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) можно оставить здесь:

https://honk.any-key.press/u/continue/h/Dj23WNR82mj1d8fKb8

-- Response ended

-- Page fetched on Mon May 20 09:01:18 2024