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

...
Google Search
Forth-FAQ Spy Grafic

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




Ответить
Имя пользователя:
Заголовок:
Текст сообщения:
Введите текст вашего сообщения. Длина сообщения в символах не более: 60000

Размер шрифта:
Цвет шрифта
Настройки:
BBCode ВКЛЮЧЕН
[img] ВЫКЛЮЧЕН
[flash] ВЫКЛЮЧЕН
[url] ВКЛЮЧЕН
Смайлики ВЫКЛЮЧЕНЫ
Отключить в этом сообщении BBCode
Не преобразовывать адреса URL в ссылки
Вопрос
Теперь гостю придется вводить здесь пароль. Не от своей учетной записи, а ПАРОЛЬ ДЛЯ ГОСТЯ, получить который можно после регистрации на форуме через ЛС.:
Этот вопрос предназначен для выявления и предотвращения автоматических регистраций.
   

Обзор темы - Начальный курс программирования на языке Форт
Автор Сообщение
  Заголовок сообщения:  Re: Начальный курс программирования на языке Форт  Ответить с цитатой
atar писал(а):
А что-то гугл по этой цитате не находит ничего кроме собственно этой ветки.
И это хорошо. Возможно, у кого-то руки дошли.
Сообщение Добавлено: Вт дек 08, 2015 20:02
  Заголовок сообщения:  Re: Начальный курс программирования на языке Форт  Ответить с цитатой
gudleifr писал(а):
P.S. Рекорд Форума, связанный с этой книгой:
*** писал(а):
кстати, я сейчас добиваю вторую главу Броуди, там как раз все эти темы освещаются, наверное, когда я доберусь до восьмой, именно с неё начинается более глубокое знакомство с Фортом, то уже смогу считаться более квалифицированным фортером, чем вы


А что-то гугл по этой цитате не находит ничего кроме собственно этой ветки.
Сообщение Добавлено: Вт дек 08, 2015 18:58
  Заголовок сообщения:  Re: Начальный курс программирования на языке Форт  Ответить с цитатой
atar писал(а):
,,,
Спасибо за положительную оценку моей "редакции". Опечатки там все хе, наверняка остались (например, практически на днях исправил свеженькую в Баранове&Ноздрунове), та что, если заметите, пожалуйста сообщите.
atar писал(а):
в 11 главе в переводе в примерах [COMPILE], а в он-лайн версии - POSTPONE. Кто-нибудь может объяснить разницу?
ЛИРИЧЕСКОЕ ОТСТУПЛЕНИЕ. Общая идея языков программирования - возможность оптимального описания решения задачи. Если решение удобнее описать как-то иначе, то, значит, вы созрели для создания нового языка. А раз FORTH написан сам на себе, то пускай все эти стандартизаторы со своими "семантиками компиляции" идут лесом. Мы посмотрим код имеющейся под рукой реализации. КОНЕЦ ЛИРИЧЕСКОГО ОТСТУПЛЕНИЯ.

Итак:
Код:
: POSTPONE ( <слово> --) BL WORD FIND ?DUP IF 0< IF
COMPILE COMPILE THEN , ELSE BADWORD THEN ; IMMEDIATE
: [COMPILE] ( <слово> --) BL WORD FIND IF , EXIT THEN BADWORD ; IMMEDIATE

Мы видим, что оба слова во время компиляции (IMMEDIATE) считывают следующее за ними (BL WORD, с матюгами при ненахождении - BADWORD) и зафигачивают его адрес исполнения в код компилируемого слова (,). Только POSTPONЕ делает еще зачем-то условную вставку в код адреса COMPILE. Зачем? Чтобы POSTPONE c не-IMMEDIATE (FIND возвращает -1) словами работало иначе. Но, ведь, использовать [COMPILE] для не-IMMEDIATE-слов не имеет смысла, они и так компилируются! Т.е. слово искусственно подогнано под кривое "стандартное" объяснение "компилирует семантику компиляции", без всякой потребности.
Код:
: EX1 55 . ; IMMEDIATE ___Ok_
: EX2 66 . ; ___Ok_
: EX3 EX1 EX2 ; ___55_Ok_
EX3 ___66_Ok_
: EX4 [COMPILE] EX1 [COMPILE] EX2 ; ___Ok_
EX4 ___55_66_Ok_
: EX5 POSTPONE EX1 POSTPONE EX2 ; IMMEDIATE ___Ok_
EX5 ___55_Ok_
: EX6 EX5 ; ___55_Ok_
EX6 ___66_Ok_

