реклама на сайте
подробности

 
 
11 страниц V   1 2 3 > »   
Reply to this topicStart new topic
> Форт (Forth) и MSP430 для изучения, Программирование и исследование на Форт
Kopa
сообщение Sep 20 2012, 15:31
Сообщение #1


Знающий
****

Группа: Участник
Сообщений: 598
Регистрация: 22-08-05
Пользователь №: 7 861



Есть интересное направление -
например, в частности, использование Форт языка для быстрого и эффективного изучения возможностей контроллера MSP430 и внешней периферии.
4e4th

Код
4E4th on the LaunchPad - 8/16K
Recently we had a meeting in the Lower Rhine region dreaming about a small nice affordable board with a modern MCU and a compact Forth inside.

There it is!

The TI LaunchPad with 4E4th on it. 16K FLASH - 8K Forth and 8K for our own apps. The 4E4th is covered in a 20Pin DIL MSP430G2553.
Now our goal is to supply a TI LaunchPad ready with the MSP430G2553 and Forth inside - all for 4€ - plug in the USB, open the terminal, and there we go! CamelForth430 is the kernel of 4E4th.

I think these are exciting developments.

Michael


P.S. Возможно окажется полезным инструментарием проект немецкого Форт сообщества.
В репозитарии есть ещё некоторые Форт системы для MSP430.
Хотчется услышать мнение участников местного форума.

C MSP430 близко не работал, но "ностальгия" по системе команд PDP-11 осталасьsm.gif
И если приобрести launch pad ($4,6) то можно многое сделать используя Форт идеалогию.
Есть и другие Форт системы для MSP430, но наверное без "продвижителя" данного направления тема "заглохнет":)

Сообщение отредактировал Kopa - Sep 20 2012, 17:15
Go to the top of the page
 
+Quote Post
zhevak
сообщение Sep 20 2012, 18:49
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 716
Регистрация: 29-08-05
Из: Березовский
Пользователь №: 8 065



Ага. Спасибо. Уже читаю.

Н-н... да. Забавно. Очередное Дурдуино для домохозяек.

Читаю, и иногда подвисаю на приятных воспоминаниях по временам РК-86...
Ну мы тогда Форт тоже изредка юзали. Так, не серьезно. Скорее от безысходности -- ведь Си-компайлера для РК-ашек тогда не было. Зато были широко распространены только ассемблер и Бейсик, которые закрывали почти весь спектр тогдашних задач. Ходил по рукам, правда, еще какой-то не работающий Лэйди-Паскаль. Ну и этот там был -- Форт. Был больше для "коллекции программ", чем для работы.

Я, вот, только не понимаю -- где его (Форт внутри msp430) можно сейчас реально применить с пользой? Сейчас всяких кросс-компиляторов -- мать моя! -- каких только нет! Профи в основном пишут либо на С, либо на асме. Всякие Форты, Паскали, Бэсики, PL... -- это экзотика, а не инструмент для зарабатывания денег. А не профи -- "непрофи" юзают Ардуины.

Может быть я чего-то не догоняю. sad.gif Но мне кажется, что что-то все-таки ускользает от моего понимания. Что-то я не представляю, что же _такое_толковое_ можно написать на Форте, причем _это_толковое_ ну никак невозможно было бы так же красиво реализовать на С/С++? В чем фишка?

-- Чувствую, что меня кидают. А где -- понять не могу. (с) из анекдота


--------------------
Хочешь рассмешить Бога -- расскажи ему о своих планах!
Go to the top of the page
 
+Quote Post
Microwatt
сообщение Sep 20 2012, 23:33
Сообщение #3


Гуру
******

Группа: Почетный участник
Сообщений: 6 851
Регистрация: 25-08-08
Из: Запорожье
Пользователь №: 39 802



Есть в ФОРТе нечто особенное. То, что сейчас кроме С++ программисты ничего не используют - не показатель. "Профи" тут следует понимать как "ремесленник".
Можно прожить с английским, где практически нет падежей и родов, можно с русским, где шесть падежей и три рода. И никому вроде не нужен язык банту. А там, если случайно заглянуть, только родов около 20. И язык живой, миллионы людей используют.

