Hacker News Digest

Тег: #reverse-polish-notation

Постов: 2

Forth: The programming language that writes itself (ratfactor.com) 🔥 Горячее

Forth — язык программирования, созданный Чаком Муром, который легендарен своей необычайной гибкостью и способностью изменять даже базовые элементы вроде целых чисел. Автор статьи рассказывает о своем пути познания Forth, начатом с легенд на Usenet в 1990-х, где Мур описывался как "волшебник", пишущий программы всего за несколько экранов кода. Несмотря на популярность Perl и других языков того времени, Forth оставался загадкой для многих разработчиков.

Хотя Forth часто ассоциируется с обратной польской нотацией (RPN), где операторы следуют за операндами (например, "3 4 +"), это лишь поверхностная особенность языка. Истинная мощь Forth заключается в его экстремальной гибкости и минимализме, что позволило автору подтвердить легенду о возможности изменения значений целых чисел. Язык продолжает вызывать интерес благодаря своей уникальной философии и эффективности.

by suioir • 20 октября 2025 г. в 00:40 • 285 points

ОригиналHN

#forth#reverse-polish-notation#chuck-moore#programming-language-design#low-level-programming

Комментарии (121)

  • Обсуждение показало, что Forth и подобные языки привлекают внимание своей элегантностью и универсальностью, но страдают от отсутствия стандартизации и сложности в чтении кода, что мешает коллаборации и масштабированию.
  • Участники подчеркнули, что такие языки требуют высокой квалификации разработчика, что может ограничивать их использование в больших командах и коммерческих проектах.
  • Были упомянуты примеры, где Forth использовался в критически важных системах, но это требовало больших усилий для поддержания и передачи знаний.
  • Некоторые участники выразили ностальгию по временам, когда они сталкивались с такими языками в детстве или ранней карьере.
  • В конце концов, обсуждение подошло к выводу, что хотя такие языки могут быть мощными и выразительными, их практическая применимость ограничена их сложностью и отсутствием стандартизации.

Easy Forth (2015) (skilldrick.github.io)

Forth — это уникальный язык программирования 1970-х годов, который до сих пор используется в некоторых нишевых приложениях. Его ключевая особенность — работа со стеком: числа помещаются на стек, а операции (например, +) забирают верхние элементы и возвращают результат. Например, последовательность 5 2 + 10 * вычисляет выражение 10 * (5 + 2) без скобок благодаря обратной польской записи.

Определения новых слов создаются через : и ;. Например, : foo 100 + ; добавляет 100 к верхнему элементу стека. Forth требует точного соблюдения пробелов: +; будет воспринято как одно слово, а не два. Это минималистичный язык, который учит мыслить иначе, расширяя программистский кругозор.

by pkilgore • 22 сентября 2025 г. в 11:52 • 194 points

ОригиналHN

#forth#programming-languages#stack-based#reverse-polish-notation

Комментарии (105)

  • Участники делятся ресурсами для изучения Forth (Jones Forth, видео, книга) и отмечают его ценность для расширения кругозора и создания собственных языков.
  • Обсуждаются технические ограничения и нишевое применение Forth (встраиваемые системы с малыми ресурсами), а также его уникальные особенности, такие как использование двух стеков.
  • Критикуется автоматическая прокрутка на странице проекта, делающая его неудобным в Safari и Firefox, но отмечается работоспособность с отключенным JS.
  • Пользователи делятся впечатлениями от экспериментального проекта FXYT, предлагают улучшения (демо-программы в интерфейсе) и задают вопросы по реализации (например, рисование круга).
  • Высказывается мнение о непрактичности Forth для создания крупных приложений и сложности решения базовых задач (например, чтения строк из файла).