Forth и другие саморасширяющиеся системы программирования Locations of visitors to this page
Текущее время: Ср фев 21, 2024 06:32

...
Google Search
Forth-FAQ Spy Grafic

Часовой пояс: UTC + 3 часа [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 61 ]  На страницу 1, 2, 3, 4, 5  След.
Автор Сообщение
 Заголовок сообщения: Чего же не хватает форту? (Опрос во ВК)
СообщениеДобавлено: Пт июл 21, 2023 17:51 
Не в сети

Зарегистрирован: Чт янв 07, 2016 19:14
Сообщения: 1285
Благодарил (а): 3 раз.
Поблагодарили: 18 раз.
Изображение

_________________
Цель: сделать 64-битную Нову под Винду


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Чего же не хватает форту? (Опрос во ВК)
СообщениеДобавлено: Пт июл 21, 2023 17:55 
Не в сети

Зарегистрирован: Чт янв 07, 2016 19:14
Сообщения: 1285
Благодарил (а): 3 раз.
Поблагодарили: 18 раз.
А что думаете вы? :))

_________________
Цель: сделать 64-битную Нову под Винду


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Чего же не хватает форту? (Опрос во ВК)
СообщениеДобавлено: Пт июл 21, 2023 18:06 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7958
Благодарил (а): 25 раз.
Поблагодарили: 144 раз.
Хм.
Плавающая точка - есть (всегда делал).
ANSI - тут хочется в ответ дать картинку Искандера или Сармата.
Оптимизатор - не актуально.
Исходники - ну... а как же можно без них написать Форт? :))
Документация - есть.
Локальные переменные - есть (без ограничений по количеству и типу).
Встроенный текстовый редактор - нет.
GUI - начиная с Irbis.
OpenGL - есть.
Разделение кода и данных - есть.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Чего же не хватает форту? (Опрос во ВК)
СообщениеДобавлено: Пт июл 21, 2023 18:06 
Не в сети

Зарегистрирован: Пн янв 07, 2013 22:40
Сообщения: 2141
Благодарил (а): 8 раз.
Поблагодарили: 74 раз.
Victor__v писал(а):
А что думаете вы? :))

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

P.S. При этом нужно некоторое понимание на какое применение и в какой нише позиционируется Форт-система.
(т.е. должны быть и примеры её применения в этой нише обязательно)

Резюмируя: должны быть в ней полезные примеры демонстрирующие её возможности, ибо "реклама" - двигатель ...


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Чего же не хватает форту? (Опрос во ВК)
СообщениеДобавлено: Вс июл 23, 2023 13:32 
Не в сети

Зарегистрирован: Пн янв 07, 2013 22:40
Сообщения: 2141
Благодарил (а): 8 раз.
Поблагодарили: 74 раз.
Hishnik писал(а):
ANSI - тут хочется в ответ дать картинку Искандера или Сармата.

А, есть какой то другой широко представленный базис стандарта Форт языка? :)

P.S. Окинул взглядом глоссарий gForth 0.7.3 и кроме знакомых ANSI слов можно увидеть и какие то загадочно
добавленные к системе, а раздел описания использования ассемблера/дизассемблера в документации
похоже только в некотором описании для x86 (32).
т.к. gForth песочницы запускают на серверах в том или ином виде, то можно в рамках и их запускать
какие то вычислительные задачи. :)

Hishnik писал(а):
Исходники - ну... а как же можно без них написать Форт? :))

Да, поэтому у Хищника они свои закрытые. :)) (это небольшое замечание вне его оценки)

Cлова преобразования чисел в строки. (бывают полезны кроме . (точки) и type)
Код:
: to-string ( n -- addr c )  s>d <# #s #> ;
123 to-string type

: d>$ ( d -- addr len) tuck dabs <# #s rot sign #> ;

: n>$ ( n -- addr len ) s>d d>$ ;

