_Loader_

Reply to
Lev Serebryakov
Loading thread data ...
Reply to
Anatoly Mashanov
Reply to
Artem Kamburov
Reply to
Artem Kamburov
Reply to
Artem Kamburov

Sun Oct 05 2003 14:56, Yuriy K wrote to Alex Kouznetsov:

YK>>> Да уж... Каким образом написанные тобой программы будут поддерживаться YK>>> после твоего ухода с работы (по любой причине)?

AK>> Точно таким же образом, как и любые другие.

YK> И будут продолжать писать трансляторы. YK> Мои соболезнования твоим работодателям, когда они это поймут на YK> собственной шкуре. ... YK> Я _компиляторы_ не писал, не пишу и не собираюсь писать. Для этого есть YK> другие люди в других конторах.

Ты трансляторов боишься потому, что не пока умеешь из писать? Не робей, почитай книжки, и ты поймешь, что транслятор, в сущности, ничем не отличается от любой другой программы ;-)

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

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

AK>>>>>> Если в интерпретаторе нет операторов, которые позволят "завесить" AK>>>>>> программу, то завесить ее нельзя.

YK>>> Правда такой интерпретатор будет _очень_ медленным...

AK>> Представь, перед тобой два почти идентичных интерпретатора. Hо в первом AK>> есть операторы обслуживания WDT и запрещения прерываний, а во втором - AK>> нету. Ты будешь продолжать утверждать, что второй "будет _очень_ AK>> медленным"?

YK> Ты считаешь, что отсутсвие запрешения прерываний и работы с WDT YK> достаточно для написания незавешиваемых программ? YK> Ты крупно ошибаешься.

Ты не ответил на вопрос, почему второй интерпретатор будет медленным. Или ты признаешь, что ляпнул глупость не подумав?

Тогда второй вопрос, раз ты считаешь что я ошибаюсь: как ты сможешь "завесить" своим загруженным скриптом мою систему, где в интерпретаторе нет операторов обслуживания WDT? "Завешиванием" будет считаться заклинивание системы в таком состоянии, когда я не смогу "вычистить" твой "плохой" скрипт и загрузить свой "хороший" без передергивания питания или нажимания на ресет.

YK> Если старые слова не обеспечивают доступ к железу? См. выше.

Старые обеспечивают. Внутри слова (функции) я, например, могу временно запретить прерывание, но я обязан снять этот запрет при выходе из слова.

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

Reply to
Alex Kouznetsov

Sat Oct 04 2003 19:40, Dima Orlov wrote to Ilia Tarasov:

DO> Как я и говорю, единичные вещи.

И затраты на них были не менее единичные.

DO> Мои соболезнования.

Передавай кому-нибудь еще... :))) (Видимо, ты уже уперся...)

DO> Бог в помощь. Вот чего я не боюсь совершенно, так это конкуренции со DO> стороны фортеров.

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

DO> Хуже. Одна обратная польская запись чего стоит.

И чего она стоит? А префиксная запись чего стоит? Т.е. обязательно 2+2, но не

2 2 + и упаси боже не add(2,2)? А препроцессоры и лексические анализаторы применить запрещает религия? А почитать "Язык Форт и его реализации" Баранова, где инфиксная запись выражений вводится средствами языка на полутора страницах? Другое дело, что постфикс - такая мелочь, что при наличии привычки внимания на него уже не обращаешь.

DO> Что ему вообще в embedded системе делать?

Ну вот была система, в которой входной поток интерпретатора грузился прямо через COM. Соответственно, шли через него свертки слов Форта из библиотеки, и не надо было придумывать какой-то дополнительный протокол обмена между хостом и embedded-системой. Хотя обычно код генерился целевым компилятором, и ничего лишнего там не было. Получалось нечто похожее на макроассемблер, только удобства побольше.

DO> Кстати ассемблер не обязательно дает эту однозначность.

