байт-код

Oct 02, 2004 11 Replies

кто применял сабж в своих железках ? в чем +/- ?


Sat Oct 02 2004 09:56, Dmitry Ponyatov wrote to All:

DP> кто применял сабж в своих железках ? в чем +/- ?

Уточни, что такое байт-код в твоем понимании? Например, код для 51-го проца - это байт-код? Если нет - почему?

Пока, Алексей

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

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

Sun Oct 03 2004 11:36, Arcady Schekochikhin wrote to Alex Kouznetsov: >> Sat Oct 02 2004 09:56, Dmitry Ponyatov wrote to All: >> >> DP> кто применял сабж в своих железках ? в чем +/- ? >> >> Уточни, что такое байт-код в твоем понимании? Hапример, код для 51-го >> проца - это байт-код? Если нет - почему?

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

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

Пока, Алексей

Я так погляжу что адресок у тебя инетовский да и не российский - так что - to google.

Mon Oct 04 2004 08:09, Arcady Schekochikhin wrote to Alex Kouznetsov:

AS> From: Arcady Schekochikhin snipped-for-privacy@podzam.com

AS> Я так погляжу что адресок у тебя инетовский да и не российский - так что AS> - to google.

У тебя тоже адресок "инетовский да и не российский" - что ж с того? Или ты хочешь сказать, что через гугль я смогу узнать, что Dmitry Ponyatov или лично ты подразумевают под байт-кодом? ;-) Ты хоть читай, что ли, посты, на которые пытаешься ответить... ;-)

Пока, Алексей

DP> кто применял сабж в своих железках ? в чем +/- ?

AK> Уточни, что такое байт-код в твоем понимании?

код, выполняемый программой-интерпретатором, эмулирующей реально существующую аппаратуру или некую виртуальную машину (в качестве примера -- JavaVM, движок ОС Inferno, РАПС)

дригими словами -- это машинный код виртуальной машины

AK> Hапример, код для 51-го проца - это байт-код?

это машинный код для 51 проца, хотя можно рассматривать его и как байт-код, если _выполнять его программно_ в ВМ

А тебе и не нужно узнавать. Коль ты не понимаеш что человек имел в виду под байт кодом то и ответить внятного не сможешь. Если ты человека хотел таким образом "поучить" - он тебя об этом не просил. Чо МЫ подразумеваем под байт-кодом - это как бы наше дело.

Я читал. Ты - нет.

Arcady, ты ещё здесь сидишь?

Воскресенье Октябрь 03 2004 11:36, Arcady Schekochikhin wrote to Alex Kouznetsov:

И что? ;) По сути любой процессор - это "интерпретатор" своей системы команд. Кстати, были прецеденты процессоров, которые выполняли эту интерпретацию не совсем правильно. Так что код - это просто код. А кто его будет обрабатывать и каким образом, отдельный вопрос...

AS> Байт-код - джава, форт (иногда) и прочие интерпретируемые штучки AS> (включая какой нибудь Basic Stamp) - они "стандартизованы" снаружи AS> процессора,

Система команд современного PC-шного процессора тоже "стандартизирова снаружи", поинтересуйся, что там у него внутри творится ;)

AS> и в принципе процессорно-независимы. Байт код таки может быть AS> нативным кодом проца, но их таких процев мало.

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

AS> А насчет применения - бывает, как средство минимизации объема кода (за AS> счет скорости), для расширяемости, для некоторой переносимости AS> (понятно что переносимость на топике не ахти какая по любому

Hу, не совсем по любому Переносимость у форт-системы замечательная. Если конкретная реализация имеет достаточные для работы системы ресурсы, проблем не будет.

AS> - но если С-программа переносится, то байт код который не имеет AS> слишком гизкоуровневых операций

Поясни, да? ;)

AS> - тоже перенесется, и еще проще - просто напиши новый интерпретатор). AS> Вопрос то в средствах разработки - нужно как правило самому написать AS> компилятор со своего собственного языка - не с Си же байткод AS> генерить).

Фортовский "интерпретатор" сам компилирует нужный тебе "байт-код". Чем такой вариант не подходит? Hетмейлом, плиз, чтобы оффтопик не разводить...

Георгий

Dmitry, ты ещё здесь сидишь?

Понедельник Октябрь 04 2004 17:19, Dmitry Ponyatov wrote to Alex Kouznetsov:

AK>> Уточни, что такое байт-код в твоем понимании? DP> код, выполняемый программой-интерпретатором, эмулирующей реально DP> существующую аппаратуру или некую виртуальную машину (в качестве DP> примера -- JavaVM, движок ОС Inferno, РАПС) DP> дригими словами -- это машинный код виртуальной машины

Интересное определение ;)

AK>> Hапример, код для 51-го проца - это байт-код? DP> это машинный код для 51 проца, хотя можно рассматривать его и как DP> байт-код, если _выполнять его программно_ в ВМ

Так как же его рассматривать? Откуда несчастный код узнает, _кто_ его выполняет - "настоящий" процессор или ВМ?

"...ясно, что наше определение следует считать в высшей степени экстремистским, и надо быть фанатиком, чтобы отстаивать такую крайнюю позицию." (c) К.Дарроу

Разъясняю. По твоему определению "байт-кодом" является _любой_ код, лишь бы его подсунули виртуальной машине. Hикуда не денется, будет выполнять "его" программно ;-)

Георгий

"Alex Kouznetsov" snipped-for-privacy@senet.com.au> сообщил/сообщила в новостях следующее: news:cjqsnj$q2i$ snipped-for-privacy@www.fido-online.com...

что

лично

Вот и я про тоже. Пишу, Леш, тебе несколько раз. А меня spammerом обзывают. Hаверное, у меня байт-код какой нибудь несвежий. Леш, напиши как-нибудь. Игорь

Mon Oct 04 2004 17:19, Dmitry Ponyatov wrote to Alex Kouznetsov:

DP>> кто применял сабж в своих железках ? в чем +/- ?

AK>> Уточни, что такое байт-код в твоем понимании?

DP> код, выполняемый программой-интерпретатором, эмулирующей реально DP> существующую аппаратуру или некую виртуальную машину (в качестве примера DP> -- JavaVM, движок ОС Inferno, РАПС)

DP> дригими словами -- это машинный код виртуальной машины

AK>> Hапример, код для 51-го проца - это байт-код?

DP> это машинный код для 51 проца, хотя можно рассматривать его и как DP> байт-код, если _выполнять его программно_ в ВМ

Когда-то давно код 51-го я исполнял в виртуальной машине на РС. Когда делал симулятор 51-го. Никаких +/- в нем не было ;-)

ВМ для языка IL (МЭК-1131) делал на ПИКе. Эта ВМ представляет собой моторолоподобный 16-битный проц с некоторыми заморочками, в частности, у него в системе команд есть скобочные операции. Плюсов не припомню, а минусов много, например - "рыхлый" байт-код (у меня для упрощения одна команда кодировалась

4-мя байтами), неудобная система команд, и т.п.

Недавно виртуальную форт-машину писал на С, ставил на MSP430. Получилось неплохо, намного приятнее чем предыдущий вариант. Однако у меня есть подозрение, что если бы я не связывался с С, а взял бы настоящий форт (Swift-X), то получил бы более компактную и более мощную машину без затрат времени на разработку. К сожалению, начальство требовало прогу именно на С, так что чистый форт не катил.

Пока, Алексей

Join the Discussion

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

Didn't find your answer?

Ask the community — no account required