и ещё напрашивается слово по аналогии ?DUP
?. - распечатать число если оно не нуль (т.е. 0 это как совмещение с числом флага например при обнулении
начального значения числа)
тогда можно было бы уменьшить в размере и такой код
Код:
: X 2SWAP MOD IF 2DROP ELSE TYPE 1+ THEN ;
: F 1001 1 DO 0 I 2 s" Foo" X I 3 s" Fizz" X I 5 s" Buzz" X I 7 s" Bar" X 0= IF I . THEN CR LOOP ; F BYE

А, можно было бы в начале цикла положить значение числа в виде счётной строки и если печатаюся сдова вместо
чисел, то обнулить длину этой строки
Код:
: X 2SWAP MOD IF 2DROP ELSE TYPE DROP 0 THEN ;

и в конце цикла добавить TYPE вместо анализа флага (если счётчик строки 0 то она всё равно не напечатается)


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Чего же не хватает форту? (Опрос во ВК)
СообщениеДобавлено: Вс июл 23, 2023 15:33 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7958
Благодарил (а): 25 раз.
Поблагодарили: 144 раз.
KPG писал(а):
А, есть какой то другой широко представленный базис стандарта Форт языка?

А зачем ему быть широко представленным, чтобы использоваться в конкретной группе проектов?
KPG писал(а):
т.к. gForth песочницы запускают на серверах в том или ином виде, то можно в рамках и их запускать
какие то вычислительные задачи.

Только явно не high-performance computing. Стековые вычисления объективно медленнее (впрочем, FPU стековый, но нужно же еще с адресами работать). На Форте удобно исследовать численные методы, быстро строить графики. Я уже не говорю о том, что какой-нибудь Matlab не даст возможности ввести данные через UART, посчитать, и в тот же UART вывести, или подключить GPU. Понятно, что можно сторонними программами это организовать, так ведь речь о том и идет, что Форт - это технология сборки нужного комплекта ПО. И при таком подходе разработка стандарта - это по сути попытка разработать стандарт на прикладные программы.
KPG писал(а):
Да, поэтому у Хищника они свои закрытые. (это небольшое замечание вне его оценки)

https://www.cnews.ru/news/top/2023-06-27_kod_rhel_linux_ischez_iz_svobodnogo
Код RHEL больше не распространяется в свободном доступе – он по-прежнему открыт, но получить его можно только за деньги. Это вызвало гнев у сообщества СПО, но Red Hat ничего не нарушила – все в рамках лицензии GPL. В компании утверждают, что сделали это потому, что разработка RHEL требует огромных ресурсов, а создатели сторонних дистрибутивов просто пересобирают RHEL с минимальными изменениями, то есть присваивают чужую работу. В компании утверждают, что остаются адептами СПО.

У меня такое впечатление сложилось уже давно. Еще Кварк просили "чтобы сделать из него нормальный ANS-Форт". Идея о том, что при наличии исходных текстов работа пойдет как-то сама собой, причем согласованно между всеми участниками некоего сообщества - это утопия. Наглядная иллюстрация - дядя Федор в Простоквашино свое письмо в "открытый доступ" выложил :)) Без общего согласованного понимания архитектуры толку не будет.

KPG писал(а):
Cлова преобразования чисел в строки.

std::to_string Или аналог в соответствующем языке, на котором пишется форт-машина.

KPG писал(а):
тогда можно было бы уменьшить в размере и такой код

Во-первых, я с трудом могу представить ценность такого фрагмента. Он вообще для чего? Эту задачу можно решить по-другому? Может быть, отдать предпочтение коду большего размера, но сопровождаемому? Во-вторых, s" режет глаз, но это давно. Была старая идея от Borland с counted string, но оказалась вытеснена форматом null-terminated, который, собственно, используется в системных вызовах.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Чего же не хватает форту? (Опрос во ВК)
СообщениеДобавлено: Вс июл 23, 2023 15:59 
Не в сети

Зарегистрирован: Пн янв 07, 2013 22:40
Сообщения: 2141
Благодарил (а): 8 раз.
Поблагодарили: 74 раз.
Hishnik писал(а):
KPG писал(а):
тогда можно было бы уменьшить в размере и такой код

