Forth и другие саморасширяющиеся системы программирования Locations of visitors to this page
Текущее время: Ср дек 12, 2018 15:42

...
Google Search
Forth-FAQ Spy Grafic

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




Начать новую тему Ответить на тему  [ Сообщений: 49 ]  На страницу Пред.  1, 2, 3, 4  След.
Автор Сообщение
 Заголовок сообщения:
СообщениеДобавлено: Вс сен 20, 2009 16:29 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 6453
Благодарил (а): 14 раз.
Поблагодарили: 101 раз.
вопрос писал(а):
на базе - так, что развитие языка осуществляется благодаря дальнейшему использованию базового "предязыка" и это экономит время, т.к нет необходимости каждый раз заново пересоздавать весь компилятор (понятно ли говорю? )

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


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Вс сен 20, 2009 16:33 
Не в сети

Зарегистрирован: Вт май 09, 2006 12:31
Сообщения: 3438
Благодарил (а): 5 раз.
Поблагодарили: 16 раз.
нет, только те языки, в которые можно вносить новые идеи (или правила) просто добавляя определения на форте и не пересобирая весь (их) транслятор


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Вс сен 20, 2009 18:49 
Не в сети

Зарегистрирован: Ср май 03, 2006 11:27
Сообщения: 1394
Откуда: St.Petersburg
Благодарил (а): 2 раз.
Поблагодарили: 11 раз.
Хищник писал(а):
(во втором dup и drop перекочевали в неизменном виде, а стековые операции называются иначе, но имеют полностью совпадающую семантику).



dup и drop можно завести в любом языке общего назначения, хоть в качестве процедуры хоть макроса.
Не в использовании стека главная особенность форта. Главная особенность, это возможность на ряду с
функциями/процедурами определять директивы и декларации. Т.е. если-бы слова типа IMMEDIATE и COMPILE
перекочевали, тогда другое дело.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Вс сен 20, 2009 19:05 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 6453
Благодарил (а): 14 раз.
Поблагодарили: 101 раз.
Mihail писал(а):
dup и drop можно завести в любом языке общего назначения, хоть в качестве процедуры хоть макроса.
Не в стеке главная особенность форта. Главная особенность, это возможность на ряду с функциями/процедурами
определять директивы и декларации. Т.е. если-бы слова типа IMMEDIATE и COMPILE перекочевали, тогда другое дело.

Это уже совершенно иной аспект языка. Когда мы говорим о схожести с точки зрения пользователя (прикладного программиста), в первую очередь необходимо смотреть именно на грамматику. Бейсик тоже был интерпретируемым, а стал компилируемым, но все равно это тот же самый язык, и изучать его надо в том же стиле. По крайней мере, если человек в 80-х программировал на Бейсике, то он и сейчас увидит много знакомых конструкций, а новые окажутся для него приятными неожиданностями.

Стек формально не является неотъемлемой частью Форта, но это как раз "игра на контрастах". А что будет, если удалить стек? На самом деле, можно написать слова, которые будут оперировать с фиксированными ячейками памяти - создать регистровую машину. При этом сохранятся принципы организации словарей, поиска и компиляции. А что будет, если заменить словарь на базу данных или массив структур с фиксированным размером записи? Тоже можно работать, просто поиск будет не по цепочке LFA, а просто перебором массива с полями "имя", "адрес", "флаги". Вот так понемножку, удаляя или заменяя отдельные части Форта, мы и очерчиваем его основные отличительные признаки. Все примеры, которые утверждают, что в Форте можно и без какой-то конкретной части, как раз и представляют собой те самые исключения, которые подтверждают правило. Имея основу (некий абстрактный образ Форта, или его конкретный исторический срез), можно рассматривать модификации языка, как в плане грамматики, так и в плане кодогенерации. Вот вся эта пачка и образует понятие "Форт-технологии".


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Вс сен 20, 2009 21:23 
Не в сети
Moderator
Moderator

Зарегистрирован: Ср май 10, 2006 15:37
Сообщения: 1132
Откуда: Chelyabinsk ( Ural)
Благодарил (а): 0 раз.
Поблагодарили: 9 раз.
Offtopic:
[url=http://lurkmore.ru/Выстрелить_себе_в_ногу]Шуточное сравнение процесса "Прострелить себе ногу" на разных языках на lurkmore[/url]

P.S. Что примечательно C и Форт решают эту задачу наиболее просто:)


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Вс сен 20, 2009 22:58 
Не в сети

Зарегистрирован: Ср май 03, 2006 11:27
Сообщения: 1394
Откуда: St.Petersburg
Благодарил (а): 2 раз.
Поблагодарили: 11 раз.
Хищник писал(а):
Когда мы говорим о схожести с точки зрения пользователя (прикладного программиста), в первую очередь необходимо смотреть именно на грамматику


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


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Пн сен 21, 2009 11:35 
Не в сети
Аватара пользователя

Зарегистрирован: Вт сен 11, 2007 11:07
Сообщения: 187
Благодарил (а): 0 раз.
Поблагодарили: 1 раз.
Kopa писал(а):
P.S. Какие ещё критерии?


много, очень много, вот краткая таксономия:
http://hopl.murdoch.edu.au/taxonomy.html
http://hopl.murdoch.edu.au/keyset.html

Хищник писал(а):
Postscript, Joy, Factor, Forpost, MSIL?

я бы ещё добавил stoical, lse, pop11, cat, 4p и массу других


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Пн сен 21, 2009 13:54 
Не в сети
Аватара пользователя