Кстати, "стандартно" в данном случае писать не "запятая", а COMPILE, На случай, если используется подпрограммный шитый код. (Или хочется еще покопаться в нюансах POSTPONE , EXECUTE и EVALUATE - см. стандарт).
Вывод: POSTPONE - для слабаков, которые не хотят вникать в то, что пишут.

P.S. Очень прошу не обращаться ко мне в темах, где участвует mOleg.
Поэтому, почему Броуди вредно дотягивать до уровня "современных" реализаций, обсудим где-нибудь в другом месте.
Сообщение Добавлено: Пт дек 04, 2015 12:24
  Заголовок сообщения:  Re: Начальный курс программирования на языке Форт  Ответить с цитатой
gudleifr писал(а):
Раз уж тут все равно чистить, предлагаю (между "Днем знаний" и "Днем Учителя") порассуждать об этой книге.

Извиняюсь что опоздал, но между этими днями меня тут ещё не было. Только что прочёл её и спешу поделиться впечатлениями.
gudleifr писал(а):
1. Признать ее полезной или устарелой?

Книга однозначно полезная. Что касается русского перевода - на твоей странице он реально лучше чем на nncron.ru. На nncron.ru есть опечатки и даже фактические ошибки
Например, в главе 4:
nncron.ru писал(а):
Слово ?DUP дублирует вершину стека только в том случае, если там находится нулевое значение.

На этом месте я начал читать параллельно перевод и английское он-лайн издание, что позволило увидеть некоторые интересные моменты. Но, в оправдание идеи русского перевода, на gudleifr.h1.ru опечатки и ошибки вычищены, за что большое спасибо. Комментарии читателя - тоже интересны.
gudleifr писал(а):
5. В конце концов, может, поделиться друг с другом комментариями и критическими статьями?

