flint2
> Мутная таблица.
Не без этого, но она, отчасти, показывает и какую то заинтересованность сообщества или отдельных членов его, использующего тот или иной язык, в "проверке реализуемости" отобранного списка задач наиболее вероятно встречающихся в повседневной практике программирования.
(и как то обозначающих проблематику их реализации на том или ином языке для использующих его)
Кто то, если сталкивается с незнакомым языком может больше понять какие то моменты по применению того или иного языка в сравнительном рассмотрении сделанных решений и что то осмыслить/переосмыслить для себя.
P.S. Для меня интересно оказалось, что в топе далеко не самые популярные языки из предлагаемого IT индустрией. Есть сервисы Online инструментария ввода и запуска кода на том или ином языке, так вот какие то языки из этого топа можно вообще не встретить на этих ресурсах.
Интересно что Factor (из конкатенативных языков) оказался на 23-м месте при малочисленности его коммунити, но вероятно принявшим и "вызов" в решении задач с этого ресурса. Forth, при этом, только на 48-м. :) (хотя, к примеру, в этом коротком обсуждении этой таблицы его уже упомянули 3-и человека и не от меня изначально)
Java и Kotlin где то рядом, по Racket вообще отсечка в таблице сравнения с ним.
А.С. Пушкин «Сказка ложь, да в ней намек, добрым молодцам урок»
Предположу, что есть какая то граница по сложности и простоте применения того или иного языкового инстументария и где и как она проходит в понимании разработчика может как то иллюстрировать и эта таблица в представленных языков в ней.
gudleifr
> но намертво останавливается там, где FORTH только начинает работать
> по-настоящему - перед сложными задачами.
Может это объясняет и парадокс, что его реализуют на разных языках и интегрируют с ними, что бы и разрешить какие то сложности в использовании того или иного языкового инструментария.
Иначе как объяснить существующие проекты на Github достаточно сложных реализаций в рамках этих языков Форта (начиная от ассемблера до Java, C#, Rust ... имеющих и GC, ООП, ...)
Вот, например, что ответил автор статьи Универсальный DSL. Возможно ли это? на вопрос о применимости Forth в его задачах.
Кстати, интересно, что на видео канале Forth2020 www.youtube.com/channel/UC_GiEulo2vZog-EEHIEL_yw проходят некоторые митинги тематики Forth,
Последний был с общением с Чаком Муром…
P.S. В плане дополнительного осмысления Forth есть некоторая презентация ooeforth204
взятая с этой страницы: www.forth.org/svfig/kk/07-2021.html
Автор реализовал OO Форт в рамках Java и выразил мысль описанием, что это построение Форт в чужеродном окружении языка, хоть и сложно и замысловато, но всё же имеет смысл.
KPG, по большому счёту согласен с со всем сказанным.
Примерно так и рассматривал...
Вот ещё интересная статья: https://yosefk.com/blog/c-as-an-intermediate-language.html
помню был форт на спекки - учил его в 1993
flint2
> Примерно так и рассматривал...
А не надо рассматривать. Просто поворачиваете голову в сторону решения сложной задачи методом написания для нее языка, и FORTH приходит сам. Все эти разговоры о "чужеродном окружении" для FORTH - веселые попутные задачки на полдня.
gudleifr, я не про форт, а про таблицу.
Я сам в свою систему SP-Forth(64) встроил и как скрипт, и как компиляция кода в exe наравне с паскалем и C++. См. рис. 1 выше постом.
flint2
> Я сам в свою систему SP-Forth(64) встроил и как скрипт, и как компиляция кода в exe наравне с паскалем и C++.
Это в корне неправильное использование FORTH. Применяя его по назначению, вы просто перестаете нуждаться в "интеграторах", переходите к писанию в notepad на человеческом языке.
flint2
> Я сам в свою систему SP-Forth(64) встроил и как скрипт, и как компиляция кода в exe
А, про какой SP-Forth(64) идёт речь? (частно-личный вариант реализации?)
А, Hiasm кто то мог бы собрать под Linux на FreePascal + Lazarus?
Тут Дракон язык военным впаривают«Язык ДРАКОН в парке Патриот на военном форуме АРМИЯ-2021»
ссылка — https://forum.drakon.su/viewtopic.php?f=211&t=7070
gudleifr
>
> Это в корне неправильное использование FORTH. Применяя его по назначению, вы
> просто перестаете нуждаться в "интеграторах", переходите к писанию в notepad на
> человеческом языке.
Вроде высказана мысль, но читается двояко. :)
Для использования FORTH, Forth всё же нужен или нет или достаточно Бейсика + блокнот?
gudleifr
Это в корне неправильное использование
Просто ты не в курсе что может и делает моя система.
А графика(OpenGL - Vulkan - Direct3D), а GUI, а звук(не BASS-же, или OpenAL с примитивными функциями юзать) и много ещё чего, без чего любой голый язык нахрен никому не нужен. Мы же не в каменном веке, чтобы в блокноте API юзать.
То что делается в Delphi, или VS неделя-две, я за час-два у себя сделаю.
Навороченный интерфейс из форта - нет уж увольте!
Да и скорость в циклах...
Код на СИ надо писать на СИ, а код Пролога на прологе. (делал я пролог на форте, это ещё та фигня)
Сейчас даже на Delphi не все код поймут, а на C++ практически все. Я к тому, как общаться.
Напиши чего нибудь на форте и все будут гадать, что это за кракозябы?
Могу сейчас набросать какую-ныть программку за десять минут, и будем посмотреть сколько недель её надо делать на форте.
К примеру такой Winamp делал за 3 часа с рисованием: https://disk.yandex.ru/d/PgbjqHIuDKsvEg
или такое на форте: https://disk.yandex.ru/d/BwotbfW3JfsSGQ сделать? Сутки - потому, что сложно.
Или хотя бы такой не навороченный ГУЙ https://disk.yandex.ru/d/inMO6NCBh1h8uw в блокноте?
flint2
> и много ещё чего, без чего любой голый язык нахрен никому не нужен.
Это то самое, никому не нужное "движкописание".
flint2
> Напиши чего нибудь на форте и...
И это будет просто описание решения на человеческом языке.
KPG
> Для использования FORTH, Forth всё же нужен или нет или достаточно Бейсика + блокнот?
Для использования FORTH достаточно практически любой машины (чуть ли не из коробков). Но целью этого использования должно являться написание Бейсика, на котором любой пользователь (шарящий в прикладной области), сможет записать решение своей частной задачи в пару строк в блокноте.
gudleifr
> Для использования FORTH достаточно практически любой машины (чуть ли не из
> коробков). Но целью этого использования должно являться написание Бейсика, на
> котором любой пользователь (шарящий в прикладной области), сможет записать
> решение своей частной задачи в пару строк в блокноте.
Именно Бейсика или DSL языка уже решающему подобный класс задач?
Будет он Бейсик подобным или следовать Форт дизайну, полагаю, уже дело вторичное.
gudleifr, спешишь с ответом однако. Дочитай до конца.
Не надо всё под одну гребёнку, когда-то и блокнота достаточно, а иной раз и станок с ЧПУ нужен и язык языку рознь.
flint2
> Дочитай до конца.
Дочитал. Подтверждаю: движкописание детектед.
KPG
> Именно Бейсика или DSL языка уже решающему подобный класс задач?
Именно Бейсика. DSL - это необходимость изучения на 90% избыточного для вашей задачи "офиса". Бейсик - это язык из 10 слов, 8 из которых, вы используете в своем решении из двух строчек.
KPG
> Будет он Бейсик подобным или следовать Форт дизайну, полагаю, уже дело вторичное.
У Форт нет дизайна.
Да прочитайте, наконец, статью Мура!
flint2
> Вот ещё интересная статья:
> https://yosefk.com/blog/c-as-an-intermediate-language.html
Спасибо, сначала подумал, что это от iosifk http://iosifk.narod.ru/articles.html
написавшего статью про "Форт" в 2003 году в журнале "Компоненты и технологии"
с названием - "Старое - это хорошо забытое новое" где в частности приводились данные о TF-16
(по разработке процессора от почившей фирмы "ТехноФорт") но всё же реализованного с 5-й приёмкой серии "микроконтроллеров" - K1894 в разном исполнении.
P.S.Что то похожее видел и во встраивании Форт, как отладчика для M68000 процессора, и как применении в проекте Radare2 языка ESIL https://github.com/radareorg/radare2/blob/master/doc/esil.md
gudleifr
> Именно Бейсика. Бейсик - это язык из 10 слов, 8 из которых, вы используете в своем решении из
> двух строчек.
Хоть я программировал по работе на Бейсик, но после этой работы, с 1995 года больше к нему не возращался. (хотя некоторое время ещё пытался решить некоторые вопросы Бейсик кода проекта).
хотя на момент трудоустройства уже знал о Форт, но задачи потребовали сначала использование Ассемблерa)
Почему забросил использование Бейсик, но не забыл Форт?
- Всё просто - распечатанная программа на листе бумаги его полностью заполняла всевозможными действиями над строковыми переменными и массивами при её реализации (местное бухгалтерское ПО на фабрике со своей "реляционной" базой данных для всевозможных расчётов на ещё Turbo Basic и 386 XT)
В защиту Бейсика (Turbo Basic) можно сказать, что это не "худший" вариант разработки ПО и с задачами он справлялся.
P.S. Подразумевается именно классический Бейсик?
gudleifr
> У Форт нет дизайна.
> Да прочитайте, наконец, статью Мура!
Дизайна "нет", но есть возможность делать ПО.
P.S. И статьи Мура и Дейкстры (про стековые вычислители) читал, но видать они как то не показались мне актуальными. :)
Sorry - интересней было читать книгу Баранова про Форт и его реализации, Броуди, как хорошего и грамотного автора.
KPG
> Подразумевается именно классический Бейсик?
Нет, конечно. Бейсик здесь - пользовательский язык для машины, решающей задачи пользователя. Программирование на FORTH - это построение такой машины, умеющей в простой и удобный для пользователя Бейсик.
Тема в архиве.