Forth и другие саморасширяющиеся системы программирования Locations of visitors to this page
Текущее время: Пт мар 29, 2024 17:39

...
Google Search
Forth-FAQ Spy Grafic

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




Начать новую тему Ответить на тему  [ Сообщений: 209 ]  На страницу Пред.  1 ... 10, 11, 12, 13, 14  След.
Автор Сообщение
 Заголовок сообщения:
СообщениеДобавлено: Вс июн 28, 2009 20:25 
Не в сети

Зарегистрирован: Вс июн 21, 2009 20:49
Сообщения: 111
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Хищник писал(а):
Если даже и появляется какая-то особенно богатая функциональными возможностями библиотека, ценность работы программиста в этой области резко падает - ведь все уже написано.


Это понятно.

Хищник писал(а):
А вот запросы заказчиков на алгоримизацию их потребностей появляются регулярно, и это разные задачи, не покрываемые никакой волшебной библиотекой.

Вы имеете в виду вообще всех заказчиков на алгоритмизацию, или какую-то конкретную область (области)?


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Вс июн 28, 2009 20:42 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7960
Благодарил (а): 25 раз.
Поблагодарили: 144 раз.
simne писал(а):
Вы имеете в виду вообще всех заказчиков на алгоритмизацию, или какую-то конкретную область (области)?

САПР, приборостроение, встроенные системы, системы связи (то, чем мы занимаемся) - регулярно возникают задачи, не решаемые стандартными средствами (или решаемые явно избыточным способом по ресурсам аппаратуры и программным инструментам).


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

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

Так что, не кончатся вспомогательные средства. НИКОГДА!


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

Хищник писал(а):
А кто осваивает Си или Питон, получают знание во сне путем откровения?


Я уже говорил для программирования контроллера на Си:
Достаточно найти готовый пример, подать на вход IAR там нажать
одну кнопку и произойдет компиляция с прошивкой и запуском отладчика.
А на Форте?
С Питоном знаком слабо. Однако, большой кусок сферы применения он у Форта отнял.
И готовых примеров гораздо больше чем к Форту, не смотря на то что он значительно
моложе.


Хищник писал(а):
регулярно возникают задачи, не решаемые стандартными средствами


Приведи конкретный пример (не касающийся специфических аппаратных средств).


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

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7960
Благодарил (а): 25 раз.
Поблагодарили: 144 раз.
Mihail писал(а):
Я уже говорил для программирования контроллера на Си:
Достаточно найти готовый пример,

И что, можно хорошо зарабатывать, продавая готовые примеры для контроллеров на Си? А что при этом надо отвечать, если спросят "зачем платить кому-то, если мы и сами можем скачать пример и нажать на кнопку?".
Mihail писал(а):
А на Форте?

А на Форте, как и на любом другом языке, можно свободно писать программы, решающие новые, еще не решенные задачи.
Mihail писал(а):
Хищник писал(а):
регулярно возникают задачи, не решаемые стандартными средствами

Приведи конкретный пример (не касающийся специфических аппаратных средств).


Скоро уже 10 лет нашей программе обработке данных координатно-измерительных машин. Альбом измерительных схем, выпущенный в незапамятные времена, включал 500-600 вариантов измерений. Вариантов реализации было два:
1) Разработать соответствующее количество диалоговых окон на Си-подобном языке с заполнением полей и расчетом по индивидуально запрограммированным формулам.
2) Реализовать язык для описания сценариев измерений.
Увидев движок второго варианта, заказчик быстро урезал аппетиты до 50-60 наиболее употребительных схем измерений, обрадовавшись, что сможет недостающее доделать и сам. По первому варианту, полагаю, процесс согласования сроков и цен мог бы затянуться до бесконечности.

Аналогичную задачу, но в более крупных масштабах, решаем и сейчас.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Вт июн 30, 2009 12:12 
Не в сети

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


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

Хищник писал(а):
зачем платить кому-то, если мы и сами можем скачать пример


Вот и я спрашиваю. Зачем заказывать програму на Форте, если программы на СИ в свободном доступе?


