Pull to refresh
31
0,5
Rating
13
Subscribers
Send message
Дополню предыдущее сообщение.
Как ни «странно», но на Хабр есть Хаб по Haxe («эпизодически» пополняемый статьями одним пользователем, в последнее время, и количеством подпичиков — 759)

P.S. Не являясь пользователем Haxe мне сложно перенести примеры из кукбоок на ресурс rosettacode.org.
Современные Форт системы реализуют по разному и вплоть до нативной компиляции всего кода с оптимизациями разной степени удачности, но позволяющими и Форт коду быть быстрым при исполнении в модели процессоров с регистровой организацией команд.
Вот подборка книг по Форт и на русском языке которые были изданы на рубеже 1990 годов
Современных книг по Форт на русском языке нет, но в Форт особых перемен и нет (последний стандарт 94г.) и существующие реализации Форт в той или иной степени следуют стандарту 94года или стандарту от IEEE.
Да, если используется обычная форма CALL вызовов, но они (стэки) не в одном и том же месте и это важно.

P.S. И, кстати, если брать Форт с реализацией в виде Косвенного шитого кода, то там фактически «возврат» из слова — это фактически вызов следующего слова до тех пор пока раскрутка высокоуровневого Форт кода не дойдёт до примитивов написанных на языке ассемблера и цепочка начнёт сворачиваться в обратном направлении. :)
Может в Forth (Форт) где аж 2-а стека по определению и они оба доступны в коде программы и активно используются. :)

P.S. Но, скорее всего, вероятно подразумевалось, например, Лисп, Пролог?
Первый раз познакомился с системой команд PDP-11 (Электроника-60) на обслуживании и ремонте станков с ЧПУ в районе 200х года, а до этого видел ДВК-ки в институте и тогда уже считал их чем то раритетным.
А, далее даже посчастливилось попраграмировать по работе уже процессор K1806ВМ2 и это было достаточно познaвательно. :)
Чем больше, тем лучше и желательно с их описанием
и если есть кукбук, то не должно (или должно) возникнуть сложностей с их размещением и в рамках этого ресурса и возможно со ссылками и в самой «Книге рецепов для IT повара на Hexe»
А, она в нём в целом не нужна т.к. на стеке лежат числа в размере 1-й ячейки хранения принятой в том или ином Форте 16/32/64 а возможность по типизации их предоставляется программисту по применению слов с разными именами ( +, D+ ...) оперирующими сколько, как и в каком размере оперировать ими на стэке.
Если, программист, по определению не даун, то это им легко должно легко пониматься, а если что пошло не так, то последствия его действий не заставят себя ждать (Форт упадёт и/или выведет информацию об эксепшене)
Для чисел плавающей арифметики есть отдельный стэк со словами подобными F+, F-…

P.S. Конечно, в более серьёзном Форт инструментарии может в процессе трансляции программы выводится и проверяться соответствие типов данных и операций применённых к ним, но обычно на это все использующие Форт обычно кладут «болт» и особо не парятся :)
Хотя есть варианты Форт -типа StrongForth где разработчики его стали контролировать типизацию в их Форт.

Если интересен более продвинутый «Форт», то есть например Factor — язык программирования. где на стэк помещаются уже более комплексные сущности чем числа.
Решил 50 задач и ответил на вопрос — Python или JavaScript?

Не смотрели для сравнения существующих решений этих и других задач на http://rosettacode.org?

P.S. Интересно, что на rosettacode.org JavaScript 744 решённых задач ,
а на Python — 1,269 и в 18-ти категориях
Не рассматривали ли возможность ещё писать Пет-проект на освоенном хорошo языке и мoжет через несколько лет он взлетит или заинтересует крупных игроков рынка для его покупки?
А вы не могли бы продолжить мысль? Это по каким-то критериям должно влиять на принятие решения о выборе инструмента?

Например для типовых примеров уже готовых решений в рамках использования нового языка в чём разница Hexe с другими языками на «типовом» примере задачи.
Я не понимаю, как ограничение доступных средств может обеспечить возможность более короткой записи логики. На самом деле, здесь происходит подмена понятий, а «выразительность» достигается комплектными командами. При предоставлении такого же апи, запись этой логики на «родительском» языке вряд ли будет сильно длиннее.

Сентенция с Форт, в общем понимании его как языка программирования приводит к возможности записи каких то «макросов» близко по форме к естественным языкам.

Для кого то это хорошо, а кто то без явно синтаксическо-семантических ограничений присутствующих в современных языках даже не сможет понять для использования Форт.

т.е., наши привычки и освоенные взгляды — наши же «оковы» из «недоступности» понимания, что пути решения задач этим не ограничивается.

Вообще, когда речь заходит про «запилить по-быстрому язык для своей системы с ноля», то в первую очередь в голову придет лисп из-за простоты и надежности. Хотя он далеко не самый юзер-фрэндли для пользователя.