Во-первых, я с трудом могу представить ценность такого фрагмента. Он вообще для чего? Эту задачу можно решить по-другому?

Для этого (с небольшими правками 8-й результат - 2SWAP лишний)
Как то ещё меньше решения похоже есть такой задачи, байт на 14-ть :)
В представленном варианте выше не видно особых идей откуда эти байты/символы убрать.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Чего же не хватает форту? (Опрос во ВК)
СообщениеДобавлено: Вс июл 23, 2023 16:18 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7958
Благодарил (а): 25 раз.
Поблагодарили: 144 раз.
Я все равно не понял, зачем такие упражнения и что полезного они дают. Вот 167 байт на Ирбисе, с тем же подходом - вспомогательное слово.

Код:
: X MOD NOT IF PRINT 1 + ELSE DROP THEN ;
: F
1001 1 DO
   0
   "Foo" I 2 X
   "Fizz" I 3 X
   "Buzz" I 5 X
   "Bar" I 7 X
   0 = IF I . THEN
LOOP
;


Ну и если уж совсем в том стиле, в две строки - 137 байт.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Чего же не хватает форту? (Опрос во ВК)
СообщениеДобавлено: Вс июл 23, 2023 16:30 
Не в сети

Зарегистрирован: Пн янв 07, 2013 22:40
Сообщения: 2141
Благодарил (а): 8 раз.
Поблагодарили: 74 раз.
Hishnik писал(а):
Я все равно не понял, зачем такие упражнения и что полезного они дают.

Позволяют подумать об возможностях применения и Форт языка (там ещё и на ассемблере решают предложенные задачи)
и насколько он "конкурентен" и в таком прменении + серое вещество включается в решении и таких задач. :)
и чем и в каком аспекте расширить Форт язык (студентам может быть полезен и такой опыт в сравнении)
+ потренироваться "на кошках" в составлении кода на Форт в разной начальной постановке условий задачи.

P.S. Кстати, если параметры цикла от 0 до n , то в gForth можно число перед циклом записать как n. (c точкой - двойное число)
вместо двух отдельных чисел. :)

Конечно на подобных задачах мало раскрывается мощность возможностей Форт языка, но полезную информацию дают
в сравнении с решениями на том же Python и иже с ними. (число, кстати, в примере выше - подобно связующему соoбщению
проходящему через всю последовательную цепочку выполнения программного кода и возможного изменяения его в них)


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Чего же не хватает форту? (Опрос во ВК)
СообщениеДобавлено: Вс июл 23, 2023 21:05 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7958
Благодарил (а): 25 раз.
Поблагодарили: 144 раз.
Задачи-то ладно, тем более что они бывают разные. Собственно, и у меня 126 байт получилось в итоге. Можно было бы и еще сократить, если бы я PRINT в Ирбисе заменил на что-то покороче, вплоть до односимвольного слова - мой же транслятор :) Однако это уровень кодирования, он мало что дает для языка, у которого от быстрого и компактного кода нет прямого выхода на прием в хорошую команду с интересными проектами. Поэтому для Форта интереснее показывать более комплексные вещи, чтобы заодно было видно, как это все отличается от других решений.


KPG писал(а):
Кстати, если параметры цикла от 0 до n , то в gForth можно число перед циклом записать как n. (c точкой - двойное число)
вместо двух отдельных чисел.

Точка или пробел - все равно один символ.

KPG писал(а):
Конечно на подобных задачах мало раскрывается мощность возможностей Форт языка, но полезную информацию дают
в сравнении с решениями на том же Python и иже с ними.

Пока такие примеры не в пользу Форта - слишком много слов, манипулирующих стеком. Это не преимущество, это вынужденная мера. Интереснее примеры, в которых необходимо использовать несколько технологий, которые напрямую друг с другом не связаны. Например, поуправлять с клавиатуры объектами в OpenGL (своеобразный MineCraft). Построить график по данным из UART. Сделать диалоговое окно с сохранением/восстановлением всех полей из файла. И не пытаться выразить это обязательно на Форте, а наращивать возможности Форта так, чтобы подобные задачи решались удобнее.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Чего же не хватает форту? (Опрос во ВК)
СообщениеДобавлено: Вт июл 25, 2023 17:16 
Не в сети