При всем несовершенстве вычислительных возможностей ФОРТ это язык с порождающей грамматикой. Т.е. после некоторой начальной возни с программой она на более высоких уровнях начинает читаться как почти естественный человеческий язык. И допускает допрограммирование пользователем. Прямое объектноориентированное кодирование.
Кроме того, это чрезвычайно компактный в смысле расхода объема памяти язык.
Вряд ли его сейчас станут применять массово, но сама идея его построения заслуживает чтобы с нею познакомиться. Для гимнастики ума. sm.gif
Go to the top of the page
 
+Quote Post
Bloom
сообщение Sep 21 2012, 01:14
Сообщение #4


Участник
*

Группа: Участник
Сообщений: 20
Регистрация: 31-08-12
Из: Южная Корея
Пользователь №: 73 327



я тоже изучал в свое время форт, было очень интересно... Но эта возня со стеком со временем просто достала. Как игрушка и для разминки ума форт приколен, но для производства...
Go to the top of the page
 
+Quote Post
MrYuran
сообщение Sep 21 2012, 05:15
Сообщение #5


Беспросветный оптимист
******

Группа: Свой
Сообщений: 4 601
Регистрация: 26-12-07
Из: Н.Новгород
Пользователь №: 33 646



Цитата(zhevak @ Sep 20 2012, 22:49) *
Я, вот, только не понимаю -- где его (Форт внутри msp430) можно сейчас реально применить с пользой?

1. мета-язык (в т.ч. красивая обертка для ассемблера)
2. встраиваемый интерактивный скриптовой движок, который без труда ложится в любой контроллер, от младших пиков и авр до арм.
3. возможна очень плотная упаковка программы засчет использования байт-кода
4. распределенная система хост-таргет с возможностью перераспределения в ходе отладки
5. много ещё чего

Теперь о грустном: к сожалению, систем типа "сел и поехал" практически нет, а если есть (SwiftForth), то стоит вполне конкретно.

Остальные предполагают полное погружение, чтобы хотя бы хелловорд изобразить.
Ну и резкий контраст между автоматизированными оболочками, к которым все уже привыкли, и "системой в себе", которой является forth.


Цитата(Microwatt @ Sep 21 2012, 03:33) *
Вряд ли его сейчас станут применять массово

Посмотрите спецификацию CIL (основа дотнета)
Ничего не напоминает ?


--------------------
Программирование делится на системное и бессистемное. ©Моё :)
— а для кого-то БГ — это Bill Gilbert =)
Go to the top of the page
 
+Quote Post
Kopa
сообщение Sep 21 2012, 12:50
Сообщение #6


Знающий
****

Группа: Участник
Сообщений: 598
Регистрация: 22-08-05
Пользователь №: 7 861



Цитата(Microwatt @ Sep 21 2012, 03:33) *
Вряд ли его сейчас станут применять массово

В этом есть правда.
При всём многообразии "своих" и не своих Форт систем, форт зачастую используется их создателями на задачах
малой и средней степени сложности или в личных разработка. Открытых "крупных" проектов с использованием Форта на компьютерах не много и они
тоже, зачастую, закрывают специализированные ниши (как то например Bios для OLPC, nnCron- планировщик) Ниша встраиваемых систем хорошо "пропиарина" для использования Cи инструментария (и архитектура контроллеров к нему близка) для использования менее гибкой, но зато
проще воспринимаемой системы программирования. (но например Factor язык не появился бы, если бы его разработчика в полной мере устраивал Java)
Форт не может восприниматься менеджерами проекта, как удачное решение, ввиду отсутствия профессионально подготовленных специалистов.
И поэтому, чаще всего, можно встретить Форт в изделиях компаний, как адекватный инструмент управления например роботами (Strobotics), внутреннего ядра для создания прибора (firmware Mosaic-Indutries) и др.

Ближайший к Форт Си подобный язык TCL/TK хоть и использует близкий подход к программированию (командный стиль). но при этом требует некоторой
нагрузки на "мозг" для понимания правильного использования структуры для однопроходного (интерпритируемого) исполнения (без компиляции) и не
имеет "мощных" механизмов внутреннего саморасширения.

P.S. Массово можно понимать и как создание массово используемых программ (но большее их число уже существует и мало смысла повторять решения
на существующих аппаратных плаформах их с использованием Форт). Хотя, в работе на Форт оценочная производительность труда программиста в 2-3 раза выше массовых продуктов (высказана =АК= в одном из постов на данном форуме, точно сам не оценивал, но цифры близкие). МК рынок хоть и массовый, но работает на нём не так уж много специалистов и задачи у них, в своих областях, уже обычно имеют свою "отработанность". А если задача новая, то бюджет разработки может быть не ограничен.

