Лео броуди способ мышления

Forth-eV Wiki

Benutzer-Werkzeuge

Webseiten-Werkzeuge

Inhaltsverzeichnis

Способ мышления — Форт

Язык и философия для решения задач

Перевод с английского С.Н.Дмитренко МОСКВА 1993

Предисловие

Программирование компьютеров может свести с ума. Другие профессии дают Вам прекрасные возможности наблюдать осязаемые результаты Ваших усилий. Часовщик может смотреть на свои зубчики и колесики, швея — на швы, ровно ложащиеся после каждого взмаха иглы. Но программист проектирует, строит и ремонтирует нечто воображаемое, призрачные механизмы, ускользающие от восприятия органами чувств. Наша работа происходит не в ОЗУ, не в программе-редакторе, а внутри нашей головы.

Построение моделей в воображении привлекает и доставляет удовольствие программисту. Как же лучше к этому подготовиться? Вооружиться самыми хорошими отладчиками, декомпиляторами и дизассемблерами? Они помогают, однако самые существенные из технологий и инструментов — умственные. Нам нужна последовательная и практическая методология для `мышления` на тему задач программирования. Это и составляет суть того, что я попытался выразить в моей книге. „Способ мышления …“ предлагается всем, кто заинтересован в написании программ для решения конкретных задач. Книга рассматривает вопросы проектирования и применения: принятие решений о том, что Вам нужно сделать, разработка компонентов системы и, наконец, построение системы.

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

Несмотря на то, что описываемые здесь принципы могут быть применены к любому языку, я представил их в контексте языка Форт. Форт — это язык, операционная система, набор инструментов и философия. Это — идеальное средство для мышления, поскольку оно соответсвует тому способу, по которому работают наши головы. Думать на Форте значит думать просто, думать элегантно, думать гибко. Такое мышление `не` имеет запретительного характера, `не` сложно, `не` чрезмерно теоретизировано. Вам даже не нужно знать Форт для получения пользы от этой книги. Книга „Способ мышления — Форт“ сочетает Форт-метод со многими принципами, выработанными современной компьютерной наукой. Союз между простотой Форта и традиционной дисциплиной анализа и стилистки даст Вам новый и лучший способ подхода к задачам программирования и окажет помощь во всех областях применения компьютеров.

Если Вы хотите узнать больше о Форте, другая моя книга — „Начальный курс программирования на языке Форт“ — содержит сведения об этом языке. Кроме того, такие сведения приводятся в приложении А данной книги.

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

Многие мысли в этой книге не являются научными. Они основаны на субъективном опыте и наблюдениях за самим собой. По этой причине я привел в книге интервью с большим количеством профессионалов, работающих на Форте, и не все из них полностью согласны друг с другом или со мной. Все эти мнения могут изменяться изготовителем без специального уведомления. В книге вносятся также предложения, называемые „советами“. Подразумевается, что им следует внимать лишь тогда, когда они соответствуют Вашей ситуации. В Форт-мышлении нет нерушимых правил. Для обеспечения возможно большего соответствия возможным Форт-системам все примеры программ в книге соответствуют стандарту Форт-83.

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

Источник

Язык программирования Форт

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

Окунемся в историю Форта (Forth). В начале 1970х годов Чарльз Мур занялся разработкой программного обеспечения для микроЭВМ, управляющей работой радиотелескопа. Поскольку программирование на Ассемблере привело к неуправляемости разработки довольно сложной программы, а для использующейся микроЭВМ из-за аппаратных ограничений не было языка высокого уровня, Чарльз Мур приступил к созданию компактного и мощного языка программирования, позволившего с блеском решить поставленные перед ним задачи. Успех нового языка программирования определился тем, что на ограниченных ресурсах устройства была создана быстрая и функциональная программа, позволившая делать намного больше, чем первоначально планировалось в техническом задании.

Читайте также:  Показатели творчества характеризующие способы творческих действий

Форт (от англ. forth — вперед, получившееся из-за необходимости сократить слово fourth — четвертый, до пяти букв из-за ограничений операционной системы на длину имени файла) в 1976 году стал стандартным языком для программирования для американского астрономического общества. Благодаря высокой степени переносимости и компактности, а также быстродействию, Форт до 1990х активно применялся во множестве приборов с микроконтроллерным управлением (спектрограф на Шаттле, микромодули управления искусственными спутниками Земли, для системы управления в аэропорту Эр-Рияда, системах компьютерного зрения, автоматизации анализа крови и кардиологического контроля, карманных переводчиках). Форт выступает прародителем такого широко известного языка управления печатью как PostScript.

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

Форт сам для себя является метасистемой — в нем объединены функции компилятора и интерпретатора, Форт может использоваться без поддержки со стороны операционной системы и использоваться для того, чтобы компилировать самого себя, в том числе и на другие платформы.

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

