Войти
ФлеймФорумПрограммирование

Язык Forth - зачем нужен, что можно делать на нём? (4 стр)

Страницы: 13 4 5 636 Следующая »
#45
14:09, 29 авг 2021

1 frag / 2 deaths
> Там что, интерпретатор? Или жит-компиляция?
Смотря что использовать, а то и кросс компиляцию можно (JIT, конечно, может быть очень  примитивен скатывающийся до загрузки программы по каналу связи и её запуска, в классическом Форт - формирования шитого кода)
или вообще 3-и команды
A 3-INSTRUCTION FORTH FOR EMBEDDED SYSTEMS WORK

#46
14:12, 29 авг 2021

KPG
> Забавно, назвать ассемблер, Си расширителем Форт :)
>
> P.S. Форт самодостаточен, что бы после его "раскрутки" больше ничем не
> пользоваться, но т.к. "его" возможностей (разработчика) может не хватать, то
> не возбраняется, при необходимости его "расширять" и кодом на Си.
> При встраивании Форт в FPGA или использовании на родной стэковой архитетуре с
> его поддержкой в системе команд кристалла, то и Си не поможет его расширению.
> :)

Очень-очень "смешно"...

Расширять возможности языка можно по-разному. Первый способ - написать
библиотеку на самом этом языке для реализации каких-либо новых
возможностей. То есть просто набор дополнительных функций, включаемых
в программу. Второй способ расширения - внешними модулями, которые могут
быть написаны на другом языке. Например, язык PHP расширяется модулями,
написанными на языке Си. Не только из-за того, что такие модули быстрее
работают, но главным образом из-за того, что в PHP отсутствуют прямые
интерфейсы с операционной системой и низкоуровневые средства. Главным
образом для гарантий портируемости. Нужно какое-либо отсутствующее
средство - пишут внешние модули на Си, которые на разных платформах
разные, но языковый интерфейс PHP с ними будет сделан одинаковым везде.
В данном случае язык PHP - расширяемый, а Си - расширитель. Такая схема
расширения принята в подавляющем большинстве современных языков. Так как
Си имеет особые привилегии в современных операционных системах: они сами
написаны на Си и поэтому лучше к нему приспособлены по программным
интерфейсам. Язык Си был разработан для разработки операционных систем,
поэтому имеет достаточно низкоуровневых средств. Всем этим его роль
"всеобщего расширителя" и объясняется. Трансляторы и виртуальные машины
многих языков также написаны на языке Си. Форт почти ровесник языка Си
(старше на 1-2 года) и является таким же низкоуровневым. Вплоть до наличия
встроенного языка ассемблера. Он может расширять сам себя, хотя для
связи с операционной системой вынужден использовать соглашения о связях,
принятые в Си - вызов функций операционной системы как функций языка Си.

Для Форта расширяемость - ключевая возможность.

Взято по вашей же ссылке: http://fforum.winglion.ru/viewtopic.php?f=34&t=2078

Продолжайте дальше говорить о самодостаточности Форта!

Сейчас читаю вот это обсуждение: https://electronix.ru/forum/index.php?app=forums&module=forums&co… opic&id=61758

Но серьёзных проектов не видать чё-то...

#47
14:14, 29 авг 2021

Sbtrn. Devil
> Это довольно сложный вопрос.

Вот и я склонен к мнению, что Форт - это очередной Брэйн-Фак.
Вынос мозга.

Как мне на Форте написать перспективно-корректное текстурирование? 
Там даже доступа к ячейке памяти по произвольному адресу нет. Один стек как в x87 FPU. 

Обычная Тьюринговская параша.  Даже ассеблер x86  гибче намного

#48
14:16, 29 авг 2021

Sbtrn. Devil
Так почему на Форт и Лисп пишут и, полагаю, неглупые люди как Пол Грэхем?

#49
14:21, 29 авг 2021

Dmitry_Milk
> Gradius, ну представь, что у тебя необходимость сделать что-то с железкой, где
> у тебя память для кода исчисляется сотнями байт, ну, скажем, какой-нибудь
> микроконтроллер 90-х годов.

Я такое говно использовать не буду. Возьму STM32 с его сотнями КБ памяти.

#50
14:21, 29 авг 2021

KPG
> Так почему на Форт и Лисп пишут и, полагаю, неглупые люди как Пол Грэхем?

Очевидно, их писанина никому не нужна, кроме их самих... если бы за результаты писательства была бы финансовая или уголовная ответственность, то и средства писательства были бы другими  - https://habr.com/ru/company/pvs-studio/blog/307788/

#51
(Правка: 14:24) 14:22, 29 авг 2021

Gradius
> Но серьёзных проектов не видать чё-то...
Но, куда уж Форт до серьёзных проектов, да?
Но, тогда нужно дать понятие серьёзного проекта или показать такой на эту роль претендующего
и, при этом, сойтись в правильности понимания этих вещей.

Gradius
> Там даже доступа к ячейке памяти по произвольному адресу нет. Один стек как в
> x87 FPU.
Откуда этот бред, уж извините.
А, слово ! (восклицатеьный знак) для чего в языке?

