AVR GCC&IAR

Hi George,

Sat Jan 17 2004 05:45, George Shepelev wrote to Ilia Tarasov:

GS>>> И переносимость - зверская! Практически всё точно задано, GS>>> не то, что в си - постоянные "определяется реализацией". IT>> В Форте такого тоже хватает,

GS> Очень мало. Разница с C - на порядки.

Это если не учитывать установку самой виртуальной Форт-машины (FVM) на каждую платформу/проц. Разница с С в том, что С-компиляторы кто-то уже сделал, и их можно как-то добыть, а FVM скорей всего придется делать вручную. Конечно, можно сослаться на семейство SwiftX, которое покрывает многие процы, однако хоть и многие - но не все.

IT>> Стековая машина определена действительно очень строго.

GS> Что и даёт истинную переносимость. Вычисления на форте GS> будут идентичны (при аккуратной реализации форт-машины, GS> что несложно - её размер всего несколько килобайт кода) GS> на любом "железе". От i51 до суперкомпьютера.

А разная разрядность железа, как с этим быть? Если делать FVM 32-битной, то получишь оверхед и тормоза на 8-битной платформе. Если делать FVM с разрядностью, соответствующей разрядности железа (скажем, использовать два варианта FVM, 16- и 32-битную) - то полной совместимости не будет, полезут те же грабли что и в С.

GS> Ещё одна приятная особенность форт-машины, с которой я тоже GS> игрался - на процессорах с "сегментированной" памятью (к примеру GS> 8086, или любом с Гарвардской архитектурой) легко реализовать GS> аппаратный "защищённый режим" каждой из исполняющихся форт-программ. GS> Ядро работает в своём сегменте (или памяти кода), а шитый код GS> и данные каждой из задач - в своих индивидуальных сегментах. GS> Каждая программа при исполнении может "портить" только себя, GS> но не ядро или другие программы. GS> Мало ли, может это кому-то пригодится для эхотажной задачи GS> с повышенными требованиями к надёжности? ;)

GS>>> Hо читать исходники довольно грустно и с проверками правильности GS>>> напряжёнка. GS>>> Остаётся только использовать как инструмент для создания GS>>> высокоуровневых машинонезависимых языков программирования.

Что, в сущности, и сделано в .NET и Java. Если бы не их монстроидальность, то прекрасно бы подошли для эхотага. Мне многоязыковый .NET вельми нравится ;-) Эх, если бы можно было выкинуть из них сборку мусора и другие навороты...

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

Reply to
Alex Kouznetsov
Loading thread data ...
Reply to
Alexander Derazhne
Reply to
George Shepelev
Reply to
George Shepelev
Reply to
George Shepelev
Reply to
George Shepelev
Reply to
George Shepelev
Reply to
George Shepelev
Reply to
George Shepelev
Reply to
George Shepelev
Reply to
George Shepelev
Reply to
George Shepelev
Reply to
George Shepelev
Reply to
George Shepelev
Reply to
Dimmy Timchenko
Reply to
Dimmy Timchenko
Reply to
Dimmy Timchenko

Hi George,

Sun Jan 18 2004 06:44, George Shepelev wrote to Alex Kouznetsov:

GS> Hаписать FVM - задачка максимум на пару дней. Проверено. GS> К примеру, для упомянутого проекта объём ядра в кодах x86 GS> получился в пару килобайт...

Написать-то можно быстро, да вылизывать потом приходится долго. Например, конкретная проблема: какие слова должны входить в состав ядра? Вот и приходится по месту и под задачу перетряхивать ядро снова и снова... Не знаю, может, у тебя таких сомнений не возникает, меня же при написании FVM они мучают постоянно: сделаешь маленькое ядро - потеряешь скорость, и наоборот.

AK>> Разница с С в том, что С-компиляторы кто-то уже сделал, GS> Hо кто-то же их делал!!! Hе от сырости они завелись ;)

Зато мне теперь можно взять готовые и сэкономить свое время.

GS>>>>> Hо читать исходники довольно грустно и с проверками GS>>>>> правильности напряжёнка. Остаётся только использовать как GS>>>>> инструмент для создания высокоуровневых машинонезависимых GS>>>>> языков программирования. AK>> Что, в сущности, и сделано в .NET и Java. Если бы не их AK>> монстроидальность,

GS> Вот! Это ключевая проблема!

AK>> то прекрасно бы подошли для эхотага. Мне многоязыковый .NET вельми AK>> нравится ;-) Эх, если бы можно было выкинуть из них сборку мусора и AK>> другие навороты...

GS> А он после этого работать-то будет? Сомневаюсь...

Мне пока знаний не хватает чтобы это оценить. Пробовал читать CLI, но там просто черт ногу сломит. Чтоб найти ответ на этот вопрос, пока что не вижу другого способа кроме как поставить .NET, научиться ею хоть как-то пользоваться, а потом попробовать расхакать IL-коды, генерируемые при компиляции простых программ.

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

Reply to
Alex Kouznetsov

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.