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

...
Google Search
Forth-FAQ Spy Grafic

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




Начать новую тему Ответить на тему  [ Сообщений: 20 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: FORTH - язык управления (или откуда у Форта ноги растут)
СообщениеДобавлено: Чт ноя 22, 2012 02:25 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 13:19
Сообщения: 3565
Откуда: St.Petersburg
Благодарил (а): 4 раз.
Поблагодарили: 72 раз.
WingLion aka Ivan Mak

FORTH - язык управления (или откуда у Форта ноги растут)

Идея данной статьи заключается в том, что основа языка программирования FORTH лежит в опыте повседневной деятельности человека, а именно в управленческой деятельности, интуитивно понятной каждому человеку

Итак, представим себя в роли руководителя. Любой руководитель чем-то управляет. Назовем это нечто исполнителями (вполне естественное название).
Каковы свойства исполнителя? Первое - исполнитель должен уметь исполнять инструкции, переданные ему руководителем. В современном обществе не существует людей, способных выполнять абсолютно все инструкции, Поэтому, подбирая персонал, руководитель потребует от исполнителя способности к обучению, то есть возможности научить исполнителя делать то, что нужно.
ИСПОЛНИТЕЛЬ - эТО СУБЪЕКТ(ОБЪЕКТ), СПОСОБНЫЙ ИСПОЛНЯТЬ ИНСТРУКЦИИ
Как организовать работу исполнителей? Задача руководителя в первую очередь состоит в обеспечении исполнителей инструкциями, которые те должны исполнять.
Чтобы не возникало простоев в работе, исполнитель должен уметь исполнять записанные последовательности инструкций, которые в контексте данной статьи следует называть программами.
Таким образом, ПРОГРАММА - ЭТО ПОСЛЕДОВАТЕЛЬНОСТЬ ИНСТРУКЦИЙ ДЛЯ ИСПОЛНИТЕЛЯ, ЗАПИСАННАЯ НАДЛЕЖАЩИМ ОБРАЗОМ (а именно так, чтобы исполнитель был способен эти инструкции прочитать и исполнить).
Для того, чтобы выполнять новые инструкции, исполнителя надо научить их исполнять. В большинстве случаев повседневной жизни это обучение состоит в запоминании исполнителем последовательности инструкций, которые надо выполнить для выполнения нового действия.
Способность к обучению - это способность исполнителя к запоминанию последовательностей инструкций и их ассоциации с новыми инструкциями.От природы любой человек обладает способностью исполнять некие действия (фиксированный набор инструкций) и обучаться новым.
Все описанное выше по сути является банальностями, известными каждому человеку, В приложении к управлению процессорами эти банальности, переложенные в системный код, превращаются в язык программирования FORTH.
В контексте языка программирования FORTH очень легко проследить описанные выше "банальности". При этом сам язык превращается в язык инструкций для исполнителя, а программы оказываются кодированной записью последовательностей инструкций. Способность к обучению проявляется в возможности определения новых слов в форте.
Oпределим правила такого языка. Чтобы записывать последовательность инструкций надо уметь записывать каждую инструкцию. В языке Форт инструкции записываются словами - по одному слову на инструкцию. Последовательность инструкций записывается последовательностью слов, отделенные друг от друга разделителями. В языках программирования обычно используются односимвольные разделители.В ассемблере это перевод строки, в паскале и Си - точка с запятой, в бейсике - двоеточие. В языке Форт используется естественный разделитель слов человеческого языка - пробел.
Таким образом в языке Форт естественно возникают правила синтаксиса, которые превращаются в пару предложений:
1.ПРОГРАММА НА ФОРТЕ ЗАПИСЫВАЕТСЯ ПОСЛЕДОВАТЕЛЬНОСТЬЮ СЛОВ, РАЗДЕЛЕННЫХ ПРОБЕЛАМИ
2.СЛОВА ЯЗЫКА ФОРТ ЗАПИСЫВАЮТСЯ ПОСЛЕДОВАТЕЛЬНОСТЬЮ ЛЮБЫХ СИМВОЛОВ, ОТДЕЛЕННЫХ С ДВУХ СТОРОН ПРОБЕЛАМИ
Второе правило означает, что слова Форта могут представлять собой комбинацию любых символов, за исключением пробелов, в том числе и неприемлемую с точки зрения других языков.
Другие правила языка Форт представляют собой правила использования конкретных слов, а это зависит от реализации языка, которые в свою очередь подчиняются некоторым стандартам.
Из-за того, что язык Форт не применяется массово, как Паскаль, Си или иные так называемые майнстримовские языки. В настоящее время не существует устоявшегося стандарта на язык Форт, и наиболее часто в качестве стандарта выступают варианты, разработанные в конце XX века (например FORTH83 и ANSI94), различие которых основано на состоянии дел компьютеростроения в 1983-м и 1994-м годах, когда они были разработаны.
По причине малой популярности в настоящее время практически отсутствует современная литература по языку Форт, и изучать его можно только по книгам прошлого века, большинство из которых описывает Форт на основе стандарта 1983 года - FORTH83. Тем не менее, в большинстве случаев эти книги оказываются достаточны для изучения принципов программирования, заложенных в язык Форт, так как главные идеи Форта не зависят от стандартов и заключаются в трех словах:

Простота, Расширяемость, Открытость.

_________________
С уважением, WingLion
Forth-CPU . RuF09WE
Мой Форт
Отсутствие бана это не заслуга юзера, а недоработка модератора (с)



За это сообщение автора WingLion поблагодарил: zehotello
Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: FORTH - язык управления (или откуда у Форта ноги растут)
СообщениеДобавлено: Чт ноя 22, 2012 03:45 
WingLion писал(а):
Идея данной статью...

Это не статья. Назвать подобный формат "статьёй" даже не каждый таблойд решится. Максимум на что претендует вышеизложенное, так это заметка, да и то с натяжкой. Уместней всего тут, наверное, говорить о посте - вот уж точно не ошибёшься.

В остальном - "Starting Forth", chap. 1
Цитата:
Imagine that you're an office manager and you've just hired a new, eager assistant. On the first day, you teach the assistant the proper format for typing correspondence. (The assistant already knows how to type.) By the end of the day, all you have to do is say "Please type this."

On the second day, you explain the filing system. It takes all morning to explain where everything goes, but by the afternoon all you have to say is "Please file this."

By the end of the week, you can communicate in a kind of shorthand, where "Please send this letter" means "Type it, get me to sign it, photocopy it, file the copy, and mail the original." Both you and your assistant are free to carry out your business more pleasantly and efficiently.

Good organization and effective communication require that you:

1. define useful tasks and give each task a name, then
2. group related tasks together in larger tasks and give each of these a name, and so on.

Forth lets you organize your own procedures and communicate them to a computer in just this way (except you don't have to say "please").


Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: FORTH - язык управления (или откуда у Форта ноги растут)
СообщениеДобавлено: Чт ноя 22, 2012 07:54 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 13:19
Сообщения: 3565
Откуда: St.Petersburg
Благодарил (а): 4 раз.
Поблагодарили: 72 раз.
Zinger писал(а):
азвать подобный формат "статьёй" даже не каждый решится

"Хоть горшком назови, только в печку не пихай" (c)
Zinger писал(а):
таблойд

а это что за хмыри?

Zinger писал(а):
В остальном - "Starting Forth", chap. 1

вот блин... все велосипеды без меня изобрели... :weep;

_________________
С уважением, WingLion
Forth-CPU . RuF09WE
Мой Форт
Отсутствие бана это не заслуга юзера, а недоработка модератора (с)


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: FORTH - язык управления (или откуда у Форта ноги растут)
СообщениеДобавлено: Чт ноя 22, 2012 15:45 
Не в сети
Аватара пользователя

Зарегистрирован: Вт мар 20, 2007 23:39
Сообщения: 1261
Благодарил (а): 3 раз.
Поблагодарили: 19 раз.
Да, в книге Броуди есть пример с секретаршей и начальником.

_________________
Cтоимость сопровождения программного обеспечения пропорциональна квадрату творческих способностей программиста.
Роберт Д. Блисc


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: FORTH - язык управления (или откуда у Форта ноги растут)
СообщениеДобавлено: Чт ноя 22, 2012 18:18 
Не в сети
Moderator
Moderator
Аватара пользователя

Зарегистрирован: Ср дек 06, 2006 09:23
Сообщения: 660
Благодарил (а): 7 раз.
Поблагодарили: 25 раз.
может, дадим человеку высказаться до конца, а? :dmad;


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: FORTH - язык управления (или откуда у Форта ноги растут)
СообщениеДобавлено: Чт ноя 22, 2012 20:04 
Не в сети
Аватара пользователя

Зарегистрирован: Вт мар 20, 2007 23:39
Сообщения: 1261
Благодарил (а): 3 раз.
Поблагодарили: 19 раз.
А что, разве кто-то мешает или против? У меня вот например сразу после прочтения названия топика на главной страницы сразу вспомнилась аналогия из книги Броуди.

_________________
Cтоимость сопровождения программного обеспечения пропорциональна квадрату творческих способностей программиста.
Роберт Д. Блисc


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: FORTH - язык управления (или откуда у Форта ноги растут)
СообщениеДобавлено: Пт ноя 23, 2012 12:03 
Не в сети

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


"Все описанное выше" относится к любому интерпретатору. Что за системный код?


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: FORTH - язык управления (или откуда у Форта ноги растут)
СообщениеДобавлено: Пт ноя 23, 2012 14:30 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 13:19
Сообщения: 3565
Откуда: St.Petersburg
Благодарил (а): 4 раз.
Поблагодарили: 72 раз.
Mihail писал(а):
Что за системный код?

код для системы, для которой он написан.
(слово "системный" можно выкинуть и смысл не поменяется)

_________________
С уважением, WingLion
Forth-CPU . RuF09WE
Мой Форт
Отсутствие бана это не заслуга юзера, а недоработка модератора (с)


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: FORTH - язык управления (или откуда у Форта ноги растут)
СообщениеДобавлено: Пт ноя 23, 2012 22:33 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 13:19
Сообщения: 3565
Откуда: St.Petersburg
Благодарил (а): 4 раз.
Поблагодарили: 72 раз.
Добавка в первом посте (выделена цветом).

_________________
С уважением, WingLion
Forth-CPU . RuF09WE
Мой Форт
Отсутствие бана это не заслуга юзера, а недоработка модератора (с)


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: FORTH - язык управления (или откуда у Форта ноги растут)
СообщениеДобавлено: Сб ноя 24, 2012 17:35 
Не в сети

Зарегистрирован: Сб май 06, 2006 12:01
Сообщения: 959
Откуда: Украина, Харьков
Благодарил (а): 2 раз.
Поблагодарили: 7 раз.
WingLion писал(а):
1.ПРОГРАММА НА ФОРТЕ ЗАПИСЫВАЕТСЯ ПОСЛЕДОВАТЕЛЬНОСТЬЮ СЛОВ, РАЗДЕЛЕННЫХ ПРОБЕЛАМИ
2.СЛОВА ЯЗЫКА ФОРТ ЗАПИСЫВАЮТСЯ ПОСЛЕДОВАТЕЛЬНОСТЬЮ ЛЮБЫХ СИМВОЛОВ, ОТДЕЛЕННЫХ С ДВУХ СТОРОН ПРОБЕЛАМИ
Строго говоря - не ПРОБЕЛАМИ, а РАЗДЕЛИТЕЛЯМИ. Разделители - обычно пробелы, но можно использовать как минимум и табуляци и переводы строк. Например, почти вся программа м.б. набрана "в столбик".
Но вот как это определить "красиво" я не знаю... :(

Почему включился в дискуссию - так экспериментирую с вариантами форт-подхода к программированию. В том числе по оформлению исходников - условия отступами и не менее двух вариантов визуальных.

_________________
With best wishes, in4.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: FORTH - язык управления (или откуда у Форта ноги растут)
СообщениеДобавлено: Сб ноя 24, 2012 19:00 
Не в сети
Аватара пользователя

Зарегистрирован: Ср фев 23, 2011 20:42
Сообщения: 600
Откуда: Карелия
Благодарил (а): 3 раз.
Поблагодарили: 24 раз.
1.) ПРОГРАММА НА ФОРТЕ ЕСТЬ ПОСЛЕДОВАТЕЛЬНОСТЬ СЛОВ, РАЗДЕЛЕННЫХ ПРОБЕЛАМИ И ПЕРЕВОДАМИ СТРОКИ.
2.) СЛОВО ЕСТЬ ЛЮБАЯ ПОСЛЕДОВАТЕЛЬНОСТЬ СИМВОЛОВ, НЕ СОДЕРЖАЩИХ ПРОБЕЛЫ И ПЕРЕВОДЫ СТРОКИ

как ни странно, но такое определение синтаксиса полностью эквивалентно более простому

1.) ПРОГРАММА НА ФОРТЕ ЕСТЬ ЛЮБАЯ ПОСЛЕДОВАТЕЛЬНОСТЬ СИМВОЛОВ