Как то такsm.gif и лично субъективно.


(P.S.)

Цитата(Bloom @ Sep 21 2012, 05:14) *
я тоже изучал в свое время форт, было очень интересно... Но эта возня со стеком со временем просто достала.

Эта одна из "страшилок" которыми отпугивает начинающих с ним знакомится.
Он дескать сильно напрягает мышление (отчасти это так, если пытаешься оптимально создать команду-слово используя только стек),
но стек это простое решение сложной задачи - эффективного кеширования данных при вычислении (если это достижимо), хоть и за счёт
задействования мыслительного ресурса программиста. (подобно ручной разводке печатных плат) и использовать и в какой степени данную возможность
можно решить самому.

Вопрос: Можно ли например эффектвно создавть компиляторы языков программирования без использования понятия стека?

Цитата(Bloom @ Sep 21 2012, 05:14) *
Как игрушка и для разминки ума форт приколен, но для производства...

Это тоже имеет место быть, но входит в противоречие с количеством разработанных, разной сложности, Форт систем.
(что просто зашкаливает по шкале необходимости разрабатывать очередной Форт)
А в публичный доступ, зачастую, выкладываются они, а не продукт сделанный с помощью данного инструментария.
(была даже кем то озвучена мысль, что Форт - это тайное оружие фирмsm.gif

Сообщение отредактировал Kopa - Sep 21 2012, 12:58
Go to the top of the page
 
+Quote Post
zhevak
сообщение Sep 23 2012, 10:43
Сообщение #7


Знающий
****

Группа: Свой
Сообщений: 716
Регистрация: 29-08-05
Из: Березовский
Пользователь №: 8 065



Цитата(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)
    погасить_экран();
}


Ни в спячку систему не отправить, ни быстро отреагировать на событие.


--------------------
Хочешь рассмешить Бога -- расскажи ему о своих планах!
Go to the top of the page
 
+Quote Post
polyname
сообщение Sep 23 2012, 11:16
Сообщение #8


Частый гость
**

Группа: Участник
Сообщений: 147
Регистрация: 18-05-12
Пользователь №: 71 915



Цитата
Но пока, я в упор не вижу -- где можно использовать "скриптовый" язык в МК-устройствах.
значит вы с таким пока не сталкивались. Вот возьмем например устройство для автоматизации чего-то.
Пользователь пишет на MicroSD или по RS232/USB командный файлик типа:
Код
if (in(1) == 1) {out(1,0); out(2,1); sleep(100);}
else if (in(2) == 1) {out(1,1); out(2,0); sleep(200);}

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

Или "умный" звуковой модуль. Опять же на MicroSD звуковые файлы и командный текстовый файлик:
Код
if (keypress(1)) {play("sound1.wav"); sleep(100);}
else if (keypress(2)) {play("sound2.wav"); sleep(100);play("sound3.wav"); sleep(100);}

На Forth парсер/компилятор реализуется проще и короче других языков.
В принципе приблизить синтаксис к привычному несложно, например сделать вызов функций как имя( парам1 парам2 ), а при компиляции удалить скобки и переставить имя в конец списка. Можно сделать присваивание переменных как имя = знач, или set("имя" знач)

Цитата
Ни в спячку систему не отправить, ни быстро отреагировать на событие.
все что требует быстродействия реализуется на С/Асм, и предоставляется Форту как библиотека стандартных функций.

Сообщение отредактировал polyname - Sep 23 2012, 12:32
Go to the top of the page
 
+Quote Post
zhevak
сообщение Sep 23 2012, 11:46
Сообщение #9


Знающий
****

Группа: Свой
Сообщений: 716
Регистрация: 29-08-05
Из: Березовский
Пользователь №: 8 065



Спасибо за примеры, polyname.

Да, действительно, не моя темя. Я не сталкивался с проблемами, когда для полноценной работы устройства пользователю нужно предоставить какой-нибудь скриптовый язык. Видимо, речь идет о ПЛК?

Цитата
все что требует быстродействия реализуется на С/Асм, и предоставляется Форту как библиотека стандартных функций.

Разумеется, не писать же на Форте стек TCP/IP для того же ENC28J60! Но рулить Фортом на верхним уровнем ... хм? <Задумался> какие-нибудь неторопливые торговые и платежные терминалы, управление вент-каналами, управление климатом в УД?


--------------------
Хочешь рассмешить Бога -- расскажи ему о своих планах!
Go to the top of the page
 