Форт ещё проще т.к. в нём нет скобок в Лисп понимании и он прямолинеен по последовательности выполнения слов при трансляции кода программы в исполнение.
На уровне трансляции Форт программ в базисе Форт нет даже понятия синтаксиса языка, кроме того, что мы имеем дело со словами — самодостаточными сущностями во взаимодействии с другими словами и создающими свой контекст при их использовании для других слов.
Уф… :)
Если следить за стэком становится следить сложно в Форт программе, то что то не правильно делается по его использованию. :)
Обычно происходят мелкие перестановки 2-3 элементов стэка и они не сложно понимаемы. Для других — «особо тяжёлых случаев» никак не ложащихся в алгоритм в Форт реализации можно использовать, например, локальные переменные появившееся в Форт стандарте 94года.

И, конечно, Форт, как язык нацеленный на использование метапрограмирования и DSL наиболее значимо себя проявляет именно при использовании таких техник его использования неплохо описанных во 2-й книге за авторством Броуди «Мышление Форт».

P.S. И, локально оттестировать поведение слова не сложно в Форт.
Да, это и другие возможности доступны и при использовании Форт, но если бы только специфичность Форт была только в постфиксе, то это был бы не Форт, а что то близкое к калькуляторному языку MK-61 и вряд ли Форт, на протяжении 50-ти лет своего существования смог бы войти тогда в современный топ 50-ти языков программирования по версии IEEE Spectrum

P.S. Кстати, страшилки по поводу неудобства «формата» записи Форт программ немного преувеличена в отношении к нему и эта «страшилка Forth» не на первом месте по степени грамотного понимания и использования Форт языка, есть и другие, но серое вещество мозга достаточно гибкая система при её «переформатировании». Форт, как «искуственный» компьютерный язык, гораздо проще в освоении чем, например, иностранный естественный язык по поводу которого нет «предвзятых» взглядов.

В России Форт начался и так же быстро сощёл со сцены в мутные 90-е годы безвременья.
Баранов С.Н. «Язык Форт в СССР и России»
Ну почему же? :)
Forth + Rust в проектах на Github

P.S. Не знаю чем это лучше, например, реализаций Форт на Си, ассемблере…
> Интересно, что и в связке Java + Forth находятся проекты на Github
А как на рынок труда это влияет? Есть вакансии?

Особо не видно, но вероятно кто то использует в своих проектах и Forth, если и звёзд, бывает, несколько сотен какой то проект с ним на Github набирает.

P.S. Форт просто был первым языком практического програмирования из
Concatenative languages использующих стэк(и) как одну из основополагающей структуры данных в языке.

Factor — язык программирования хорошо представлен в своих возможностях.
Kitten написанный на Хаскел тоже вроде неплох

но эти языки акцентируются на использовании ФП в возможностях стэка.
помимо, как Factor нацеленный на ФП в комбинаторном подходе и стэк это позволяет легко это имплантировать. (в Factor ещё своя VM для запуска на разных ОС)

Скажите, а что «устарело», например из Шпаргалка Java-программиста 6. Список полезных ссылок для Java программиста от 2016г. (за 5-ть лет)?

P.S. Используется ли и в какой степени, например JavaCC?

Интересно, что и в связке Java + Forth находятся проекты на Github
Что то мало решённых задач с ресурса rosettacode.org на Haxe (всего 52-а решения)

Если нужен «экстремально» простой и гибкий язык программирования, то даже в качестве DSL — Domain Specific Language применяют Forth (Форт).
При программировании микроконтроллеров и зачастую как основной инструментарий.

Была и статья на Хабр Универсальный DSL. Возможно ли это?
где Форт рассматривался в качестве DSL языка C# проекта.

Вот и ещё пример — EFrt проект полной реализации Форт на C#

P.S. Конечно же, «поверх» JavaScript JeForth.3we — Форт тоже делают

И на Github достаточно ещё проектов по связке Форт и JS

image

Mako.JS — Демо игры проекта запускаемые в браузере, с Форт в качестве DSL
Mako on Github

image
Да, интересная ситуация с текущей механикой кармы.
За предыдущий комментарий у меня снялось, похоже, столько же плюсиков за предыдущии комменарии и карму тоже снизили на 4-е единицы.

P.S.Хотя, когда сам одному пользователю поставил + в карму, то она с -3 стала -2,
а когда у этого же пользователя нажал в — (минус), как бы отыграть обратно, то у него сразу стало -4, а у меня убрались 2-а голоса за карму в сумме за эти действия.
Во как! Непонятно — это так и задумано или «глюк» в системе кармо-механики сайта.

У Вас ещё интересней при заплюсованности комментариев — карма действительно слита! Скорее всего — хотят Вас сподвигнуть на написание какой то статьи, иначе зачем все эти игры с кармой.
Первый комментарий за пол года на Хабр!
Мои поздравления.
Sorry,
Вы, ради только этих своих 2-ух комментариев к этой статье зарегились на Хабр вчера чтобы их оставить или так совпали звёзды?

Information

Rating
2,355-th
Registered
Activity