Не рассматривали ли возможность ещё писать Пет-проект на освоенном хорошo языке и мoжет через несколько лет он взлетит или заинтересует крупных игроков рынка для его покупки?
А вы не могли бы продолжить мысль? Это по каким-то критериям должно влиять на принятие решения о выборе инструмента?
Например для типовых примеров уже готовых решений в рамках использования нового языка в чём разница Hexe с другими языками на «типовом» примере задачи.
Я не понимаю, как ограничение доступных средств может обеспечить возможность более короткой записи логики. На самом деле, здесь происходит подмена понятий, а «выразительность» достигается комплектными командами. При предоставлении такого же апи, запись этой логики на «родительском» языке вряд ли будет сильно длиннее.
Сентенция с Форт, в общем понимании его как языка программирования приводит к возможности записи каких то «макросов» близко по форме к естественным языкам.
Для кого то это хорошо, а кто то без явно синтаксическо-семантических ограничений присутствующих в современных языках даже не сможет понять для использования Форт.
т.е., наши привычки и освоенные взгляды — наши же «оковы» из «недоступности» понимания, что пути решения задач этим не ограничивается.
Вообще, когда речь заходит про «запилить по-быстрому язык для своей системы с ноля», то в первую очередь в голову придет лисп из-за простоты и надежности. Хотя он далеко не самый юзер-фрэндли для пользователя.
Форт ещё проще т.к. в нём нет скобок в Лисп понимании и он прямолинеен по последовательности выполнения слов при трансляции кода программы в исполнение.
На уровне трансляции Форт программ в базисе Форт нет даже понятия синтаксиса языка, кроме того, что мы имеем дело со словами — самодостаточными сущностями во взаимодействии с другими словами и создающими свой контекст при их использовании для других слов.
Уф… :)
Если следить за стэком становится следить сложно в Форт программе, то что то не правильно делается по его использованию. :)
Обычно происходят мелкие перестановки 2-3 элементов стэка и они не сложно понимаемы. Для других — «особо тяжёлых случаев» никак не ложащихся в алгоритм в Форт реализации можно использовать, например, локальные переменные появившееся в Форт стандарте 94года.
И, конечно, Форт, как язык нацеленный на использование метапрограмирования и DSL наиболее значимо себя проявляет именно при использовании таких техник его использования неплохо описанных во 2-й книге за авторством Броуди «Мышление Форт».
P.S. И, локально оттестировать поведение слова не сложно в Форт.
Да, это и другие возможности доступны и при использовании Форт, но если бы только специфичность Форт была только в постфиксе, то это был бы не Форт, а что то близкое к калькуляторному языку MK-61 и вряд ли Форт, на протяжении 50-ти лет своего существования смог бы войти тогда в современный топ 50-ти языков программирования по версии IEEE Spectrum
P.S. Кстати, страшилки по поводу неудобства «формата» записи Форт программ немного преувеличена в отношении к нему и эта «страшилка Forth» не на первом месте по степени грамотного понимания и использования Форт языка, есть и другие, но серое вещество мозга достаточно гибкая система при её «переформатировании». Форт, как «искуственный» компьютерный язык, гораздо проще в освоении чем, например, иностранный естественный язык по поводу которого нет «предвзятых» взглядов.
> Интересно, что и в связке Java + Forth находятся проекты на Github
А как на рынок труда это влияет? Есть вакансии?
Особо не видно, но вероятно кто то использует в своих проектах и Forth, если и звёзд, бывает, несколько сотен какой то проект с ним на Github набирает.
P.S. Форт просто был первым языком практического програмирования из Concatenative languages использующих стэк(и) как одну из основополагающей структуры данных в языке.
Factor — язык программирования хорошо представлен в своих возможностях. Kitten написанный на Хаскел тоже вроде неплох
…
но эти языки акцентируются на использовании ФП в возможностях стэка.
помимо, как Factor нацеленный на ФП в комбинаторном подходе и стэк это позволяет легко это имплантировать. (в Factor ещё своя VM для запуска на разных ОС)
Если нужен «экстремально» простой и гибкий язык программирования, то даже в качестве DSL — Domain Specific Language применяют Forth (Форт).
При программировании микроконтроллеров и зачастую как основной инструментарий.
Да, интересная ситуация с текущей механикой кармы.
За предыдущий комментарий у меня снялось, похоже, столько же плюсиков за предыдущии комменарии и карму тоже снизили на 4-е единицы.
P.S.Хотя, когда сам одному пользователю поставил + в карму, то она с -3 стала -2,
а когда у этого же пользователя нажал в — (минус), как бы отыграть обратно, то у него сразу стало -4, а у меня убрались 2-а голоса за карму в сумме за эти действия.
Во как! Непонятно — это так и задумано или «глюк» в системе кармо-механики сайта.
У Вас ещё интересней при заплюсованности комментариев — карма действительно слита! Скорее всего — хотят Вас сподвигнуть на написание какой то статьи, иначе зачем все эти игры с кармой.
Когда лет 20+ читал книги по Java они мне очень нравились (Том Сван «Освоение Java с помощью Visual J++») потом ещё прикупал книги по Java -2-ух томник лет через 6-ть, но, не вложился или судьба закрутила в другую сторону. :)
P.S. Сейчас приглядываюсь к Factor programming language, но уже поздно или после знакомство с Форт (Forth) избыточно сложно.
Думаю будущее за примерно такими комбинаторными языками программирования, которые при внедрении «ИИ» будут наиболее востребованы, если не человеками, то роботами, как устраняющие семантико-синтаксические ограничения выстроенные классическими языками программирования.
P.S. Поживём — увидим.
Питон, в сравнении с С/С++ упростил программирование в массе своего использования в направлении старой школы Бейсик языков с современными фишечками.
Скажите, Вы сами погрузились в современные IT технологии или Вас в них погрузили? :)
P.S. Новое — это хорошо, но, например, программист на Дельфи (Паскале) у меня вызывает уважение не меньше чем человек использующий популярный в современности инструментарий.
Автор статьи, даже не рассматривает, как альтернативу работы, на развивающиеся IT рынки, в которые когда то завезли Майнфрейм технологии и они ещё могут быть востребованы.
А, почему бы не поставить количество урн по числу партий и избиратель свой бюллетень бросит в нужную по номеру партии с подтверждением в бюллетне,
а далее уже пусть партии бодаются борются кто выиграл выборы при подсчёте голосов, если конечно они в этом заинтересованы (или «сливают» свои голоса в чью то пользу)
А, ещё лучше, если «все» жители страны вступят в какую то партию, то уже и до голосования можно выяснить реальную расстановку партийных пристрастий.
P.S. Вот сколько, например, партий в разных странах?
А, то не зависимо от результатов голосования — проигравшие партии так же финансируются для своего дальнейшего безбедного существования из бюджета («опозицеоннеры» же)
С другой стороны неплохо бы упомянуть и вышеназванный Sinclair QL, который хоть и был коммерческим провалом, но это был на нем учился программированию Линус Торвальдс.
И писал он на нём какие то программы на Forth (Форт)
(из биографических воспоминаний Линусa Торвальдсa)
P.S. После ухода разработчиков Ричарда Эльтуоссера и Стивена Викерса из проектирования Sinclair ZX Spectrum они сделали компьютер Jupiter ACE с языком программирования Forth (без цвета), а, ПО в ПЗУ ZX-Spectrum осталось недоделанным с незаполненными байтами его пространства.
Может и поэтому из особенностей встроенного ПО, разработчикам IS-DOS операционной системы получилось перехватывать обращение к гибкому диску по сбросу и загружать свою ОС (сами диски с IS-DOS клонировались на IBM PC с помощью программы TeleDisk)
Для ZX даже написал вариант замены её ПО прошивки с добавлением русского языка и турбированием и она пошла тоже в клоны ZX-Spectrum. :)
На Github есть репозитории с некоторыми исходниками игр
Например videogamepreservation (или даже от самих разработчиков), но зачастую цифровое наследие программ (и игр) бывает ещё кому то принадлежит и не известна реакция этих правообладателей и на такое исследование бинарного их состояния. (могут, например, заблочить игру при публикации её на публичных игровых площадках по разным причинам)
Спасибо за статью и некоторые выводы по техникам используемым при создании игр 90-х годов в рамках 8МБ памяти и процессора 486. :)
P.S. Теже Need For Speed 1, Quake 1 успешно тоже работали и в таких ограничениях по памяти
на процессорах уровня P1 (Pentium 1 — 100МГц), а сейчас, зачастую у микроконтроллеров большие частоты и возможностей по выводу картинки игры на LCD экран.
(по сравнимым возможностям с девайсами уровня КПК из 200x годов)
Например для типовых примеров уже готовых решений в рамках использования нового языка в чём разница Hexe с другими языками на «типовом» примере задачи.
Сентенция с Форт, в общем понимании его как языка программирования приводит к возможности записи каких то «макросов» близко по форме к естественным языкам.
Для кого то это хорошо, а кто то без явно синтаксическо-семантических ограничений присутствующих в современных языках даже не сможет понять для использования Форт.
т.е., наши привычки и освоенные взгляды — наши же «оковы» из «недоступности» понимания, что пути решения задач этим не ограничивается.
Форт ещё проще т.к. в нём нет скобок в Лисп понимании и он прямолинеен по последовательности выполнения слов при трансляции кода программы в исполнение.
На уровне трансляции Форт программ в базисе Форт нет даже понятия синтаксиса языка, кроме того, что мы имеем дело со словами — самодостаточными сущностями во взаимодействии с другими словами и создающими свой контекст при их использовании для других слов.
Уф… :)
Обычно происходят мелкие перестановки 2-3 элементов стэка и они не сложно понимаемы. Для других — «особо тяжёлых случаев» никак не ложащихся в алгоритм в Форт реализации можно использовать, например, локальные переменные появившееся в Форт стандарте 94года.
И, конечно, Форт, как язык нацеленный на использование метапрограмирования и DSL наиболее значимо себя проявляет именно при использовании таких техник его использования неплохо описанных во 2-й книге за авторством Броуди «Мышление Форт».
P.S. И, локально оттестировать поведение слова не сложно в Форт.
P.S. Кстати, страшилки по поводу неудобства «формата» записи Форт программ немного преувеличена в отношении к нему и эта «страшилка Forth» не на первом месте по степени грамотного понимания и использования Форт языка, есть и другие, но серое вещество мозга достаточно гибкая система при её «переформатировании». Форт, как «искуственный» компьютерный язык, гораздо проще в освоении чем, например, иностранный естественный язык по поводу которого нет «предвзятых» взглядов.
В России Форт начался и так же быстро сощёл со сцены в мутные 90-е годы безвременья.
Баранов С.Н. «Язык Форт в СССР и России»
Forth + Rust в проектах на Github
P.S. Не знаю чем это лучше, например, реализаций Форт на Си, ассемблере…
Особо не видно, но вероятно кто то использует в своих проектах и Forth, если и звёзд, бывает, несколько сотен какой то проект с ним на Github набирает.
P.S. Форт просто был первым языком практического програмирования из
Concatenative languages использующих стэк(и) как одну из основополагающей структуры данных в языке.
Factor — язык программирования хорошо представлен в своих возможностях.
Kitten написанный на Хаскел тоже вроде неплох
…
но эти языки акцентируются на использовании ФП в возможностях стэка.
помимо, как Factor нацеленный на ФП в комбинаторном подходе и стэк это позволяет легко это имплантировать. (в Factor ещё своя VM для запуска на разных ОС)
P.S. Используется ли и в какой степени, например JavaCC?
Интересно, что и в связке Java + Forth находятся проекты на Github
Если нужен «экстремально» простой и гибкий язык программирования, то даже в качестве DSL — Domain Specific Language применяют Forth (Форт).
При программировании микроконтроллеров и зачастую как основной инструментарий.
Была и статья на Хабр Универсальный DSL. Возможно ли это?
где Форт рассматривался в качестве DSL языка C# проекта.
Вот и ещё пример — EFrt проект полной реализации Форт на C#
P.S. Конечно же, «поверх» JavaScript JeForth.3we — Форт тоже делают
И на Github достаточно ещё проектов по связке Форт и JS
Mako.JS — Демо игры проекта запускаемые в браузере, с Форт в качестве DSL
Mako on Github
За предыдущий комментарий у меня снялось, похоже, столько же плюсиков за предыдущии комменарии и карму тоже снизили на 4-е единицы.
P.S.Хотя, когда сам одному пользователю поставил + в карму, то она с -3 стала -2,
а когда у этого же пользователя нажал в — (минус), как бы отыграть обратно, то у него сразу стало -4, а у меня убрались 2-а голоса за карму в сумме за эти действия.
Во как! Непонятно — это так и задумано или «глюк» в системе кармо-механики сайта.
У Вас ещё интересней при заплюсованности комментариев — карма действительно слита! Скорее всего — хотят Вас сподвигнуть на написание какой то статьи, иначе зачем все эти игры с кармой.
Мои поздравления.
Вы, ради только этих своих 2-ух комментариев к этой статье зарегились на Хабр вчера чтобы их оставить или так совпали звёзды?
P.S. Сейчас приглядываюсь к Factor programming language, но уже поздно или после знакомство с Форт (Forth) избыточно сложно.
Думаю будущее за примерно такими комбинаторными языками программирования, которые при внедрении «ИИ» будут наиболее востребованы, если не человеками, то роботами, как устраняющие семантико-синтаксические ограничения выстроенные классическими языками программирования.
P.S. Поживём — увидим.
Питон, в сравнении с С/С++ упростил программирование в массе своего использования в направлении старой школы Бейсик языков с современными фишечками.
P.S. Он, возможно, гордится как в Японии работой в одной «семейной» фирме.
P.S. Новое — это хорошо, но, например, программист на Дельфи (Паскале) у меня вызывает уважение не меньше чем человек использующий популярный в современности инструментарий.
P.S. Думаю, что Хедхантеры читают такие статьи и им нет повода им не доверять:
10 лучших языков программирования в 2021 году
А, тем временем, сами же программисты изобретают очередной DSL — Domain Specific Language.
а далее уже пусть партии
бодаютсяборются кто выиграл выборы при подсчёте голосов, если конечно они в этом заинтересованы (или «сливают» свои голоса в чью то пользу)А, ещё лучше, если «все» жители страны вступят в какую то партию, то уже и до голосования можно выяснить реальную расстановку партийных пристрастий.
P.S. Вот сколько, например, партий в разных странах?
А, то не зависимо от результатов голосования — проигравшие партии так же финансируются для своего дальнейшего безбедного существования из бюджета («опозицеоннеры» же)
И писал он на нём какие то программы на Forth (Форт)
(из биографических воспоминаний Линусa Торвальдсa)
P.S. После ухода разработчиков Ричарда Эльтуоссера и Стивена Викерса из проектирования Sinclair ZX Spectrum они сделали компьютер Jupiter ACE с языком программирования Forth (без цвета), а, ПО в ПЗУ ZX-Spectrum осталось недоделанным с незаполненными байтами его пространства.
Может и поэтому из особенностей встроенного ПО, разработчикам IS-DOS операционной системы получилось перехватывать обращение к гибкому диску по сбросу и загружать свою ОС (сами диски с IS-DOS клонировались на IBM PC с помощью программы TeleDisk)
Для ZX даже написал вариант замены её ПО прошивки с добавлением русского языка и турбированием и она пошла тоже в клоны ZX-Spectrum. :)
Например videogamepreservation (или даже от самих разработчиков), но зачастую цифровое наследие программ (и игр) бывает ещё кому то принадлежит и не известна реакция этих правообладателей и на такое исследование бинарного их состояния. (могут, например, заблочить игру при публикации её на публичных игровых площадках по разным причинам)
P.S. Теже Need For Speed 1, Quake 1 успешно тоже работали и в таких ограничениях по памяти
на процессорах уровня P1 (Pentium 1 — 100МГц), а сейчас, зачастую у микроконтроллеров большие частоты и возможностей по выводу картинки игры на LCD экран.
(по сравнимым возможностям с девайсами уровня КПК из 200x годов)