+Quote Post
Kopa
сообщение Sep 23 2012, 12:55
Сообщение #10


Знающий
****

Группа: Участник
Сообщений: 598
Регистрация: 22-08-05
Пользователь №: 7 861



Цитата(zhevak @ Sep 23 2012, 14:43) *
Теперь о грустном. К сожалению, я так и не понял -- зачем Форт? Или что он должен собой вытеснить (заменить)?

@ "- Я не люблю кошек."
"- Вы их просто не умеете готовить"

В полемику вступать у меня нет желания. Моё предложение было озвучено в первом посте. Полемику по Форт можно прочитать
на форуме рускоязычных пользователей Форт языка и поучаствовать в ней при желании.sm.gif

P.S. По приведёной информации на местном форуме (хотя бы из моих постов) и других источников можно понять почему Форт до
сих пор применяется и его сильные и слабые сторноны и ни в коей степени не претендует на решение на все случаи жизниsm.gif
Выбор применять или нет и как решает каждый используя свои критерии субъективной оценки.

Event-driven (или автоматный подход) и другие возможности - это только модель построения системы и к языку имеет не такое
опосредованное значение (будет ли это встроено, или поддержано независимым модулем, или расширением к языку)
Форт, как расширямый язык, может адаптироваться к любым "хотелкам" программиста. Опыт создания управляемого событиемм приложение
у меня был, как со стороны контроллера на языке ассеблера иначе задача в данном железе не работала (!580 процессор на 2Мгц)
при обработке датчика метража, клавиатуры, индикатора, логики приложения и выдачи на общий канал сбора информации к PC от таких же приборов.
иначе просто программа тормозила и не работала. На уровне PC был опыт разработки управляемого событиями (с клавиатуры, мышки)
мультиоконного текстового редактора (почти микро оконная система) на Форт (на основе SPF2.5 системы в DOS и его FED редактора), где на основе первичных событий порождались синтетические и проходили по некоторой выстроеннной иеархии объектов изменяя контекст обработки для следующих событий.
(отлаживать такое приложение оказалось, довольно не простым занятием и в результате прототип так и не был доведён до полностью рабочего состояния)
был и другой опыт создания эмбеддед ПО, как с привлечением Форт, так и без него на таргете. (С, ASM)

Цитата(zhevak @ Sep 23 2012, 14:43) *
. Скрипт -- это хорошо. Скрипт -- это компактно и мощно. Скрипт -- это сверхвысокоуровнево. (Вчера прочитал: "Python -- это язык сверхвысокого уровня". Вот это я понимаю!)

