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

...
Google Search
Forth-FAQ Spy Grafic

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




Начать новую тему Ответить на тему  [ Сообщений: 17 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: Разработка стандарта "от тестов"
СообщениеДобавлено: Вс мар 14, 2010 22:38 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 6145
Благодарил (а): 14 раз.
Поблагодарили: 96 раз.
Не секрет, что умозрительная работа над чем бы то ни было является источником спорных и проблемных утверждений. Недостаток здесь не в том, что появляются ошибки, неточности и неэффективные предложения, а в том, что нет механизма их исправления и четких критериев достижения результата (кстати, какого?). Поскольку критерии и цели могут быть не менее умозрительными, чем предложения, можно попробовать оттолкнуться от фиксированных результатов (тестов). Иными словами, в документацию по стандарту включаются тестовые алгоритмы (не программы и не слова), которые будут служить отправной точкой при выборе синтаксиса и семантики слов-кандидатов в ядро и те или иные расширения. Примером тестового алгоритма может быть: "вычислить сумму элементов массива, заданного начальным адресом и размером, содержимое массива - целые числа". В этом случае используемые слова могут быть совершенно любыми, хоть единственное слово ARRAY-SUM в ядре. Таким образом, специфицироваться будут не слова Форта, и не примеры их применения, а примеры конкретных частных задач. И утверждение "транслятор совместим со стандартом" для программистов будет означать, что с помощью этого транслятора они смогут решить вполне определенный круг задач (а не просто скачивать нечто, а потом гадать, что имел в виду автор, добавляя и исключая определенные возможности).


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

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


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

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 6145
Благодарил (а): 14 раз.
Поблагодарили: 96 раз.
Можно посмотреть на широко распространенные тесты. Еще интересный сайт eembc.org, где есть наборы тестов для МК. Интересно там то, что оценка МК производится по сферам применения. В самом деле, "усредненно-универсально-производительный" МК имеет неплохие шансы проиграть в частных случаях специализированным решениям. Примерно та же ситуация и с Фортом - сферы применения разные, то, что для одной области является требованием, для другой - излишество. Поэтому и алгоритмы можно (и наверное следовало бы) разбить по группам.


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

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


Чем это отличается от решения разных задач встречающихся в программисткой практике на заданном языке ( реализации )
Например: Rosetta code
и набора уже существующего библиотечного кода ( например ffl для Форта )

P.S. Следуя логики решения этих задач должен обеспечивать стандарт?


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

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 6145
Благодарил (а): 14 раз.
Поблагодарили: 96 раз.
Kopa писал(а):
Чем это отличается от решения разных задач встречающихся в программисткой практике на заданном языке ( реализации )
Например: Rosetta code
и набора уже существующего библиотечного кода ( например ffl для Форта )

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


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

Зарегистрирован: Вт ноя 06, 2007 21:23
Сообщения: 227
Откуда: Екатеринбург
Благодарил (а): 4 раз.
Поблагодарили: 7 раз.
Идея Хищника мне понятна и даже нравится. Даже виртуоз Вирт писал книги про разные алгоритмы и структуры данных и рассказывал в них как решить проблему на известном языке программирования. Что касаетя FSL и FFL - это средозависимые разработки и при их переносе приходится кое-что подправлять. Например, в контроллер алгоритм быстрой сортировки не всегда нужен.
осонвне операции в контроллере : сброс/установка сигнала на выходе, пересылка байта, слова, массива.
основне опреации консольного приложения: дизайн/программирование интерфейса.
типовые алгоритмы: вычисление БПФ, оценка МО, СКО; сортировка данных, построение структуры данных типа "дерево", ну и т.д.
Похоже, что выйдет так будет файл с деклараций высогоуровнего слова и файл аппаратнозависимой реализации (из серии сборки по условию [IF] [THEN]).


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

Зарегистрирован: Чт июл 20, 2006 11:31
Сообщения: 2098
Откуда: Екб
Благодарил (а): 0 раз.
Поблагодарили: 34 раз.
Хищник писал(а):
Не секрет, что умозрительная работа над чем бы то ни было является источником спорных и проблемных утверждений. Недостаток здесь не в том, что появляются ошибки, неточности и неэффективные предложения, а в том, что нет механизма их исправления и четких критериев достижения результата (кстати, какого?).

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

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


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

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 6145
Благодарил (а): 14 раз.
Поблагодарили: 96 раз.
chess писал(а):
В качестве результата могу предложить создать стандарт на ядро форт-системы, которая будет заточена на создание форт-систем со специализированными ядрами(в том числе форт-системы для кросскомпиляции).

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

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


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

Зарегистрирован: Вт май 09, 2006 12:31
Сообщения: 3438
Благодарил (а): 5 раз.
Поблагодарили: 16 раз.
Цитата:
А не слишком ли сложно получается? "Система для разработки систем для разработки программ"
Мечта , если есть внятная концепция


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

Зарегистрирован: Пн ноя 23, 2009 16:12
Сообщения: 64
Откуда: Київ, Івано-Франківськ
Благодарил (а): 1 раз.
Поблагодарили: 0 раз.
вопрос писал(а):
Мечта , если есть внятная концепция

Но это уже не форт.


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

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

Но это уже не форт.
А кто это решает?


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

Зарегистрирован: Пн ноя 23, 2009 16:12
Сообщения: 64
Откуда: Київ, Івано-Франківськ
Благодарил (а): 1 раз.
Поблагодарили: 0 раз.
[offtop]
вопрос писал(а):
А кто это решает?

это интересный, философский вопрос. но на интуитивном уровне я не смогу назвать систему для создания системы для разработки программ Фортом. Это будет уже нечто другое.[/offtop]


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

Зарегистрирован: Вт мар 20, 2007 23:39
Сообщения: 1252
Благодарил (а): 3 раз.
Поблагодарили: 16 раз.
danbst писал(а):
я не смогу назвать систему для создания системы для разработки программ Фортом

Ммм... Форт?

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


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Чт мар 18, 2010 11:34 
Хищник писал(а):
ключевые слова заданы не спецификацией языка, а общими соглашениями. Так может быть, и не требовать от Форта, чтобы любая прикладная программа, даже написанная левой задней лапой, автоматически и беспроблемно транслировалась на всех известных платформах?

С другой стороны, именно общие соглашения позволяют написать программу там, где для монитора с визуальным отображением кода не достаточно ресурсов. Для общего примера:
Код:
> Ok ( 1110 или 0001 )       /  «младший бит -- вершина стека»
«DUP»
> Ok ( 1100 или 0011 )
«ROT»
> Ok ( 1001 или 0110 )


> Ok ( 00 11 )
«SWAP» (?)
> Ok ( 11 00)

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


Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: Разработка стандарта "от тестов"
СообщениеДобавлено: Чт апр 29, 2010 20:38 
Не в сети

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

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

например - есть код СПФ, сделанный на ассемблере, это, пусть будем называть, примитивный код. И есть некоторое количество форт-файлов, которые ( *.f )
не есть пользовательские файлы или библиотеки, а есть часть самого СПФ

Вот стандартизировать можно то, что "некоторый стандартный код, надстроенный над примитивами" - давал определенную функциональностъ


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

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


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

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


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

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