Цитата(MrYuran @ Sep 21 2012, 11:15)

1. мета-язык (в т.ч. красивая обертка для ассемблера)
2. встраиваемый интерактивный скриптовой движок, который без труда ложится в любой контроллер, от младших пиков и авр до арм.
3. возможна очень плотная упаковка программы засчет использования байт-кода
4. распределенная система хост-таргет с возможностью перераспределения в ходе отладки
5. много ещё чего
1. Ичё? Продолжайте свою мысль, а то она как-то внезапно оборвалась. Клиенту, для кого создается гаджет не то что бы "красивая обертка" не нужна -- ему вообще пофигу на каком языке пишется встроенное в его гаджет ПО. Красота для программиста? ... Сомнительно. Прогеры пишут свои программы не для красоты, а чтобы устройство работало. Программисту-разработчику от этой красоты ни холодно-ни жарко. Удобство использования нужно -- это да. А красота ... это уже к гуманитариям -- художникам, поэтам, музыкантам... К "любителям программирования", которые пишут красивый код не для работы, а для личного самоудовлетворения. (Еще один из множества разновидностей онанизма?)
2. Скрипт -- это хорошо. Скрипт -- это компактно и мощно. Скрипт -- это сверхвысокоуровнево. (Вчера прочитал: "Python -- это язык
сверхвысокого уровня". Вот это я понимаю!) Ляжет-то он, конечно, ляжет... но опять же -- какие задачи он нацелен? Что им решать? Приведите какие-нибудь конкретные примеры, что ли. А я (или кто-нибудь) попробуем обсудить -- возможно ли эту задачу решить с помощью каких-то иных средств так же быстро и правильно, как на Форте. Но пока, я в упор не вижу -- где можно использовать "скриптовый" язык в МК-устройствах.
Вот, смотрите -- с одной стороны мы согласны отдать 8 кило флэша под сам Форт. Хорошо. Но, что мы при этом получаем взамен?
А если мы отдаем столько же памяти под какую-нибудь RTOS -- что мы в этом случае теряем, и что получаем?
Вы ведь не хотите отдать область создания ПО для МК домохозяйкам?
И да! Скрипты! Это область, когда нужно оперативно накидать прожку, чтобы
быстро разрулить большой объем работы. Скрипты хороши тогда, когда нужно время от времени подправлять их (скриптов) работу. Но мы знаем, что в 99.9% МК-устройствах программа заливается один раз. И пашет там пожизненно. Заметьте, поменять уставки (установки, параметры, конфиги) -- это не то, что поменять скриптовую прогу.
3. Очень плотная упаковка кода? Хм... Это как? Разве есть какие-то проблемы с МК, у которых не хватает памяти? Люди уже давно не пишут на асме большие проги (большие, скажем, 2-4 килоайт) ради того, чтобы сэкономить еще "один байт". Смысл ужиматься? Не хватает памяти -- возьмите другой МК.
Давно уже канули времена, когда разница в МК с разным объемом памяти была ощутима. По инерции приводят гипотетические примеры, дескать -- для производства, которое выдает на гора стони-тысячи изделий в месяц, это проблема стоит очень остро. -- Фигня! Бред! У меня такое же производство, и я по первости тоже искал себе "проблему одного байта". Сейчас понял -- надуманно это все! Стоимость МК в изделии составляет от силы несколько процентов. Какая разница, во сколько будет выливаться себестоимость изделия -- в 2345 рублей или 2389? Важно не это, а динамика развития производства. Если каждый месяц количество заказов увеличивается на 10-30%, то экономить на 1-2% за счет "узкого" проца -- только себе засерать развитие. Производите разработку -- Отлично! Закладывайте сразу проц в двукратным количеством памяти. По деньгам не чувствительно, зато будет пространства для маневра.
4. "Переведи!" (с) из советского к/ф. Это как? Ничего не понял.
5. Ни о чем! Всё будет надуманно и высосано из пальца. (Паручики, молчать!!!)
Теперь о грустном. К сожалению, я так и не понял -- зачем Форт? Или что он должен собой вытеснить (заменить)?
Да! И еще пара вопросов.
1. О манагерах. Я их тоже недолюбливаю. Но в данном вопросе с ними солидарен.
Вот, допустим, был у меня один такой уникум -- разработчик МК-системы, писал на Форте. Уволился (не важно по какой причине!) Дальше что? Разработки встали колом? Все начинать с начала и на международном языке программирования (С/С++) или учить самому/учить людей Форту. Ну и зачем мне залазить в такой "производственный капкан"?
2. Как у Форта обстоят дела с многозадачностью? Можно-ли на нем написать event-driven ПО? (Уточняю -- событийно-управляемое ПО.) Грубо -- это такое ПО, которое всё время спит, то есть не кушает батарею, не греется. Но как только в системе возникает какое-либо событие (прерывание), система пробуждается и начинает его обрабатывать. В такой системе возможны порождения вторичных событий. События в систему могут поступать по нескольким каналам.
Например:
- тикает системный таймер,
- пришел ответ по SPI, достать его из регистра и засунуть в буфер
- UART отправил байт, и нужно в него загрузить следующий
- юзвер нажал на кнопочку,
- сработал концевик, датчик перегрузки и т.п.
и т.д.
А то получится как во времена DOS:
Код
do (!конец_работы())
{
if (ответ_от_HDD_получен() == 1)
обработать_файл();
else if (клавиатура_нажата() == 1)
определить_нажатую_клавишу();
else if (событие_от_мышки() == 1)
определить_какое_событие_случилось_у_мышки();
else if (тайм-аут_истек() == 1)
погасить_экран();
}
Ни в спячку систему не отправить, ни быстро отреагировать на событие.