Хищник писал(а):
А на Форте, как и на любом другом языке, можно свободно писать программы, решающие новые, еще не решенные задачи.


Для Форта это совершено не достаточно, т.к. это экзотическое средство программирования.
У Форта должно быть явное преимущество, и оно есть. Иначе, он давно-бы умер.
Не разу в жизни мне не доводилось решать принципиально новые задачи.
Всегда что-то подобное уже неоднократно решалось.
Но вопрос был более конкретный. Как мне запрограммировать контроллер если в наличие только Форт?

Хищник писал(а):
Скоро уже 10 лет нашей программе


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


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

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


Это его пользователи:)

Одно из преимуществ - почти не мешает процессу мышления при программировании.

P.S. А уникальнось решения может быть или нет.
Это ещё как сам разработчик может оценить:)


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

Зарегистрирован: Вс мар 04, 2007 08:02
Сообщения: 229
Благодарил (а): 2 раз.
Поблагодарили: 7 раз.
Mihail писал(а):
Приведи такой пример, при котором приемущество Форта было очевидно.


Прототипирование девайсов на МК.
Имея МК с прошитой стековой виртуальной машиной и набором примитивов ( общим обьемом не более 1Кб ),
форт на хост-компьютере и "пуповинку" ( линк по rs232), я имею возможность в диалоге сконфигурировать периферию МК в любом возможном варианте и сразу же посмотреть (осциллоскопом) что из этого получилось, без необходимости написания-компиляции-прошивки тестового кода ( простейший ногодрыгательный пример - моргание светодиодом).
А используя возможности форта на хосте , имею возможность ( не прошивая ни байта кода в МК ) реализовывать
более сложные последовательности: конфигурация и настройка портов ввода\вывода, конфигурация и настройка внутренней периферии МК, запуск ( измерений), обработку и просмотр полученных данных. Чесслово, не представляю как этого можно добиться на Сях.
Вот, както так.


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

Зарегистрирован: Ср май 03, 2006 11:27
Сообщения: 1394
Откуда: St.Petersburg
Благодарил (а): 2 раз.
Поблагодарили: 11 раз.
chu писал(а):
Имея МК с прошитой стековой виртуальной машиной и набором примитивов ( общим обьемом не более 1Кб ),


И где такие МК?
В современные МК влезает Линукс и все остальное, что к Си прилагается:
копилятор, предпроцессор, линковщик, make, конфигуратор.
Коночно, Форт всех этих монстров заменяет, но под Форт трудно что-то
найти. Кто-нибудь пробовал что-то из D:\forth\ARM\pbjtech\downloads.htm ?

chu писал(а):
форт на хост-компьютере и "пуповинку" ( линк по rs232), я имею возможность в диалоге


При наличии сишных средст разработки, я создам подобную форт-систему дня за два.
А вот людям приходится ждать пока я получу доступ к МК.
Выкладывать распределенную систему для ARMа начальство не разрешает.


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

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


Цена от 1$ :) или меньше.

Mihail писал(а):
(
Кто-нибудь пробовал что-то из pbjtech\downloads
pbjtech


Архив, ( 2005г.) можно взять со странички победителя конкурса \ прямая ссылка
Entry ~19Мб
\ раздут из-за hex, pdf, lst файлов результатов компиляции:) + непонятного размера и содержания 16М doc файл.
поэтому на сайте автора, возможно, более актуальный дистрибутив.


Последний раз редактировалось Kopa Ср июл 01, 2009 08:55, всего редактировалось 1 раз.

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

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7960
Благодарил (а): 25 раз.
Поблагодарили: 144 раз.
Mihail писал(а):
Редко, но бывает и такое. Соодношение затрат к заработку, при этом, очень хорошее.

Это есть следствие неосведомленности заказчика о той области, для которой он делает заказ, или крайне сжатых сроков. Переупаковка готовой программы в другую обертку ближе к продажам, а не к программированию.
Mihail писал(а):
Вот и я спрашиваю. Зачем заказывать програму на Форте, если программы на СИ в свободном доступе?

Ширпотреб - да, в свободном доступе. А библиотек для передовых на сегодняшний день технологий что-то в свободном доступе не наблюдается.