#52
14:22, 29 авг 2021

Dmitry_Milk
> Чтоб сделать это на Си или на Асме, тебе нужно:
> - написать программу
> - откомпилировать ее
> - залить бинарник в контроллер
> - запустить бинарник
>
> И только после этого твоя твоя программа, если она без ошибок написана, сможет
> сделать обращения к регистрам. А если есть какие-то ошибки/опечатки - тебе
> придется все вышеперечисленные шаги делать заново.

потрачу на это N минут

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

потрачу на это (N*1000) минут

Предпочту первое.

#53
14:24, 29 авг 2021

KPG
> Но, куда уж Форт до серьёзных проектов, да?
> Но, тогда нужно дать понятие серьёзного проекта или показать такой на эту роль
> претендующего
> и, при этом, сойтись в правильности понимания этих вещей.

KPG, вот вы приводите кучу ссылок.  Это с одной стороны хорошо.
Но мне нужно реально живое ваше мнение и примеры проектов (желательно - ваших)  где вы с успехом использовали Форт и  обосновали его преимущество над С/C++.

Такие примеры ваших проектов вы можети привести?
Ваш личный опыт программирования на Форте?

#54
14:30, 29 авг 2021

Gradius
> потрачу на это (N*1000) минут
>
> Предпочту первое.
  Ещё одно непонимание REPL - то, что залито в контроллер и отлажено в процессе работы с REPL не требует повторной перезаливки (максимум может захотется перезалить весь проект, если от REPL во флеш памяти остался "мусор", если она была использована)

#55
14:34, 29 авг 2021

0iStalker
> если бы за результаты писательства была бы финансовая или уголовная
> ответственность, то и средства писательства были бы другими

Но ведь Therac-25 писался как раз не на форте и не на лиспе, а на асме? Впрочем, насколько я понимаю суть того бага - там никакой язык программирования не помог бы, т.к. ошибка была в проектировании интерфейса (клавиши курсора позволяли двигать курсор в любое место экрана, давая оператору ложную уверенность в том, что так можно исправлять ранее введенные данные, плюс недостаточно качественная обработка введенных данных).

#56
(Правка: 14:51) 14:35, 29 авг 2021

Gradius
> Такие примеры ваших проектов вы можети привести?
> Ваш личный опыт программирования на Форте?
Конечно, но что Вам это даст, кроме, возможно, ещё одного умозаключения
- Форт программисты - говнокодеры раз и проекты у них мне не понятны.
Почитайте к примеру исходники SPF4, Win32Forth ... (там есть и примеры проектов)

P.S. Сужу пока, по тем нонсенсам суждения о Форт языке от Вас.

Мои проекты с Форт не оформлены в законченные  вещи, чтобы  без минимального использования Форт и знания их структуры c ними можно было продолжать работать.
(и к тому же какие то свои Форт "достижения" того или иного плана публиковал на Форт форуме, если думал, что это будет кому то интересно, а потом забросил это дело)

А, так, например, правил Win32Forth для более полной поддержки Scintilla
Из "раннего" делал поддержку Форт для PDP-11 процессора и на нём же потом писал ПО по работе.

#57
14:43, 29 авг 2021

KPG
> Ещё одно непонимание REPL - то, что залито в контроллер и отлажено в процессе
> работы с REPL не требует повторной перезаливки (максимум может захотется
> перезалить весь проект, если от REPL во флеш памяти остался "мусор", если она
> была использована)

Да причём тут REPL?  На вкуривание этого брэйн-фака я потрачу это время!

KPG
> Конечно, но что Вам это даст, кроме, возможно, ещё одного умозаключения
> - Форт программисты - говнокодеры раз и проекты у них мне не понятны.
>
> P.S. Сужу пока, по тем нонсенсам суждения о Форт языке от Вас.

Можете привести ссылку в этой теме, где я такое сказал?

KPG
> Почитайте к примеру исходники SPF4, Win32Forth ... (там есть и примеры
> проектов)

Читайте их сами!
Я жду конкретных ваших примеров, лично проделанных вами...

#58
(Правка: 15:00) 14:53, 29 авг 2021

Gradius
> Можете привести ссылку в этой теме, где я такое сказал?

Gradius
> Там даже доступа к ячейке памяти по произвольному адресу нет. Один стек как в
> x87 FPU.
>
> Обычная Тьюринговская параша. Даже ассеблер x86 гибче намного

P.S. Хотя, даже на базе ассемблера из SPF4 (Win32Forth) использовался как дизасемблер для реверса
VFX Forth (но не добил это дело) Пример выхлопа Форта после 5-10 ти минут обработки исходного файла так долго потому, что никак не делал телодвижений по Форт ускорению вычислений на этой  задаче.

#59
14:53, 29 авг 2021

Gradius
> На вкуривание этого брэйн-фака я потрачу это время!

С этого и надо было начинать весь топик :)

Страницы: 13 4 5 636 Следующая »
ФлеймФорумПрограммирование