_Loader_

Loading thread data ...

Fri Oct 03 2003 00:05, Oleksandr Redchuk wrote to "Alex Kouznetsov":

OR> А вот то, что форт-программы быстрее ассемблерных OR> -- я лично слышу со времён 80386. И сейчас -- зачастую без уточнения OR> процессора. OR> Я ещё не слышал, что после хорошего С-компилятора программа для OR> AVR|MCS51|PIC|MSP430 работает быстрее, чем написанная на ассемблере. OR> Про форт такое слышал. Впрочем, заодно с тем, что "у него ядро 17 байт, OR> а вот у С!!!!"

ЗЫ: в предыдущем постинге забыл упомянуть... Насколько Окамл способен (надеюсь) создавать код, написать который просто не придет в голову обычному эмбедеру, настолько же и Форт-система организована в определенном смысле необычно и во многих смыслах эффективно. Поэтому человеку, незнакомому с принципами работы Форта, тоже в голову не придет писать на ассемблере так, как написан Форт. Хотя вообще говоря его, казалось бы, никто в этом не ограничивает. Если же, паче чаяния, он знает как устроен Форт, то, имхо, вряд ли будет относится к нему с той фанатической ненавистью, которую некоторые тут выказывают ;-)

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

Reply to
Alex Kouznetsov
Reply to
Lev Serebryakov

Hi Yuriy K,

Sat Oct 04 2003 11:25, Yuriy K wrote to Alex Kouznetsov:

YK>>> Именно! Программа должна быть сопровождаемой. Причем через два года и YK>>> другим программистом.

AK>> Hе надо смешивать разные понятия в одну кучу. До сих пор в треде шла AK>> речь об эффективности работы интерпретатора.

YK> Hе надо смешивать разные понятия в одну кучу. _Интерпретатор_ отличается YK> тем, что сам исполняемый код не исполняется. А начался тред с того, что ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ :-) Определение, что такое интерпретатор, знаешь? Похоже, не знаешь... :( Определение FOLDOC: INTERPRETER - A program which executes other programs.

YK> интерпретатор лучше защищен от зависаний программы.

Ессно, защищен.

AK>> Было показано, что т.н. AK>> "внутренний интерпретатор", используемый Фортом (т.е. виртуальный AK>> Форт-процессор, или FVM, или стековый процессор), обладает интересными AK>> свойствами. В частности, один из способов его реализации - AK>> подпрограммный шитый код - не уступает по производительности коду, AK>> сгенерированному (неплохим) компилятором Си, или написанному не особо AK>> старательным программистом на ассемблере.

YK> Это уже не интерпретатор, а компилятор. См. выше.

Не употребляй красивых слов, смысл которых тебе непонятен ;-) Определение, что такое компилятор, знаешь? Тоже, похоже, не знаешь... Подпрограммный шитый код _ничего_не_компилирует_. Читай А.Ахо, Р.Сети, Д.Ульман, "Компиляторы. Принципы, технологии, инструменты", изд.Вильямс 2001: Компилятор - это программа, которая считывает текст программы, написанной на одном языке - исходном, и транслирует (переводит) его в эквивалентный текст на другом языке - целевом.

YK> 2) Чистый форт-_интерпретатор_, как и любой другой интерпретатор будет YK> гораздо медленнее (приличного) _компилятора_ с любого языка.

Тебе внятно показали, что интерпретатор подпрограммного шитого кода работает не медленнее, чем нативная программа, скомпилированная VC7. И долго разжевывали, объясняя, за счет чего это происходит.

YK> Остается (с твоих слов) использовать приличный язык для написания YK> программ, затем компилятор в форт и подпрограммный шитый код, но тогда

На языке Форт писать, или на этот язык транслировать - тебя никто не заставляет. Да и транслятор С-Форт ты вряд ли найдешь.

YK> теряется та самая возможность запретить написание завешиваемых программ, YK> с которой все и началось.

Если в интерпретаторе нет операторов, которые позволят "завесить" программу, то завесить ее нельзя. Для начала, нет операторов, которые запрещают прерывание. В том самом подпрограммном шитом коде (иными словами - в библиотеке, которая _уже_ находится в памяти, так что ее ее ни компилировать, ни грузить больше не надо).

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

Reply to
Alex Kouznetsov

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

Второе "стилистическое" возражение - нативный код на форт машине будет как минимум равен по скорости форт-программе (а не быстрее ее). Аркадий

Reply to
Arcady Schekochikhin

ВСЕ персоналки работающие под свежим FreeBSD имеют внутри себя форт-часть - а именно - вторичный загрузчик.

Аркадий

Reply to
Arcady Schekochikhin

ВСЕ без исключения языки в руках неумелых программистов обладают этим свойством в той или иной мере. Программы на Вижуальном Бейсике ИМХО гораздо менее читабельны чем на ФОРТе - это просто синтаксический шум.

Нет конечно. Если говорить ПО-РУССКИ, то скорость "интерпретатора" к скорости "компилятора" не имеет никакого отношения. Если интерпретировать твое высказывание так, как ты сам надеялся оно будет проинтерпретировано - то есть, "скорость выполнения программ интерпретатором ФОРТа медленнее скорости выполнения программ откомпилированных компиляторами с другого языка", то это тоже не правда. Все зависит от того, во что именно производится компиляция. "Компилирование" не подразумевает получение на выходе двоичной объектной программы на машинном языке! Не даром Орлов говорил все время о НАТИВНОМ КОДЕ. И естественно скорость интерпретирования не будет "гораздо" медленнее - она будет всего лишь "несколько" медленнее.

Учите русскава языка, оне рулез!

Аркадий

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

Reply to
Arcady Schekochikhin
3-Oct-03 22:41 Dima Orlov wrote to Artem Kamburov:

DO> Вообще-то тут обсуждаются преимущественно микроконтролеры, а не персоналки. DO> Для DO> персоналок писать на форте в голову никому не приходит слава богу. Ну почему. Как минимум Eserv и Edial или как там его. Впрочем, их автор не замечен мной в фоРРРРРРРРРРРРРРРРРтерстве в дургих эхах.

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

wbr,

Reply to
Oleksandr Redchuk

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.