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

...
Google Search
Forth-FAQ Spy Grafic

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




Начать новую тему Ответить на тему  [ Сообщений: 21 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: Суть форта
СообщениеДобавлено: Чт дек 11, 2008 22:54 
Не в сети
Moderator
Moderator
Аватара пользователя

Зарегистрирован: Чт май 04, 2006 00:53
Сообщения: 5062
Откуда: был Крым, теперь Новосибирск
Благодарил (а): 23 раз.
Поблагодарили: 63 раз.
Автор: Джеф Фокс
Дата публикации: 7/16/02
оригинал статьи взят http://www.ultratechnology.com/essence.htm
Перевел: mOleg

Суть Форта

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

Годами я работал с большинством баз данных: базы данных маинфреймов, миниЭВМ, микроЭВМ, и встроенных компьютеров. Я видел, как они разворачивались из широких файлов с фиксированными записями в реляционные и распределенные базы данных. Я наблюдал эволюцию пользовательских интерфейсов и средств разработки. Я реализовывал их на многих языках, различном железе, под различным операционными системами с использованием различных инструментов. Я завершил целый диапазон и обнаружил, что 4GL и 'C' удобно смешивать во время использования. Но я могу видеть, что Форт всегда имел преимущество в этой области.

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

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

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

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

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

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

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

Мы имеем примеры людей лишь извлекающих код из библиотек и использующих его, аналогично большинству Cи программистов, которые склонны так поступать рефлекторно. Примеры такого кода Форт баз данных ужасающи. Они пропускают все традиционные вещи, которые форт всегда делает для побития других программных продуктов баз данных. Это бледные копии примитивных файло-базирующихся плоских баз данных, с использованием Си-подобных структур с разрешением адресов в рантайме, ужасающие примеры!

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

В былые времена Forth Inc. имел тысячи пользователей обновляющих записи базы данных на одном компьютере имеющем очень мало для поддержания современных ОС. По природе форта они могли поддерживать 300 пользователей и выскокопроизводительную базу данных, в то время как другие люди могли только запускать игрушечные однопользовательские ОС. Форт с тех дней демонстрирует часть важных концепций, таких как:

файловая система в реальности база данных.
метакомпилятор в реальности является базой данных.
системы САПР в реальности являются базами данных.
высокопроизводительные базы данных не ограничены файловыми системами.

Когда недавно в comp.lang.forth группе спросили "что форт исправил?" я полушутя сказал, что другие языки программирования и операционные системы слишком велики и слишком медленны для написания пристойных систем баз данных. Это наследство Форта. Другой человек сказал, что другие системы черные ящики. Чак Мур, создатель Форта, ответил так: "Форт решает мега-программистскую задачу", это в сокращенном варианте. Конечно, когда спросили: " как вы реализуете Си-подобные структуры, подходящие под мою работу?" ответ Чака был его знаменитым: "я не стану".

Это потому, что форт работает не так. Чак будет в ручную оптимизировать все по-максимуму, пока большинство Си программистов будет абстрагировать проблему и надеяться, что компилятор прооптимизирует код. При использовании файлов невозможно оптимизировать методом Чака.

Чак и я предварительно обсуждаем индивидуальные детали перед созданием схемы базы данных, что занимает больше всего времени, потому что это вопросы о создании оптимального наиболее часто исполнимого кода. Если все идет удачно, большинство Си-подобных структур уходят и почти весь код для работы с файлам и так же исчезает. Как сказал Чак во время разговора о коде работающем с файлами в чей-то другой программе: «это шанс убрать весь код из этой секции вашей программы». Методика с помощью которой Чак делает эти вещи сегодня требует только введения автоинкрементных инструкций в набор инструкций на аппаратном уровне.

Стиль Форта – создавать высокоскоростное основание так близко к металлу, как возможно, и затем располагать базу данных форта прямо на нем. Существует целое поколение программистов разделяющее больные идеи в C/UNIX мире, одна из этих наиболее базовых идей «все есть файл» лежит в основе многих проблем. Многие люди не могут отделить программное обеспечение Микрософт от аппаратного Интела и от сути многих компьютерных проблем. Опасность этой тенденции не только в проблемах файлов, но в полной зависимости от стандартных файловых систем, или хуже - в собственнических стандартах ОС. Это так же несет опасность, что они могут потерять цельную идею за альтернативными языками, операционными системами, и аппаратурой, которая может лучше использовать программиста и время компьютера.

GNU стандарты для GNU – это не юних. Люди иногда используют термин GNU как Gnu это новый юникс. Но Форт, когда предоставляет ОС сервисы в Форте, определенно не юникс.

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

Ссылки.

[Moore, 1999] Moore, Charles H., 1x Forth, Charles Moore, Interview 4/13/99
[Moore, 1970] Moore, Charles H. and Leach, Geoffrey C., FORTH - A Language for Interactive Computing (pdf) (html), Amsterdam NY: Mohasco Industries, Inc. (internal pub.) 1970.
[Moore, 2001] Moore, Charles H., colorforth.com, 2001
[Moore, 2002] Moore, Charles H., Internet Chat, May 5, 2002
[Moore, 1999] Moore, Charles H., Dispelling the User Illusion, SVFIG, 5/22/99


Последний раз редактировалось mOleg Пн апр 27, 2009 03:24, всего редактировалось 2 раз(а).

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

Зарегистрирован: Сб май 06, 2006 12:01
Сообщения: 959
Откуда: Украина, Харьков
Благодарил (а): 2 раз.
Поблагодарили: 7 раз.
mOleg писал(а):
похожих на проблемы связанные с файлами
проблемы, связанные
mOleg писал(а):
форматы символов = все создает сложности
тире?
mOleg писал(а):
в отличном от текущего окружении.
можно ли "уже в другом окружении"? А то там текущее приложение - текущее окружение...
mOleg писал(а):
Ранние Форты были созданы для освобождения программистов от черных ящиков и ограничения этих чужих ОС и языков налагаемых на программистов.
надо изменить как-то... пока не могу предложить, как... :(
mOleg писал(а):
имеет ФС хорошо оптимизированную
ФС, хорошо
mOleg писал(а):
для важных применений.
для ответственных?
mOleg писал(а):
В форте мы имеем систему виртуальной памяти и словарь взамен, концепцию гибкой базы данных ниже уровня файлов ОС.
тоже передалать надо... :(

Ладно, позже еще гляну... Дочитаю обязательно!

_________________
With best wishes, in4.


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

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

Цитата:
mOleg писал(а):
Ранние Форты были созданы для освобождения программистов от черных ящиков и ограничения этих чужих ОС и языков налагаемых на программистов.
надо изменить как-то... пока не могу предложить, как...

вначале создание форт'ов служило цели избавления программистов от досадных ограничений, свойственных работе с ОС и компиляторами [или языками?] сторонних разработчиков, [чей код был неоткрыт и ] , которая подобна работе с "ч.я." :?

_________________
понимаю некоторую бестолковость некоторых вопросов


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

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

Ранние Форты были созданы для освобождения программистов от черных ящиков и ограничения этих чужих ОС и языков налагаемых на программистов.

надо изменить как-то... пока не могу предложить, как...

вначале создание форт'ов служило цели избавления программистов от досадных ограничений, свойственных работе с ОС и компиляторами [или языками?] сторонних разработчиков, [чей код был неоткрыт и ] , которая подобна работе с "ч.я."

8) я все понимаю, но это же все-таки перевод, а не пересказ своими словами

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


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

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

_________________
понимаю некоторую бестолковость некоторых вопросов


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

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

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


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

Зарегистрирован: Чт ноя 23, 2006 00:44
Сообщения: 494
Откуда: СПб
Благодарил (а): 19 раз.
Поблагодарили: 8 раз.
А есть ли (открытые) исходники БД на Форте?


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

Зарегистрирован: Чт май 04, 2006 00:53
Сообщения: 5062
Откуда: был Крым, теперь Новосибирск
Благодарил (а): 23 раз.
Поблагодарили: 63 раз.
Ilya писал(а):
А есть ли (открытые) исходники БД на Форте?

точно в свое время был пример в пакете InfoForth

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


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

Зарегистрирован: Чт ноя 23, 2006 00:44
Сообщения: 494
Откуда: СПб
Благодарил (а): 19 раз.
Поблагодарили: 8 раз.
Млин, а ведь был у меня он в своё время.
Там наверно на основе блоков (экранов).


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

Зарегистрирован: Ср сен 13, 2006 10:06
Сообщения: 636
Откуда: Омск
Благодарил (а): 0 раз.
Поблагодарили: 3 раз.
Для лично себя я считаю: Форт это асм со стратегией оригинальной выдумки!

_________________
Меня нет, не будет и не было.


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

Зарегистрирован: Чт май 04, 2006 00:53
Сообщения: 5062
Откуда: был Крым, теперь Новосибирск
Благодарил (а): 23 раз.
Поблагодарили: 63 раз.
Ilya писал(а):
Млин, а ведь был у меня он в своё время.
Там наверно на основе блоков (экранов).

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

Pretorian писал(а):
Для лично себя я считаю: Форт это асм со стратегией оригинальной выдумки!

зря так считаешь. Форт никак не асм. Форт это живой язык, ну, как Русский или Английский. Точнее: языковая среда программирования!

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


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

Зарегистрирован: Чт ноя 23, 2006 00:44
Сообщения: 494
Откуда: СПб
Благодарил (а): 19 раз.
Поблагодарили: 8 раз.
mOleg писал(а):
Ilya писал(а):
Млин, а ведь был у меня он в своё время.
Там наверно на основе блоков (экранов).

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

Уже нашёл! :mrgreen:
Кста, домен TECHNOFORTH.RU продается!?
Т.е. контора закрылась? :weep;


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

Зарегистрирован: Ср сен 13, 2006 10:06
Сообщения: 636
Откуда: Омск
Благодарил (а): 0 раз.
Поблагодарили: 3 раз.
mOleg писал(а):
зря так считаешь. Форт никак не асм. Форт это живой язык, ну, как Русский или Английский. Точнее: языковая среда программирования!

А не скажи, я как любитель асма почуствовал именно силу асма в форте. Макросы в первом это не то по сравнению с тем что код можно группировать в слова. Меня до сих пор возбуждает слово "С," ;)

_________________
Меня нет, не будет и не было.


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

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7960
Благодарил (а): 25 раз.
Поблагодарили: 144 раз.
Ilya писал(а):
Кста, домен TECHNOFORTH.RU продается!?

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


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Суть форта
СообщениеДобавлено: Вт окт 29, 2019 09:53 
Не в сети

Зарегистрирован: Чт янв 07, 2016 19:14
Сообщения: 1288
Благодарил (а): 3 раз.
Поблагодарили: 18 раз.
Что за хрень я прочитал?
:?

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


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

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


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

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


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

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