Зарегистрирован: Пн янв 07, 2013 22:40
Сообщения: 2141
Благодарил (а): 8 раз.
Поблагодарили: 74 раз.
Hishnik писал(а):
Пока такие примеры не в пользу Форта - слишком много слов, манипулирующих стеком. Это не преимущество, это вынужденная мера.

Но, это и другой способ решения задачи в последовательности действий без попытки их упаковать в формулу со скобками.

Составив возможное решение задачи 12 Days of Christmas на rosettacode c некоторыми изменениями. (676 байт)
Код:
create b 500 allot
variable p
variable t
: a ." On the " type ."  day of Christmas" cr ." My true love sent to me" cr ;
: g p @ swap 2 * cells + 2@ ;
: c  here p ! begin refill while source a refill 0= if bye then
source dup >r t @ 32 * b + dup >r swap cmove r> r> 2,     
-1 t @ -do i g type cr 1 -loop cr 1 t +! repeat bye ;
c
First
A Partridge in a Pear Tree.
Second
Two Turtle Doves, and
Third
Three French Hens,
Fourth
Four Calling Birds,
Fifth
Five Gold Rings,
Sixth
Six Geese-a-Laying,
Seventh
Seven Swans-a-Swimming,
Eighth
Eight Maids-a-Milking,
Ninth
Nine Ladies Dancing,
Tenth
Ten Lords-a-Leaping,
Eleventh
Eleven Pipers Piping,
Twelfth
Twelve Drummers Drumming,

вижу, что при выбранной схеме реализации решения появился вариационный код обработки строки символов с копированием
её в одно место по индексу и добавления её расположения с длиной в другое место (here по слову 2.).
И вроде, при наличии в gForth разнообразных слов работы со строками
они малопригодны для уменьшения размера этого кода байт на 160. :) (может только их упаковать как то с RLE)

P.S. Интересно, что если в PAD область копировать в gForth, то адрес PAD для следующего действия измениться на +16 .байт
(т.е., адрес области PAD в gForth как бы "динамический")

задача на распечатку ASCII таблицы
Код:
   2 3 4 5 6 7