Мне показались интересными отличия между русской версией и обновлённым оригиналом.
Часть из них, очевидно, связана с развитием стандарта. Но с некоторыми непонятно, например, в 11 главе в переводе в примерах [COMPILE], а в он-лайн версии - POSTPONE. Кто-нибудь может объяснить разницу?
Решения задачек в 11 главе перевода - понятны. В он-лайн версии, на мой взгляд новичка, непонятно ни рожна:
Код:
: PLURAL  ( compile: xt -- )  ( run: ? #times -- )
   CREATE  ,
      DOES>   @ LOCALS| xt |
      0 ?DO  xt EXECUTE  LOOP ;

Слово LOCALS там не объясняется, палка - тоже.

Но, в оправдание он-лайновой версии - примеры там адаптированы к 32х-битным трансляторам. В переводе (очевидно, как и в первом издании) вместо CELLS используется 2+.

gudleifr писал(а):
3. Если да, то что надо к ней добавить? Учебную FORTH-среду, где 1 в 1 идут все примеры?

Имхо, лучше, наоборот - исправить примеры так чтобы они шли в современных средах. (Оставив оригинал для археологов)

Такие вот идеи и впечатления.
Сообщение Добавлено: Пт дек 04, 2015 00:49
  Заголовок сообщения:  Re: Начальный курс программирования на языке Форт  Ответить с цитатой
P.S. Рекорд Форума, связанный с этой книгой:
*** писал(а):
кстати, я сейчас добиваю вторую главу Броуди, там как раз все эти темы освещаются, наверное, когда я доберусь до восьмой, именно с неё начинается более глубокое знакомство с Фортом, то уже смогу считаться более квалифицированным фортером, чем вы
Сообщение Добавлено: Пт сен 04, 2015 13:05
  Заголовок сообщения:  Re: Начальный курс программирования на языке Форт  Ответить с цитатой
Раз уж тут все равно чистить, предлагаю (между "Днем знаний" и "Днем Учителя") порассуждать об этой книге.
1. Признать ее полезной или устарелой?
2. Можно ли применять для обучения/привлечения новых фортеров?
3. Если да, то что надо к ней добавить? Учебную FORTH-среду, где 1 в 1 идут все примеры? Средства, развивающие темы поднятые в книге (например, показывающие размещения областей памяти или стадии выполнения компилирующих слов)?
4. Или нужно больше ссылок, подчеркивающих связь этой книги с другими?
5. В конце концов, может, поделиться друг с другом комментариями и критическими статьями?
Сообщение Добавлено: Чт сен 03, 2015 12:44
  Заголовок сообщения:  Re: Начальный курс программирования на языке Форт  Ответить с цитатой
kzagradskiy писал(а):
Hishnik, mOleg пост с описанием сформирован. Перенесите, как и предлагалось, его или в начало или в другой пост.

Огромное спасибо за оформление!
Содержимое поста перенес в первое сообщение целиком, если есть замечания, постараюсь исправить.
Сообщение Добавлено: Ср сен 02, 2015 21:56
  Заголовок сообщения:  Re: Начальный курс программирования на языке Форт  Ответить с цитатой
kzagradskiy писал(а):
Перенесите, как и предлагалось, его или в начало или в другой пост.

Зачем? Через полгода все равно никто не вспомнит, что где-то здесь есть эта книга.
Сообщение Добавлено: Вт сен 01, 2015 22:53
  Заголовок сообщения:  Re: Начальный курс программирования на языке Форт  Ответить с цитатой
mOleg писал(а):
kzagradskiy писал(а):
Дайте возможность править первое сообщение темы в разделе Книги.

это к Хищнику,
я же могу предложить сформировать пост в конце темы, а я потом его содержимое целиком перенесу в начало, либо, как вариант, создайте дублирующую тему, а старую я перенесу куда-нибудь.

Hishnik, mOleg пост с описанием сформирован. Перенесите, как и предлагалось, его или в начало или в другой пост.
Сообщение Добавлено: Вт сен 01, 2015 20:52
  Заголовок сообщения:  Re: Начальный курс программирования на языке Форт  Ответить с цитатой
kzagradskiy писал(а):
Проверил. Действительно. Компания-хостер удалила мой сайт. Договориться с ними не удалось. Попробую восстановить в ближайшее время.

Неожиданно страничка сайта открылась :)

P.S. Тему можно почистить.
Сообщение Добавлено: Пн авг 31, 2015 18:46
  Заголовок сообщения:  Re: Начальный курс программирования на языке Форт  Ответить с цитатой
Название: Начальный курс программирования на языке Форт

Автор: Л. Броуди

Оригинальный текст: [Starting Forth]

Перевод: В.А. Кондратенко

Под редакцией: Б.А. Кацева, В.А. Кириллина

Предисловие: И.В. Романовского

Издательство: «ФИНАНСЫ И СТАТИСТИКА» МОСКВА

Год: 1990

Обложка:
    Изображение

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

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

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

    Как уже отмечалось, книга построена таким образом, чтобы максимально облегчить изучение языка. Все команды описываются дважды: первый раз — в том разделе, где они вводятся, и второй — в конце главы, где дается краткий обзор ее содержания. В приложении Б представлен указатель слов Форта в алфавитном порядке, а в приложении В они сгруппированы по областям применения. В конце каждой главы приводятся, кроме того, словарь терминов и упражнения, ответы на которые вы найдете в приложении А. В процессе изложения даются полезные рекомендации и предлагаются необязательные программы. Последние носят чисто иллюстративный характер и поэтому представлены здесь без каких-либо пояснений.

    Следует отметить, что Форт — необычный язык. Он «попирает» многие устоявшиеся правила программирования. Первоначально я воспринял Форт крайне скептически, но по мере создания сложных прикладных программ мне начали открываться его красота и мощь. Постарайтесь относиться к нему без предубеждения, если вам что-то покажется странным. Лишь немногие программисты, освоившие Форт, возвращались снова к другим языкам программирования.