что попросту означает, что в Форте нет никакого синтаксиса.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: FORTH - язык управления (или откуда у Форта ноги растут)
СообщениеДобавлено: Сб ноя 24, 2012 22:35 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 13:19
Сообщения: 3565
Откуда: St.Petersburg
Благодарил (а): 4 раз.
Поблагодарили: 72 раз.
Ethereal писал(а):
1.) ПРОГРАММА НА ФОРТЕ ЕСТЬ ЛЮБАЯ ПОСЛЕДОВАТЕЛЬНОСТЬ СИМВОЛОВ

а вот это неправда, потому что у программы еще и смысл должен быть...

_________________
С уважением, WingLion
Forth-CPU . RuF09WE
Мой Форт
Отсутствие бана это не заслуга юзера, а недоработка модератора (с)


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: FORTH - язык управления (или откуда у Форта ноги растут)
СообщениеДобавлено: Вс ноя 25, 2012 13:21 
Ethereal писал(а):
что попросту означает, что в Форте нет никакого синтаксиса.

Таки да. Эдакая глаголица.... :idea:


Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: FORTH - язык управления (или откуда у Форта ноги растут)
СообщениеДобавлено: Вс ноя 25, 2012 20:13 
Не в сети
Moderator
Moderator
Аватара пользователя