До сих пор популярна тема создания Форт-процессоров, система команд которых является машинным представлением наиболее часто используемых слов-примитивов. Благодаря минимализму базовой Форт-системы это легко реализуемо, тем более что программируемые матрицы логических элементов сейчас достигли таких размеров, что Форт-процессор интегрируется на оставшиеся после программирования основной логики 10% вентилей как бонус. Это что-то из разряда такого: «А в углу нашей маленькой и уютной детской комнатки незаметно расположился аквариум с бегемотом».

Легкость написания Форт-систем привела к огромному разнообразию существующих реализаций — не писал свой Форт только ленивый фортер. Большое количество систем, достаточно плохо совместимых, поскольку имеется три стандарта Форта: Форт-79, Форт-83 и ANSI-Форт-94. Стандарты, хотя и описывают необходимый минимум слов для реализации, но дают огромный простор для самостоятельных изменений, что повсеместно и происходит. Существуют реализации Форта написанные на Ассемблере, Си, Питоне, Паскале, Яве, а также созданные с помощью целевых компиляторов других Форт-систем.

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

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

Для меня Форт дал много — после освоения языка я стал замечать, что код в Дельфи стал более коротким и понятным, появилась привычка документировать основные методы и поля объектов (поскольку в Форте очень желательно описывать стековые диаграммы для каждого слова).

Благодаря изучению книги «Проектирование и программная реализация экспертных систем на персональных ЭВМ» Таусенда и Фохта, я почерпнул много информации о внутренней логике работы таких языков как Лисп и Пролог. Книга Келли и Спайса «Язык программирования ФОРТ» привела меня к четкому пониманию того, как можно написать свой язык программирования и что такое Форт-ассемблер. Для совершенствования стиля программирования оказалась совершенно неоценимой по влиянию на меня книга Лео Броуди «Способ мышления — Форт».

Читайте также:  Способы приготовления теста для чебуреков

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

Источник

Лео броуди способ мышления

Member Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору ppch
Из справочной информации программы nnCron:

Где найти инфоpмацию о языке пpогpаммиpования «Фоpт»?

Обязательно прочтите главу «nnCron и язык программирования Форт» в этой документации. Языку Форт посвящена эхо-конференции SU.FORTH (на русском языке) и COMP.LANG.FORTH (на английском языке).

Специально для тех, кто хочет побольше узнать о Фоpте, автор nnCron пеpевел в «электpонный» вид книжку Leo Broudie Starting Forth (Лео Бpоуди «Hачальный куpс пpогpаммиpования на языке Фоpт»). Это очень доступный текст на pусском языке — http://www.nncron.ru/download/sf.chm (1,5Mb).
Еще pекомендую http://www.forth.org.ru — куча ссылок на все, связанное с Фоpтом, в том числе, и на pусские pесуpсы. Там есть ссылка на книжку Баpанова и Hоздpунова и ещё одну классную книжку Бpоуди Thinking Forth («Способ мышления — Фоpт»).