Вы считаете. что при решении задачи первичен язык? (мышление способно воспринять в себя и оперировать "чудовищными" построениями не замечая
этогоsm.gif
Хороший язык, программирования, в моём понимании когда об нём самом и как на нём сделать то то и то то меньше всего думаешь (аналогия -
не думаем же мы как првильно дышать)

Цитата(zhevak @ Sep 23 2012, 14:43) *
Ляжет-то он, конечно, ляжет... но опять же -- какие задачи он нацелен? Что им решать? Приведите какие-нибудь конкретные примеры, что ли. А я (или кто-нибудь) попробуем обсудить -- возможно ли эту задачу решить с помощью каких-то иных средств так же быстро и правильно, как на Форте. Но пока, я в упор не вижу -- где можно использовать "скриптовый" язык в МК-устройствах.

Решить задачу можно сто и одним способомsm.gif а ссылки на использование Форт можно найти на Форум по форт
Нужно это или нет Вам определитесь сами.


Цитата(polyname @ Sep 23 2012, 15:16) *
Код
if (in(1) == 1) {out(1,0); out(2,1); sleep(100);}
else if (in(2) == 1) {out(1,1); out(2,0); sleep(200);}


Один из вариантов, можно и оптимальнее

Код
: abc
1 in 1 = if  1 0 out  2 1 out  100 sleep exit then
2 in 1 = if  1 1 out  2 0 out  200 sleep then
;

При этом ассемблер тоже выглядеть может похожим образом и мало характеризует другие другие аспекты Форт системы.
В шутку и всъерьз Форт на луркморье

Сообщение отредактировал Kopa - Sep 23 2012, 14:12
Go to the top of the page
 
+Quote Post
polyname
сообщение Sep 23 2012, 13:08
Сообщение #11


Частый гость
**

Группа: Участник
Сообщений: 147
Регистрация: 18-05-12
Пользователь №: 71 915



Цитата
Один из вариантов, можно и оптимальнее
да, это уже в обычной Форт-нотации, для конечных юзверей с ней работать сложно. Поэтому наверно проще использовать юзер-френдли синтаксис, и конвертировать в Фортовский перед компиляцией.
Go to the top of the page
 
+Quote Post
Kopa
сообщение Sep 23 2012, 13:20
Сообщение #12


Знающий
****

Группа: Участник
Сообщений: 598
Регистрация: 22-08-05
Пользователь №: 7 861



Цитата(zhevak @ Sep 23 2012, 14:43) *
Вы ведь не хотите отдать область создания ПО для МК домохозяйкам?

На самом деле не вижу ничего криминального, если домохозяйка на это будет способнаsm.gif
Умные холодильники, кофеварки, телевизоры "потребуют" с собой общение!

Цитата(zhevak @ Sep 23 2012, 14:43) *
Вот, допустим, был у меня один такой уникум -- разработчик МК-системы, писал на Форте. Уволился (не важно по какой причине!) Дальше что? Разработки встали колом? Все начинать с начала и на международном языке программирования (С/С++) или учить самому/учить людей Форту. Ну и зачем мне залазить в такой "производственный капкан"?

Проблемы будут и С/С++ разработками т.к. уровень разработчиков, их пристастия (стиль написания кода), да и запрограммированный алгоритм без дополнительного обяснения
логики его работы могут оказаться трудно преодолимыми факторамиsm.gif

Цитата(zhevak @ Sep 23 2012, 14:43) *
4. "Переведи!" (с) из советского к/ф. Это как? Ничего не понял.

Под распределённой хост-таргет Форт системой, наверно подразумевалось, что решение задачи распределяется между хостом и таргетом по "разному".
Например хост проводит всю вычислительную работу и управляет таргетом, простейший таргет лишь подготавливает по командам хоста данные или ещё проще задаёт выполнение
неообходимого слова в таргете. (Может быть ещё проше - таргет имеет только команды ввода данных с внешних устройств и передачу их хосту)
Прояснил? или окончательно запутал? Но эта схема и не применительно к Форту используетсяsm.gif


Цитата(zhevak @ Sep 23 2012, 14:43) *
Вот, смотрите -- с одной стороны мы согласны отдать 8 кило флэша под сам Форт. Хорошо. Но, что мы при этом получаем взамен?
А если мы отдаем столько же памяти под какую-нибудь RTOS -- что мы в этом случае теряем, и что получаем?

8кило, это, как говорится "средний показатель температуры по больнице" в классической реализации автономной Форт машины для 8-и битных контроллеров,
в близком варианте к действующим стандартам, для возможности создавать ПО в рамках Форт языка, при этом некоторая мультизадачность уже может быть встроена в этот объём. (при кросс компиляции ресурсы контроллера по памяти уже расходуются по другому). Форт сам по себе представляет "некоторую" операционную среду, с вытекающими
из этого "последствиями" (сейчас глянул ехе файл SPF4 для windows разбух уже за 100КБ, хотя если отключить оптимизатор должно получиться ~30-40КБ)

Цитата(polyname @ Sep 23 2012, 17:08) *
да, это уже в обычной Форт-нотации, для конечных юзверей с ней работать сложно. Поэтому наверно проще использовать юзер-френдли синтаксис, и конвертировать в Фортовский перед компиляцией.


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

P.S. Поддержку ассемблера, также можно загрузить расширением, при необходимости.

Сообщение отредактировал Kopa - Sep 23 2012, 16:45
Go to the top of the page
 
+Quote Post
zhevak
сообщение Sep 23 2012, 15:50
Сообщение #13


Знающий
****

Группа: Свой
Сообщений: 716
Регистрация: 29-08-05
Из: Березовский
Пользователь №: 8 065



Цитата(Kopa @ Sep 23 2012, 19:20) *
На самом деле не вижу ничего криминального, если домохозяйка на это будет способнаsm.gif
Умные холодильники, кофеварки, телевизоры "потребуют" с собой общение!

Криминального-то ничего нет. Мне кажется -- это заблуждение из серии "Психбольница в руках пациентов".

Программируемый телевизор? 99% людей используют только кнопку вкл-выкл, переключатель каналов и громкость.
Умный холодильник, кофеварка? -- Дак, отлично! Напечатайте инструкцию по их программированию и добейтесь чтобы домохозяйки не посылали Вас лесом.

Базар пасанов:
-- Вчера стока бабла отвалил... Матри, какой у меня есть умный девайс!
-- Ичё!
-- Да ты вааще лох! Он программируемый!
-- ..уясе! Ну-ка -- закажи!
-- А я .уй его знает как!

Обывателям не нужна программируемость. Обывателям нужна одна кнопка -- Вкл/Выкл. И всё!

Цитата
Проблемы будут и С/С++ разработками т.к. уровень разработчиков, их пристастия (стиль написания кода), да и запрограммированный алгоритм без дополнительного обяснения логики его работы могут оказаться трудно преодолимыми факторамиsm.gif

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

Цитата
Под распределённой хост-таргет Форт системой, наверно подразумевалось, что решение задачи распределяется между хостом и таргетом по "разному".

А причем здесь Форт? Или я уже потерял нить рассуждения?


--------------------
Хочешь рассмешить Бога -- расскажи ему о своих планах!
Go to the top of the page
 
+Quote Post
Kopa
сообщение Sep 23 2012, 16:18
Сообщение #14


Знающий
****

Группа: Участник
Сообщений: 598
Регистрация: 22-08-05
Пользователь №: 7 861



Цитата(zhevak @ Sep 23 2012, 19:50) *
Обывателям не нужна программируемость. Обывателям нужна одна кнопка -- Вкл/Выкл. И всё!

Про домохозяйку это была шутка.

Цитата(zhevak @ Sep 23 2012, 19:50) *
Проблем везде хватает. А с Фотром добавляется еще и языковая проблема -- Форт-программеров на рынке труда намного меньше, чем Си-шников.

А их, на рынке труда, практически нет. (исторически, экономически, системно не преподают),
Встречаются только отдельные индивидумыsm.gif которым приходится подстраиваться под потребнсти этого рынка. Аукни на местном форуме тех кто знает про Форт.
наберётся может с десяток человек, а используют и того меньше. И в каких то вопросах разработки программ, при всех его достоинствах, у Форта ещё очень много "белых" пятен и не выстроенных "моментов". Элементарно нет даже современных учебников
по "запудриванию" мозгов молодого поколения. Но тем не менее он не ушёл с рынка инструментария разработчика, как это ни парадоксально.


Цитата(zhevak @ Sep 23 2012, 19:50) *
А причем здесь Форт? Или я уже потерял нить рассуждения?

Это было пояснение по пункту 4. MrYuran

Сообщение отредактировал Kopa - Sep 23 2012, 16:37
Go to the top of the page
 
+Quote Post
zhevak
сообщение Sep 23 2012, 16:33
Сообщение #15


Знающий
****

Группа: Свой
Сообщений: 716
Регистрация: 29-08-05
Из: Березовский
Пользователь №: 8 065



Цитата(Kopa @ Sep 23 2012, 18:55) *
@ "- Я не люблю кошек."
"- Вы их просто не умеете готовить"

Да, я не умею готовить кошек...
Однако: я не использую Линукс потому что его не знаю. Я не знаю Линукс потому что его не использую.
И как же выйти из этого цикла?

Извините, немного офф-топа:
Цитата
... на языке ассеблера ...

я думал что только у меня проблема с буквой "м". Почему-то всякий раз набирая это слово я пропускаю эту букву. Вы уже второй человек, у которого та же проблема.

Цитата
Вы считаете. что при решении задачи первичен язык?

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

а вот этого я вообще не понял:
Цитата
(мышление способно воспринять в себя и оперировать "чудовищными" построениями не замечая этогоsm.gif

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

Цитата
Хороший язык, программирования, в моём понимании когда об нём самом и как на нём сделать то то и то то меньше всего думаешь (аналогия -
не думаем же мы как првильно дышать)

Ага. Согласен.
Мы вот тут базарим на русском и даже не испытываем дискомфорта или непонимания (пример выше -- это просто недоразумение! Не рассматриваем!)
So let's speak english and we shall got difficulties immediately.


--------------------
Хочешь рассмешить Бога -- расскажи ему о своих планах!
Go to the top of the page
 
+Quote Post

11 страниц V   1 2 3 > » 
Reply to this topicStart new topic
8 чел. читают эту тему (гостей: 8, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 17th January 2018 - 11:20
Рейтинг@Mail.ru


Страница сгенерированна за 0.01419 секунд с 7
ELECTRONIX ©2004-2016