-------------
0:   0 @ P ` p
1: ! 1 A Q a q
2: " 2 B R b r
3: # 3 C S c s
4: $ 4 D T d t
5: % 5 E U e u
6: & 6 F V f v
7: ' 7 G W g w
8: ( 8 H X h x
9: ) 9 I Y i y
A: * : J Z j z
B: + ; K [ k {
C: , < L \ l |
D: - = M ] m }
E: . > N ^ n ~
F: / ? O _ o DEL

У меня получилась такой (194 байт, не возможный минимум)
Код:
: as
."    2 3 4 5 6 7" cr
."  -------------" cr
hex
127 32 do
i 32 - 1 .r
[char] : emit
6 0 do
i 16 * j + space
dup 127 = if ." DEL" ELSE EMIT then
loop
i 32 - 15 / if exit then
cr
loop ;
as


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Чего же не хватает форту? (Опрос во ВК)
СообщениеДобавлено: Вт июл 25, 2023 18:33 
Не в сети

Зарегистрирован: Чт ноя 23, 2006 00:44
Сообщения: 494
Откуда: СПб
Благодарил (а): 19 раз.
Поблагодарили: 8 раз.
ИМХО не хватает самого Forth 64b под Линух с близкими характеристиками как у SPF4!!!
gForth - куча непонятных слов в выводе WORDS и при этом практически никакой документации!
Покупал я ещё лицензию на iForth, но там ~ похожая шляпа с документацией + таки мне пришлось специально переделывать один почтовый аккаунт на KOI-7 - поскольку они настолько "гибкие", что не могут перевести свою "рассылку/форум" на что-то более другое! :^)
Из всего чем я в крайнее время пользовался, так мой рейтинг такой:
1) 8th (хоть и специфичный, но всёж Форт) - "+" : функциональность, многоплатфоремнность, документация (хоть и на английском, но даже без словаря понять можно), поддержка (форум), оперативная и адекватная реакция автора на найденные баги, ... минусы конечно тоже имеются!
2) SPF4 - всё мне нравилось (хоть конечно вместо удобных мануалов приходилось листать исходники, но это лучше чем вообще ничего), главный минус - нет 64b! :cry:
0) MecrispForth - вне конкуренции!
Правда он специфичен: для МК и у него нет "словарей", но в остальном он прекрасен!


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Чего же не хватает форту? (Опрос во ВК)
СообщениеДобавлено: Вт июл 25, 2023 23:53 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7958
Благодарил (а): 25 раз.
Поблагодарили: 144 раз.
Ilya писал(а):
ИМХО не хватает самого Forth 64b под Линух с близкими характеристиками как у SPF4!!!

Для Linux, как и для МК, есть представление, что при разработке Форта надо сразу опуститься на низкий уровень. Но при этом теряется много возможностей, которые приходится воспроизводить заново, в виде слов (потому их и бывает так много). Здесь опять же можно рассмотреть вариант "форт-машина внутри приложения". Да, это, с одной стороны, менее универсально, а с другой - и сколько этих решений уже было сделано на базе какого-то универсального движка? Мгновенно оказаться в положении "ничего нет, все на уровне системных вызовов, даже создание окна переписывать заново" - это уже не раз было видано.
Ilya писал(а):
8th (хоть и специфичный, но всёж Форт) - "+" : функциональность, многоплатфоремнность,

Вот как вариант, в том смысле, что автор пошел своим путем, и его это устраивает. Это не вывод "8th нужно пользоваться, он лучший", а "раз Аарон сделал себе инструмент, значит, и другие могут".
Ilya писал(а):
SPF4 - всё мне нравилось (хоть конечно вместо удобных мануалов приходилось листать исходники, но это лучше чем вообще ничего), главный минус - нет 64b!

Первым и последним использованным spf был 2.02. И то использовался как базовый движок для встроенного ассемблера. А уж уход в ANS94 сделал все это непригодным для работы (исходя из созданного на тот момент задела). Ну и 64 бита там не будет, просто из-за отказа разработчиков от долговременного планирования.

Ilya писал(а):
0) MecrispForth - вне конкуренции!
Правда он специфичен: для МК и у него нет "словарей", но в остальном он прекрасен!

Я что-то оказался совершенно не впечатлен. Тот же подход - "давайте все перепишем на Форте". Зачем??? Эти уже занимаются производители, авторы IDE и библиотек. Поверх имеющегося кода можно надстроить форт-машину, и избавиться от постоянных перепроверок, все ли правильно сделано для очередной платформы.
Ну вот навскидку:
Код:
MSP430F2274 (9600 Baud, 8 MHz, TX on P3.4, RX on P3.5)

Хорошо, если я хочу заменить выводы, поменять 9600 на 115200.... мне лезть в код, писать авторам, запускать какой-то конфигуратор.... что? И как это заранее понять? А если в наличии будет МК, который там не представлен? А если мне необходимо будет поправить сборку, поменять объем памяти, настройки периферии? Даже банальный вариант - периферийный компонент есть, в МК он представлен, но в Mecrisp до него руки не дошли.

В то же время, если идти от собственного адаптированного движка, он встроится в шаблон приложения, сгенерированного в IDE от производителя. И будет расти вместе с этими шаблонами.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Чего же не хватает форту? (Опрос во ВК)
СообщениеДобавлено: Ср июл 26, 2023 01:00 
Не в сети
Аватара пользователя

Зарегистрирован: Чт июл 20, 2006 11:31
Сообщения: 2168
Откуда: Екб
Благодарил (а): 0 раз.
Поблагодарили: 41 раз.
Можно подойти к вопросу проектирования форта как к вопросу проектирования сложной системы,
выделив его функциональные составляющие и определив весовые коэффициенты развитости каждой составляющей.
Результирующая функция качества такой системы будет таким образом привязана к предметной области, и иметь для этой области
максимальное значение. Для другой предметной области набор весовых коэффициентов будет другим. Получается таким образом
много фортов, эффективных каждый в своей области. Поэтому вопрос нехватки чего-то в конкретном форте, это вопрос а для чего не хватает. В других фортах этой нехватки нет, потому, что эта "хватка" там не нужна. Получается, что форт должен иметь только
эффективные средства своего развития. Вот о них в этой теме и можно говорить.
Ну как по мне, то:
- Система передачи данных через стек по самой идее верная, а по реализации неэффективна, как в плане кодирования программ, так
и в плане производительности самого кода.
- Система именования в форте не способствует программированию с использованием минимально необходимого количества имен.
- Нет подсистемы привязки готового исполняемого кода сторонних источников к программам на форте.

_________________
С уважением, chess


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Чего же не хватает форту? (Опрос во ВК)
СообщениеДобавлено: Ср июл 26, 2023 02:39 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7958
Благодарил (а): 25 раз.
Поблагодарили: 144 раз.
chess писал(а):
Можно подойти к вопросу проектирования форта как к вопросу проектирования сложной системы,
выделив его функциональные составляющие и определив весовые коэффициенты развитости каждой составляющей.
Результирующая функция качества такой системы будет таким образом привязана к предметной области, и иметь для этой области
максимальное значение. Для другой предметной области набор весовых коэффициентов будет другим.

В целом да, однако дьявол кроется в деталях :) Весовыми коэффициентами довольно просто манипулировать, в итоге можно представить оптимальным почти что угодно, в том числе совершенно непрактичное. Все-таки архитектурное проектирование имеет определенную долю творчества и интуиции. Например, "хочу 64-битный Форт под Линукс", как тут уже упоминалось. Мне захотелось 64-битный под Windows, чтобы можно было быстро привязывать слова к элементам GUI - получился Ирбис. Можно придумать архитектурный шаблон для Андроид (кстати, потихоньку становится нужно).

chess писал(а):
Получается таким образом много фортов, эффективных каждый в своей области. Поэтому вопрос нехватки чего-то в конкретном форте, это вопрос а для чего не хватает.

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

chess писал(а):
В других фортах этой нехватки нет, потому, что эта "хватка" там не нужна.

Мало того что не нужна, так еще можно и на агрессивную реакцию попасть :) А это признак "технической секты". Чего на них смотреть-то, зачем держать в голове этот якорь в виде "ой, что скажет мировое сообщество?". Мы сами сообщество.

chess писал(а):
- Система передачи данных через стек по самой идее верная, а по реализации неэффективна, как в плане кодирования программ, так
и в плане производительности самого кода.

В принципе можно считать, что в Форте мы с ней миримся как с решением, минимальным по трудоемкости реализации. Снижение производительности парируем архитектурно - просто не нагружаем форт-систему стековыми вычислениями в основных циклах, передавая все критичное в подключаемый код.

chess писал(а):
- Система именования в форте не способствует программированию с использованием минимально необходимого количества имен.

Пока локальные определения решали много проблем с глобальной видимостью слов Форта. Практически области видимости, как в процедурных языках. Так что тут мы имеем несколько вариантов:
1. Неименованные параметры на стеке.
2. Локальные относительно слова определения (если есть, и это не locals, это "тупиковые ответвления" словаря, исключаемые из цепочки поиска при завершении компиляции слова).
3. Словари. Можно их считать примерным аналогом namespace.

chess писал(а):
- Нет подсистемы привязки готового исполняемого кода сторонних источников к программам на форте.

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


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 61 ]  На страницу 1, 2, 3, 4, 5  След.

Часовой пояс: UTC + 3 часа [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
phpBB сборка от FladeX // Русская поддержка phpBB