Настоятельно советую всем, кто интересуется Фортом, скачать краткий справочник по основным словам SP-Forth (http://www.nncron.ru/download/spf_help.zip) исходники nnCron (http://www.nncron.ru/download/src.rar) и SP-Forth 3.75 (http://www.enet.ru/win/cherezov/sp-forth.html) — в них хорошо документированы большнство слов, которые вам могут понадобиться.

В дополнение — несколько ссылок на англоязычные ресурсы:

Источник

Лео броуди способ мышления

Название: Способ мышления — Форт

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

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

Перевод: С.Н.Дмитренко

Издательство: свободно распространяется в эл. виде, МОСКВА

Год: 1993

Обложка:


Описание (из книги):

    Программирование компьютеров может свести с ума. Другие профессии дают Вам прекрасные возможности наблюдать осязаемые результаты Ваших усилий. Часовщик может смотреть на свои зубчики и колесики, швея — на швы, ровно ложащиеся после каждого взмаха иглы. Но программист проектирует, строит и ремонтирует нечто воображаемое, призрачные механизмы, ускользающие от восприятия органами чувств. Наша работа происходит не в ОЗУ, не в программе-редакторе, а внутри нашей головы.

    Построение моделей в воображении привлекает и доставляет удовольствие программисту. Как же лучше к этому подготовиться? Вооружиться самыми хорошими отладчиками, декомпиляторами и дизассемблерами? Они помогают, однако самые существенные из технологий и инструментов — умственные. Нам нужна последовательная и практическая методология для `мышления` на тему задач программирования. Это и составляет суть того, что я попытался выразить в моей книге. «Способ мышления …» предлагается всем, кто заинтересован в написании программ для решения конкретных задач. Книга рассматривает вопросы проектирования и применения: принятие решений о том, что Вам нужно сделать, разработка компонентов системы и, наконец, построение системы.

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

    Несмотря на то, что описываемые здесь принципы могут быть применены к любому языку, я представил их в контексте языка Форт. Форт — это язык, операционная система, набор инструментов и философия. Это — идеальное средство для мышления, поскольку оно соответсвует тому способу, по которому работают наши головы. Думать на Форте значит думать просто, думать элегантно, думать гибко. Такое мышление `не` имеет запретительного характера, `не` сложно, `не` чрезмерно теоретизировано. Вам даже не нужно знать Форт для получения пользы от этой книги. Книга «Способ мышления — Форт» сочетает Форт-метод со многими принципами, выработанными современной компьютерной наукой. Союз между простотой Форта и традиционной дисциплиной анализа и стилистки даст Вам новый и лучший способ подхода к задачам программирования и окажет помощь во всех областях применения компьютеров.

    Если Вы хотите узнать больше о Форте, другая моя книга — «Начальный курс программирования на языке Форт» — содержит сведения об этом языке. Кроме того, такие сведения приводятся в Приложении А данной книги.

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

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

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

    Содержание
    Список примеров программ
    От переводчика
    Предисловие
      Глава 1. Философия Форта
      Глава 2. Анализ
      Глава 3. Предварительный проект / декомпозиция
      Глава 4. Детализированная разработка/решение задачи
      Глава 5. Разработка: элементы Форт-стиля
      Глава 6. Фрагментация
      Глава 7. Работа с данными: стеки и состояния
      Глава 8. Минимизация структур управления

    Эпилог: Воздействие Форта на мышление
    Приложение А: Обзор Форта (для новичков)
    Приложение Б: Определение DOER/MAKE
    Приложение В: Другие утилиты, описанные в этой книге
    Приложение Г: Ответы на задачи «для дальнейшего размышления»
    Приложение Д: Свод стилистических соглашений

Список примеров программ:

    Яблоки
    Телефонные тарифы
    Крошечный редактор
    Цвета
    Римские числа
    Рисование квадратиков
    Банкомат

Ключевые слова:

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

Стандарт языка:[Форт-83]

Ссылки:

    Формат TXT на forth.org.ru: [ссылка]
    Формат DOC на electronix.ru (разбита на части): [ссылка]
    Онлайн версия block32.site88.net: [ссылка]
    Онлайн версия gudleifr.h1.ru: [ссылка]

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

Последний раз редактировалось mOleg Пт мар 27, 2009 16:58, всего редактировалось 1 раз.

mOleg
Moderator

Зарегистрирован: Чт май 04, 2006 00:53
Сообщения: 5018
Откуда: был Крым, теперь Новосибирск
Благодарил (а): 22 раз.
Поблагодарили: 59 раз.

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

Kopa
Moderator

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

Вот проделанная работа, в частном порядке, по переводу книги Броуди в более
читаемую форму.

P.S. Кто нибудь может разместить её, наприме, на forth.org.ru в книжном разделе.
т.к. гости не смогут скачать её.

WingLion
Administrator

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

сшитый zip-файл с word-овской версией: битая ссылка затерта

оно же, переведеннное из word-а в pdf: битая ссылка затерта

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

Последний раз редактировалось WingLion Вс авг 30, 2009 19:49, всего редактировалось 1 раз.

Гость

Ссылки выше уже неправильные:)

P.S. Это так задумано? или это обычный трюк хостеров.

WingLion
Administrator

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

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

forther

Зарегистрирован: Сб май 13, 2006 23:37
Сообщения: 378
Благодарил (а): 1 раз.
Поблагодарили: 10 раз.

вопрос

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

forther

Зарегистрирован: Сб май 13, 2006 23:37
Сообщения: 378
Благодарил (а): 1 раз.
Поблагодарили: 10 раз.

Создаете там группу. И выкладывайте туда все, что хотите. Вот пример: https://groups.google.com/group/seaforth-russian

Kopa
Moderator

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

Халява кончилась, a битые ссылки остались::)

вопрос

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

Wlad

Зарегистрирован: Чт апр 26, 2007 21:09
Сообщения: 303
Благодарил (а): 12 раз.
Поблагодарили: 10 раз.

вопрос

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

mOleg
Moderator

Зарегистрирован: Чт май 04, 2006 00:53
Сообщения: 5018
Откуда: был Крым, теперь Новосибирск
Благодарил (а): 22 раз.
Поблагодарили: 59 раз.

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

kzagradskiy

Зарегистрирован: Вт фев 17, 2009 19:58
Сообщения: 112
Откуда: Барнаул
Благодарил (а): 21 раз.
Поблагодарили: 16 раз.

Вот проделанная работа, в частном порядке, по переводу книги Броуди в более
читаемую форму.

P.S. Кто нибудь может разместить её, наприме, на forth.org.ru в книжном разделе.
т.к. гости не смогут скачать её.

За это сообщение автора kzagradskiy поблагодарил: vikt
Вернуться к началу
Страница 1 из 2 [ Сообщений: 20 ] На страницу 1 , 2 След.

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

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

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

Источник

Читайте также:  Эмоциональное выгорание способ преодоления
Оцените статью
Разные способы