Mihail писал(а):
Не разу в жизни мне не доводилось решать принципиально новые задачи.
Всегда что-то подобное уже неоднократно решалось.

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

Взять документацию, по ней изучить систему команд и протокол программирования. Написать кросс-транслятор (хорошо при этом описывать группы команд через CREATE DOES>), с его помощью создать образ памяти целевого МК. Получить доступ к порту через библиотеки ОС, написать на Форте обертку над библиотекой и протокол программирования. Повторялось мной раз пять - точно.
Mihail писал(а):
Не думаю, что среди читателей данный конференции много тех, кто в курсе о вашей разработки.
Приведи такой пример, при котором приемущество Форта было очевидно.

В данном примере преимущество Форта очевидно. Причем тут читатели, не вполне понятно. Система делалась для завода, а не для читателей. Теперь я рассказал об ее архитектуре.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Вт июн 30, 2009 18:21 
Не в сети
Аватара пользователя

Зарегистрирован: Пт дек 26, 2008 21:16
Сообщения: 412
Откуда: Великий Новгород
Благодарил (а): 9 раз.
Поблагодарили: 4 раз.
Хищник писал(а):
(хорошо при этом описывать группы команд через CREATE DOES>),

Если не жалко пару примерчиков с небольшим разъяснением я как раз этим занимаюсь.
Пожалуйста :shuffle;


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

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7960
Благодарил (а): 25 раз.
Поблагодарили: 144 раз.
_Harry писал(а):
Если не жалко пару примерчиков с небольшим разъяснением я как раз этим занимаюсь.

Предположим, что есть группа команд с кодом вида:

Код:
15  8  7  4  3  0  - разряды
  op    reg1 reg2


где op - код операции, reg1, reg2 - номера регистров, участвующих в этой операции. Тогда мы можем сформировать код команды примерно так:

Код:
: ADD ( reg1, reg2 -- opcode )
  SWAP 4 LSHIFT OR  \ мы сдвинули reg1 на 4 разряда влево (4 - например) и "склеили" reg1 и reg 2, теперь осталось наложить маску опкода
  0x1000 OR        \ собственно, накладываем маску
;


Остается мелочь - команда SUB будет отличаться только опкодом. И еще 5-10 подобных команд. Чтобы избежать лишнего текста, а заодно упростить правки, делаем так

Код:
: CMDGROUP
  CREATE , DOES> @  \ небольшая тонкость - теперь опкод лежит поверх регистров: reg1 reg2 opcode
  ROT  4 LSHIFT          \ ничего страшного, достаем reg1:  reg2 opcode reg1<<4
  OR OR                      \ "склеиваем" все три компонента команды
;

\ понеслась!
0x1000 CMDGROUP ADD
0x2000 CMDGROUP SUB
0x3000 CMDGROUP AND
0x4000 CMDGROUP OR
0x5000 CMDGROUP XOR

Вот примерно так.


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

Зарегистрирован: Вт авг 12, 2008 03:18
Сообщения: 327
Откуда: Москва
Благодарил (а): 36 раз.
Поблагодарили: 7 раз.
По моему очень красиво.

_________________
Линукс решает, винда глотает.


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

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7960
Благодарил (а): 25 раз.
Поблагодарили: 144 раз.
Вдогонку - очень много можно сделать в чисто постфиксном стиле описания. То есть реализация чего-то вроде eax, ebx mov - это не самоцель (хотя и напрашивается). Более лобовой вариант: eax<-ebx. Это просто одно слово, которое компилирует конкретный опкод. Для небольших МК с этим вообще просто, поскольку у них количество вариантов команд поменьше, чем у x86. Исключение здесь - команды, использующие непосредственные значения, загрузку констант в первую очередь. Они идут в стиле 10 ->r0.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Ср июл 01, 2009 08:58 
Не в сети
Moderator
Moderator

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

Если не жалко пару примерчиков с небольшим разъяснением я как раз этим занимаюсь.
Пожалуйста :shuffle;


Статья: Как написать свой ассемблер / Brad Rodriguez / :) в разделе статей.


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

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


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

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


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

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