Зарегистрирован: Чт май 04, 2006 00:53
Сообщения: 5062
Откуда: был Крым, теперь Новосибирск
Благодарил (а): 23 раз.
Поблагодарили: 63 раз.
да есть, есть синтаксис!
только он не фиксированный, так сказать свободный.
к примеру вместо BEGIN ... WHILE .. REPEAT ( таки синтаксическая конструкция 8) можно писать
ОТСЮДА .. ПОКА .. ПОВТОРЯЙ
и уж вместо : name .. ; запросто пишем some: name ...

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

_________________
Мне бы только мой крошечный вклад внести,
За короткую жизнь сплести
Хотя бы ниточку шёлка.
fleur


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: FORTH - язык управления (или откуда у Форта ноги растут)
СообщениеДобавлено: Вс ноя 25, 2012 20:41 
Не в сети
Moderator
Moderator

Зарегистрирован: Ср май 10, 2006 15:37
Сообщения: 1132
Откуда: Chelyabinsk ( Ural)
Благодарил (а): 0 раз.
Поблагодарили: 9 раз.
mOleg писал(а):
а так, и в русском языке можно сказать нет синтаксиса: просто символы разделенные пробелами...

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

P.S. Синтаксис это все го лишь одна из форм выражения семантики языка в явном или неявном виде.


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

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


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

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


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

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