Краткое содержание:

    К советскому читателю
    Предисловие к русскому изданию
    От автора
    Коротко о книге
    Введение
    Что такое машинный язык? (введение для начинающих)
    Области применения Форта (введение для профессионалов)

    Глава 1. ОСНОВЫ ФОРТА
    Глава 2. ВЫПОЛНЕНИЕ АРИФМЕТИЧЕСКИХ ОПЕРАЦИЙ
    Глава 3. КАК РАБОТАТЬ НА ФОРТЕ
      Часть 1. Общие сведения
      Часть 2. Текстовый редактор Форта
    Глава 4. КОМПЬЮТЕР «ПРИНИМАЕТ РЕШЕНИЯ»
    Глава 5. ОПЕРАЦИИ НАД ЦЕЛЫМИ ЧИСЛАМИ
    Глава 6. ЦИКЛИЧЕСКИЕ СТРУКТУРЫ
    Глава 7. ЧИСЛО ТИПОВ ЧИСЕЛ
      Часть 1. Для начинающих
      Часть 2. Для всех
    Глава 8. ПЕРЕМЕННЫЕ, КОНСТАНТЫ И МАССИВЫ
    Глава 9. ФУНКЦИОНИРОВАНИЕ ФОРТ-СИСТЕМЫ
    Глава 10. ВВОД-ВЫВОД
    Глава 11. РАСШИРЕНИЕ КОМПИЛЯТОРА: ОПРЕДЕЛЯЮЩИЕ И КОМПИЛИРУЮЩИЕ СЛОВА
    Глава 12. ТРИ С ПОЛОВИНОЙ ПРИМЕРА

    Приложение А. ОТВЕТЫ К УПРАЖНЕНИЯМ
    Приложение Б. АЛФАВИТ СЛОВ ФОРТА
    Приложение В. СЛОВА ФОРТА, СГРУППИРОВАННЫЕ ПО ТЕМАМ

Ссылки:
Сообщение Добавлено: Пн авг 31, 2015 17:52
  Заголовок сообщения:  Re: Начальный курс программирования на языке Форт  Ответить с цитатой
mOleg писал(а):
это к Хищнику,
я же могу предложить сформировать пост в конце темы, а я потом его содержимое целиком перенесу в начало, либо, как вариант, создайте дублирующую тему, а старую я перенесу куда-нибудь.

Я боюсь, движок форума такое в явном виде не позволит. Можно создавать прилепленные темы, они всегда будут сверху. Настроить избирательный доступ к определенному сообщению - такого сходу не нашлось, и вряд ли можно сделать с приемлемыми усилиями.
Сообщение Добавлено: Вт авг 25, 2015 22:52
  Заголовок сообщения:  Re: Начальный курс программирования на языке Форт  Ответить с цитатой
"Начальный курс программирования на языке Форт" онлайн на gudleifr.h1.ru: ссылка.

Спасибо gudleifr.
Сообщение Добавлено: Вт авг 25, 2015 21:54
  Заголовок сообщения:  Re: Начальный курс программирования на языке Форт  Ответить с цитатой
<Пардон, ошибся темой, тут же mOleg, понес в "Юмор">
Сообщение Добавлено: Вт авг 25, 2015 19:02
  Заголовок сообщения:  Re: Начальный курс программирования на языке Форт  Ответить с цитатой
KPG писал(а):
kzagradskiy писал(а):
KPG ответ на "Немецкую Wiki" написал в разделе Интересные ссылки от авг 25, 2015. (в этом разделе будет оффтопом).

И там не открывается http://block32.site88.net/sf/sf с сообщением в адресной строке "http://error404.000webhost.com/?"


Проверил. Действительно. Компания-хостер удалила мой сайт. Договориться с ними не удалось. Попробую восстановить в ближайшее время.
Сообщение Добавлено: Вт авг 25, 2015 18:35

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


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