embedded TCL

Dec 26, 2005 9 Replies

Немедленно нажми на RESET, All!



formatting link
Было бы здорово. Это вам не forth.


Mon Dec 26 2005 13:30, Kirill Frolov wrote to All:

KF>

formatting link
KF> Было бы здорово. Это вам не forth.

Не Форт, это точно. Огромный и неповоротливый как... тикль. 85 кило супротив примерно 8 кило для полного Форта, или 1 кило для гольной FVM. А уж про скорость лучше и не начинать, хуже Васика :(

Пока Алексей

А главное, что Форт, что TCL - птичьи языки. Уж лучше какой-нибудь SLang встраивать... Вопрос один: "Зачем?".

Mon Dec 26 2005 15:28, Anton Fedorov wrote to Alex Kouznetsov:

Если полностью интерпретируемый, а я не вникал как там, то да. У настоящего TCL заметно шустрее любого бейсика. Но там компиляция в байткод.

AF> А главное, что Форт, что TCL - птичьи языки. Уж лучше какой-нибудь SLang AF> встраивать...

Что значит "птичий"? TCL, наверное, самый простой язык. Никаких громоздких конструкций и правил полных исключений. Всё остальное -- библиотеки (packages). Из этого же следует и существенный один недостаток: проверить правильность программы каким-либо "компилятором" сложно. Многие ошибки не вызовут сбоев синтаксического и/или грамматического анализатора ("парсера"). Динамическая типизация, возможно термин некорректен, тоже -- с одной стороны исключает ошибки вызванные необходимостью преобразования данных, с другой стороны тем самым позволяет совершать смысловые ошибки для программиста. Но для быстрого скриптования небольших программ -- это хорошее решение. Для больших -- плохое скорей.

Форт же -- это практически ассемблер...

AF> Вопрос один: "Зачем?".

Затем что:

  • более высокоуровневый чем C язык -- меньше трудоёмкость;
  • байт-код или даже текст программы может занимать меньше программной памяти, чем код программы сгенерированный C-компилятором;
  • может размещаться в памяти данных (внешнем ЗУ, например), тогда как машинный код -- исключительно в программной памяти;
  • интерпретатор может быть использован для взаимодействия с другими программами без организации между ними "сильной" связи -- это по сути, очень гикий интерфейс (в качестве примера можно привести postscript или PCL принтеры -- где бы они были с windows GDI драйверами?)

Mon Dec 26 2005 14:00, Alex Kouznetsov wrote to Kirill Frolov:

AK> From: "Alex Kouznetsov" Mon Dec 26 2005 13:30, Kirill Frolov wrote to All:

KF>>

formatting link
KF>> Было бы здорово. Это вам не forth.

AK> Hе Форт, это точно. Огромный и неповоротливый как... тикль. 85 кило AK> супротив примерно 8 кило для полного Форта,

85КБайт _на_PC_? Там и hello world выражается более чем мегабайтом, иногда.

А если хоть бы и 20КБайт -- для системы с 128КБайт ROM вполне приемлемо. Я бы скорей на ОЗУ смотрел. Вот его то маловато бывает. И на то, что пробовали ли его вообще в 16-битной системе. Не секрет же, что половина программ по тем же досом в "real mode" собрать невозможно (int == строго 4 байта).

Только тут и для доса нельзя её. Вся завязана то на unix, то на windows.

AK> или 1 кило для гольной FVM.

И что с ней толку?

AK> уж про скорость лучше и не начинать, хуже Васика :(

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

Tue Dec 27 2005 11:44, Kirill Frolov wrote to Alex Kouznetsov:

KF>>>

formatting link
KF>>> Было бы здорово. Это вам не forth.

AK>> Hе Форт, это точно. Огромный и неповоротливый как... тикль. 85 кило AK>> супротив примерно 8 кило для полного Форта,

KF> 85КБайт _на_PC_? Там и hello world выражается более чем мегабайтом, KF> иногда.

А причем здесь РС? На РС тикль существует давным-давно, так что изобретать велосипед не вижу смысла.

KF> А если хоть бы и 20КБайт -- для системы с 128КБайт ROM вполне KF> приемлемо.

Дык, таки не 20, а 85.

AK>> или 1 кило для гольной FVM.

KF> И что с ней толку?

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

Пока Алексей

Tue Dec 27 2005 21:58, Alex Kouznetsov wrote to Kirill Frolov:

KF>> 85КБайт _на_PC_? Там и hello world выражается более чем мегабайтом, KF>> иногда. AK> А причем здесь РС? Hа РС тикль существует давным-давно, так что AK> изобретать велосипед не вижу смысла. KF>> А если хоть бы и 20КБайт -- для системы с 128КБайт ROM вполне KF>> приемлемо. AK> Дык, таки не 20, а 85.

85 -- это где? В Win32 или Linux версии? Не удивлюсь. Речь про версию ограниченную ansi-c и собранную, например, KEIL'ом для x51. Или hitech'ем для x86. Так получается, типично, в несколько раз объём меньше виндового или линухового. Во-первых ибо код 32-битный, во-вторых библиотек с собой лишних не таскается.

AK>>> или 1 кило для гольной FVM. KF>> И что с ней толку? AK> Аппликуху на скриптах делать. Hапример, есть у меня старинное изделие, AK> которому скоро второй десяток лет пойдет. Однако живет оно и здравствует, AK> потому как прикладное ПО сделано на скриптах. Только время от времени AK> скрипты слегка подправлять приходится, по желанию заказчика.

Ну вот, например, как в ней элементарный ассоциативный массив сделать? Ускриптуешься вусмерть. Всё-таки минимум какой-то необходим.

Wed Dec 28 2005 11:41, Kirill Frolov wrote to Alex Kouznetsov:

AK>>>> или 1 кило для гольной FVM. KF>>> И что с ней толку? AK>> Аппликуху на скриптах делать. KF> Hу вот, например, как в ней элементарный ассоциативный массив сделать?

Хэшем. Только это задача для кросс-компилятора, а не для эхотажного контроллера. Ему встроенный компилятор без надобности, имхо. Разве что Форт.

Пока Алексей

Wed Dec 28 2005 12:23, Alex Kouznetsov wrote to Kirill Frolov:

AK>>>>> или 1 кило для гольной FVM. KF>>>> И что с ней толку? AK>>> Аппликуху на скриптах делать. KF>> Hу вот, например, как в ней элементарный ассоциативный массив сделать? AK> Хэшем. Только это задача для кросс-компилятора, а не для эхотажного AK> контроллера. Ему встроенный компилятор без надобности, имхо. Разве что AK> Форт.

Тут не компилятор нужен, тут код нужен. Которого нет. И компилятор его из ниоткуда не извлечёт.

Wed Dec 28 2005 12:33, Kirill Frolov wrote to Alex Kouznetsov: KF>>> Hу вот, например, как в ней элементарный ассоциативный массив KF>>> сделать? AK>> Хэшем. Только это задача для кросс-компилятора, а не для эхотажного AK>> контроллера. Ему встроенный компилятор без надобности, имхо. Разве что AK>> Форт. KF> Тут не компилятор нужен, тут код нужен. Которого нет. И компилятор его KF> из ниоткуда не извлечёт. Обоснуй.

Пока Алексей

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required