Да, я в курсе, но не для всех процессоров. В 80x86 есть, например, сокращенные однобайтовые варианты команд, работающих с AX (тогда как для других регистров команды двухбайтовые). Имеется в виду это? Тем не менее ассемблеры обычно выбирают именно сокращенные варианты, так что в подавляющем большинстве случаев можно говорить именно о взаимной однозначности. (А если ее нет, то прощай дизассемблирование).

DO> Кого не будет делать? То, что на форте можно написать ассемблер я в DO> курсе, вопрос только на кой это надо.

Ну если у тебя есть, то все в порядке. Я же тебя не перетягиваю на Форт, просто говорю, что мы не пользуемся ассемблерами, предпочитая работать с унифицированным кросс-ассемблером, написанным на Форте для PC и обрабатывающим как ассемблер, так и Форт для целевых процессоров. У тебя есть существенные возражения?

DO> Однозначно первый вариант (разумеется учитывая бессмысленную DO> избыточность):

DO> mov ax, myvar DO> add ax, another_var

Ну тут я сымитировал стиль 80x86, хотя на самом деле не всегда можно делать так, как ты написал.

DO> Тут понятно что делает программа, в отличие от совершенно бессмысленной DO> строки

DO> get_myvar get_another_var +

А Add(myvar, another_var) тоже бессмысленно?

DO> Заодно понятно почему программа на форте оказывается сравнимой с DO> ассемблерной.

Если есть команда прямой загрузки регистра из памяти, то она и будет использована... о чем речь?

DO> Hет, а зачам писать русский текст на форте?

Например, для повышения читабельности.

DO> Можно, а вот на форте читаемую - врядли. Мне не попадалось.

Это еще ни о чем не говорит. Мне - попадалось, и нечитаемость по моему опыту не является главным контраргументом.

DO> Вот именно. Язык, который ничего не запрещает провоцирует писать так, что DO> кроме автора это никто и никогда не поймет.

Смотря какой автор и какие цели он перед собой ставит. А что, Си чрезмерно читаемый?

DO> Читаемо, но что делается непонятно совершенно. От того, что оно записано DO> кирилицей понятней не становится. Hаписана какая-то абракадабра на вроде

DO> - Петька, прибор! DO> - 78! DO> - Что 78?

Видимо, ты и не потрудился понять и сравнить с возможными альтернативами в других языках. Иначе как ерничанием я твою реакцию назвать не могу.

Reply to
Ilia Tarasov

Sat Oct 04 2003 23:54, Dima Orlov wrote to Ilia Tarasov:

DO> Да потому что дерьмо он редкой пробы.

Ругаемси? :)

DO> Конечно, на форте все гораздо дороже.

Абсолютно голословное утверждение, тем более что, по собственному признанию, ты Форт не используешь. Давай раскладку на разработку компилятора Си, и сравним с разработкой Форта для той же платформы.

DO> Потому что даром не нужны. Впрочем бесплатных трансляторов с С тоже DO> хватает. Hо если для тебя цена компилятора - это статья экономии, всерьез DO> говорить о разрабатываемых проектах просто нечего. Средний компилятор для DO> embedded стоит до $1000, зарплата за неделю-полторы, о чем тут вообще DO> говорить?

А я и говорил, кстати, о небольших коллективах и относительно небольших проектах исследовательского характера. Я лучше эти $1000 в карман себе положу.

DO> Конечно бесценен. Цена ему 0.

Опять ругаешься, причем абсолютно безосновательно.

DO> А на ассемблере их никак не написать?

А ты так и уперся в то, что если Форт - то непременно стековая машина со всеми сопутствующими? У меня постфиксный ассемблер, вот и все... Форт в целевую машину либо делается, либо нет, смотря по задаче. И поправить три строчки в файле с кодами команд быстрее, чем искать, ставить и разбираться с кросс-компилятором.

DO> Главным образом в воображении.

А вот это - просто фактически неверно. Есть такое явление в computer science, есть публикации, есть ANS (последний вроде 93?), есть трансляторы и ПО. Если _тебе_ не надо - не создавай чрезмерный ажиотаж, плиз, вдруг понадобится кому-то еще? Или хочется просто пофлеймить в стиле "а я, а я..."?

Reply to
Ilia Tarasov

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.