Зарегистрирован: Чт июл 20, 2006 11:31
Сообщения: 2120
Откуда: Екб
Благодарил (а): 0 раз.
Поблагодарили: 40 раз.
Mihail писал(а):
Преимущество Форта в расширяемости и доступе ко всем ресурсам форт-системы.

Я бы сказал по-другому:
Преимущество Форта в расширяемости, основанной на полном доступе ко всем ресурсам форт-системы.

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


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Пн сен 21, 2009 14:03 
Не в сети
Аватара пользователя

Зарегистрирован: Чт июл 20, 2006 11:31
Сообщения: 2120
Откуда: Екб
Благодарил (а): 0 раз.
Поблагодарили: 40 раз.
garbler писал(а):
я бы ещё добавил

pdf, dssp

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


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Пн сен 21, 2009 15:31 
Не в сети
Аватара пользователя

Зарегистрирован: Вт сен 11, 2007 11:07
Сообщения: 187
Благодарил (а): 0 раз.
Поблагодарили: 1 раз.
chess писал(а):
Преимущество Форта в расширяемости, основанной на полном доступе ко всем ресурсам форт-системы.

это уже далеко не уникальное "преимущество":
http://en.wikipedia.org/wiki/List_of_re ... _platforms

извиняюсь за моветон в виде википедии, но:
http://en.wikipedia.org/wiki/Reificatio ... er_science)
http://en.wikipedia.org/wiki/Reflection ... er_science)
http://en.wikipedia.org/wiki/Metaprogramming

сферических лошадей в римановом пространстве изобретать не стоит.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Пн сен 21, 2009 15:59 
Не в сети
Аватара пользователя

Зарегистрирован: Чт июл 20, 2006 11:31
Сообщения: 2120
Откуда: Екб
Благодарил (а): 0 раз.
Поблагодарили: 40 раз.
garbler писал(а):
это уже далеко не уникальное "преимущество":

Ну приведите тогда пример языка, в котором можно организовать интерпретацию покомандного доступа к процессору
без встроенного в язык ассемблера.

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


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Пн сен 21, 2009 17:54 
Не в сети
Аватара пользователя

Зарегистрирован: Вт сен 11, 2007 11:07
Сообщения: 187
Благодарил (а): 0 раз.
Поблагодарили: 1 раз.
chess писал(а):
Ну приведите тогда пример языка, в котором можно организовать интерпретацию покомандного доступа к процессору без встроенного в язык ассемблера.

не очень понял заданные ограничения, но, например:
http://maclisp.info/pitmanual/intrnl.html#26.18.3
оно там библиотекой подключается, если погуглить по LAP - можно ещё всякого найти.

а в чём сложность с ассемблером? и в его реализации "на ходу" уж если даже в бейсике есть peek/poke и def usr


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Пн сен 21, 2009 19:15 
Не в сети
Аватара пользователя

Зарегистрирован: Чт июл 20, 2006 11:31
Сообщения: 2120
Откуда: Екб
Благодарил (а): 0 раз.
Поблагодарили: 40 раз.
garbler писал(а):
а в чём сложность с ассемблером? и в его реализации "на ходу" уж если даже в бейсике есть peek/poke и def usr

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

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


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Пн сен 21, 2009 19:49 
Не в сети
Аватара пользователя

Зарегистрирован: Вт сен 11, 2007 11:07
Сообщения: 187
Благодарил (а): 0 раз.
Поблагодарили: 1 раз.
chess писал(а):
Поэтому интерпретация команд ассемблера в бейсике будет лишена смысла, так как движок будет искажать результаты выполнения этих команд. В Форте даже этот момент можно обойти.


http://lvovpk.org.ua/basc3x2i.htm любая бейсик-программа

как реализуешь, так и будет, от массива DATA с inline-вставкой, до любой приемлемой системы кодирования, в том числе и вызов системных подпрограмм и расширение языка по системным переменным, векторам, прерываняим (RST x) и регистрам (A, HL и др.). это часто практиковалось в своё время на разных 8-битовых системах. (на ДВК и Электроника-100 Бейсик вообще в шитый код компилировался, благо адресация процессора позволяла)

в общем, не о том у нас спор идёт.

p.s. всякие железячники у буржуев, кстати, до сих пор тяготеют к бейсикам (что vb, что gw), сам поражаюсь наткнувшись иногда на иное творение....

p.p.s. выход к железу у Оберона ещё был (из того, с чем сам сталкивался)


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Пн сен 21, 2009 20:25 
Не в сети
Аватара пользователя

Зарегистрирован: Чт июл 20, 2006 11:31
Сообщения: 2120
Откуда: Екб
Благодарил (а): 0 раз.
Поблагодарили: 40 раз.
garbler писал(а):
в общем, не о том у нас спор идёт.

Да я вот-что имел ввиду(работа в консоли):
Код:
HERE .
5936506
Ok ( 1 1 )
A+@P   
Ok ( 1 2 )
@P+A
Ok ( 3 2 )
A+@P
Ok ( 3 5 )
@P+A
Ok ( 8 5 )
A+@P
Ok ( 8 13 )
@P+A
Ok ( 21 13 )

Тут реально выполняются команды процессора: add eax, [ebp], add [ebp], eax
А вообще-то я считаю что у человека время не резиновое и тратить его на изучение чего-то нового
надо ограниченно, этот процесс во многом можно заменить при программировании размышлением и использованием какого-либо
языка-концепции(минимального по нач. объему для начала работы) Форт - подходит для поддержки достаточно широкой и сложной
предметной области.

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


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

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


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

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


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

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