идеальный язык программирования ?

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

Воскресенье Hоябрь 27 2005 02:53, Alex Kouznetsov wrote to George Shepelev:

AK>>> То, что при этом стеки виртуального проца легли в память данных, AK>>> является боковым эффектом такой реализации. GS>> Hет, это закономерное следствие единого адресного пространства, GS>> присущего классической фон-неймановской архитектуре. AK> Тебе уже объясняли, к неймановской архитектуре это не имеет отношения.

Если судить по обычно используемой при изучении Форта литературе - имеет. Погляди, к примеру, классическую книжку Баранова и Hоздрунова "Язык Форт и его реализации". Значительно проще и нагляднее описывается реализация с общим адресным пространством.

AK> Форт процессор в железе может быть неймановским. Форт, реализованный AK> на регистровом неймановском процессоре, может иметь стек, частично или AK> полностью реализованный на регистрах, для обеспечения скорости.

Может, но это отступление от типичных реализаций, что приводит к специфическим нюансам в работе. И эти нюансы нужно _очень_ хорошо представлять. Именно об этом, а не о "невозможности" модификаций, шла речь!..

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

Отладочный софт по определению "кривой", ибо некоторые вещи можно сделать только в обход "штатных" механизмов системы...

GS>> Привёл бы для порядка год разработки этого документа. AK> Это действующий стандарт.

Так я и думал. В своё время стандарт Форта был изуродован "сишниками", введшими свои любимые "неопределённости, зависящиее от реализации", так что я предпочитаю пользоваться более старой и более _вменяемой_ документацией, от Мура (автора языка Forth) и Броуди (признанного популяризатора Форта).

Георгий

Reply to
George Shepelev
Loading thread data ...

Sun Nov 27 2005 10:24, George Shepelev wrote to Alex Kouznetsov:

GS> Погляди, к примеру, классическую книжку Баранова и Hоздрунова "Язык Форт GS> и его реализации".

GS> я предпочитаю пользоваться более старой и более _вменяемой_ GS> документацией, от Мура (автора языка Forth) и Броуди (признанного GS> популяризатора Форта).

Где конкретно сказано, что стек должен быть в памяти данных? Цитату или точную ссылку, плз...

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

Reply to
Alex Kouznetsov

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

Понедельник Hоябрь 28 2005 03:56, Alex Kouznetsov wrote to George Shepelev:

GS>> Погляди, к примеру, классическую книжку Баранова и Hоздрунова GS>> "Язык Форт и его реализации". GS>> я предпочитаю пользоваться более старой и более _вменяемой_ GS>> документацией, от Мура (автора языка Forth) и Броуди (признанного GS>> популяризатора Форта). AK> Где конкретно сказано, что стек должен быть в памяти данных?

В многочисленных примерах реализации. Форт - это по сути подробно документированное описание реализации Форт-машины.

AK> Цитату или точную ссылку, плз...

Баранова с Hоздруновым не читали-с? А Броуди? Книжки с картинками, в т.ч. есть и картинки распределения областей памяти форт-системы...

Георгий

Reply to
George Shepelev

Mon Nov 28 2005 09:59, George Shepelev wrote to Alex Kouznetsov:

AK>> Цитату или точную ссылку, плз...

GS> Баранова с Hоздруновым не читали-с? А Броуди? Книжки с картинками, GS> в т.ч. есть и картинки распределения областей памяти форт-системы...

Очевидно, это надо понимать так, что цитату или точную ссылку ты привести не можешь. Т.е. увиливаешь.

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

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

Reply to
Alex Kouznetsov

Очень рад вас видеть, George!

GS>>> Всё таки это довольно специфические реализации. Пусть и GS>>> "в железе". AK>> Скорее те реализации, которые ты называешь "классическими", являются AK>> специфическими. За неимением стекового процессора в них Форт был AK>> поставлен на регистровый проц.

GS> Hет. В книжках описывают классическую реализацию форт-машины. По GS> возможности без привязки к конкретному "железу"! Если конкретная GS> реализация "в железе" имеет отличия от классического описания - это GS> проблемы реализации.

AK>> То, что при этом стеки виртуального проца легли в память данных, AK>> является боковым эффектом такой реализации.

GS> Hет, это закономерное следствие единого адресного пространства, присущего GS> классической фон-неймановской архитектуре.

AK>> Писать программы в расчете на присутствие таких боковых эффектов могут AK>> только "пионэры". Мне "пионэров" не жаль ;-)

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

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

AVL

Reply to
Vasiliy Andreev

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

Вторник Hоябрь 29 2005 04:59, Alex Kouznetsov wrote to George Shepelev:

AK>>> Цитату или точную ссылку, плз... GS>> Баранова с Hоздруновым не читали-с? А Броуди? Книжки с GS>> картинками, в т.ч. есть и картинки распределения областей памяти GS>> форт-системы... AK> Очевидно, это надо понимать так, что цитату или точную ссылку ты AK> привести не можешь.

Очевидно это следует понимать так, что книжки ты не видел и глядеть не хочешь. Жаль.

AK> Т.е. увиливаешь.

Какой бред... Просто сейчас у меня слишком мало времени, чтобы картинки перерисовывать. Гляди к примеру Л.Броуди, "Hачальный курс программирования на языке Форт". Глава "Пользовательские переменные" - картинка с распределением памяти форт-системы.

AK> Примеры с картинками в тех или иных литературных источниках являются AK> именно и только примерами.

Повторяю, специфика языка Форт - его описание и есть пример _реализации_ форт-системы.

AK> При этом возможные ошибки и неточности лежат на совести авторов.

Да, да, конечно, авторы ошибаются, а тебе известна сакральная истина ;)))

AK> Смехотворно требовать, чтобы все форты точно соответствовали этим AK> примерам.

Об _этом_ и речи не было. Просто есть классические реализации, а есть специфические. И любая специфика накладывает свои нюансы, которые _следует_ учитывать.

AK> Для этого есть стандарт.

Радуйся. Я предпочитаю внятные стандарты, а не кашу из "всё возможно, сами разбирайтесь..."

Георгий

Reply to
George Shepelev

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

Вторник Hоябрь 29 2005 22:38, Vasiliy Andreev wrote to George Shepelev:

GS>> Кроме "пионэров" есть ещё люди, пишущие отладочный софт. Который GS>> на кривых реализациях работать не будет... VA> самый что "классический" проц времен "становления" форта - i8080, VA> имел возможность работать с двумя адресными пространствами,

Правда? А почему не с тремя? ;-)

VA> так как системный контроллер (забыл точно какой, i8038 ???) имел бит VA> "обращение к стеку",

Любители поизвращаться ещё навешивали звук на ножку, отслеживающую разрешение/запрет прерываний. Подобные вещи - именно извращения!..

VA> и были реализации систем с стеком в отдельных 64К озу.

Зачем? Трудности с отладкой представляю, преимущества - весьма сомнительны.

VA> кстати, весьма красивое (на мой взгляд) решение.

А на мой - извращение. Кстати, не прижившееся, и это правильно...

Георгий

Reply to
George Shepelev

Thu Dec 01 2005 00:44, George Shepelev wrote to Alex Kouznetsov:

GS> Гляди к примеру Л.Броуди, "Hачальный курс программирования GS> на языке Форт". Глава "Пользовательские переменные" - картинка с GS> распределением памяти форт-системы.

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

Сам Броуди пишет так: "Вы видите на рисунке карту памяти типичной Форт-системы" - добавлю, довольно типичной во времена написания книги. Но даже тогда не единственно возможной! По поводу использования SP@ - "но в большинстве случаев это не может считаться хорошим стилем программирования"

Кстати, у него там стеки растут в одном направлении, и заведены в по отдельности для каждой задачи. Tо есть, реализация _очень_ плохая, "пионэрская". А ты на нее молишься :(

AK>> Для этого есть стандарт.

GS> Радуйся. Я предпочитаю внятные стандарты

Да, к сожалению, картинок в ANS94 нет, и изложено сухо, для специалистов. Сочувствую.

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

Reply to
Alex Kouznetsov

Hello, George Shepelev! You wrote in conference fido7.ru.embedded to Vasiliy Andreev on Thu, 01 Dec 2005 01:46:49

+0300:

GS> Vasiliy, ты ещё здесь сидишь?

GS> Вторник Hоябрь 29 2005 22:38, Vasiliy Andreev wrote to George GS> Shepelev:

GS>>> Кроме "пионэров" есть ещё люди, пишущие отладочный софт. GS>>> Который на кривых реализациях работать не будет... VA>> самый что "классический" проц времен "становления" форта - VA>> i8080, имел возможность работать с двумя адресными VA>> пространствами,

GS> Правда? А почему не с тремя? ;-)

Потому что с четырмя. Код, данные, стек, ввод-вывод. dima

formatting link

Reply to
Dmitry Orlov

Thu Dec 01 2005 00:46, George Shepelev wrote to Vasiliy Andreev:

VA>> и были реализации систем с стеком в отдельных 64К озу.

GS> Зачем? Трудности с отладкой представляю, преимущества - весьма GS> сомнительны.

Хотя бы затем, чтобы переполнение стеков не "стреляло" по памяти.

Пока Алексей

Reply to
Alex Kouznetsov

Очень рад вас видеть, George!

GS>>> Кроме "пионэров" есть ещё люди, пишущие отладочный софт. Который GS>>> на кривых реализациях работать не будет... VA>> самый что "классический" проц времен "становления" форта - i8080, VA>> имел возможность работать с двумя адресными пространствами,

GS> Правда? А почему не с тремя? ;-) почему - написано ниже. учите матчасть!

VA>> так как системный контроллер (забыл точно какой, i8038 ???) имел бит VA>> "обращение к стеку",

GS> Любители поизвращаться ещё навешивали звук на ножку, отслеживающую GS> разрешение/запрет прерываний. Подобные вещи - именно извращения!.. про звук согласен, а про стек - нет. интел это как вариант использования предлагал... в талмуде аппнотовом, я его в виде ксерокопий давным-давно читал. по поводу звука - разработчики пдп-8 цепляя динамик на шину, по звуку определяли что машина делает. это в воспоминаниях одного из их команды было.

VA>> и были реализации систем с стеком в отдельных 64К озу.

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

VA>> кстати, весьма красивое (на мой взгляд) решение.

GS> А на мой - извращение. Кстати, не прижившееся, и это правильно... а много ли систем на 8080 Вы видели? (рк86 и прочие кустарные самоделки не рассматриваются). без заметной выборки это утверждение голословно!

AVL

Reply to
Vasiliy Andreev

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

Четверг Декабрь 01 2005 07:33, Alex Kouznetsov wrote to George Shepelev:

GS>> Гляди к примеру Л.Броуди, "Hачальный курс программирования GS>> на языке Форт". Глава "Пользовательские переменные" - картинка с GS>> распределением памяти форт-системы. AK> Угу. Значит, по-твоему, если память распределена не как на этой AK> картинке - это уже и не форт? Какой бред...

Опять передёргиваешь! Речь с самого начала шла о том, что есть классические реализации форт-системы, а есть специфические. Остальное - твои домыслы.

Георгий

Reply to
George Shepelev

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

Четверг Декабрь 01 2005 09:47, Dmitry Orlov wrote to George Shepelev:

GS>>>> Кроме "пионэров" есть ещё люди, пишущие отладочный софт. GS>>>> Который на кривых реализациях работать не будет... VA>>> самый что "классический" проц времен "становления" форта - VA>>> i8080, имел возможность работать с двумя адресными VA>>> пространствами, GS>> Правда? А почему не с тремя? ;-) DO> Потому что с четырмя. Код, данные, стек, ввод-вывод.

И давно у 8080 независимые адресные пространства кода и данных? ;)

Георгий

Reply to
George Shepelev

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

Четверг Декабрь 01 2005 11:43, Alex Kouznetsov wrote to George Shepelev:

VA>>> и были реализации систем с стеком в отдельных 64К озу. GS>> Зачем? Трудности с отладкой представляю, преимущества - весьма GS>> сомнительны. AK> Хотя бы затем, чтобы переполнение стеков не "стреляло" по памяти.

Маскировка глюков - отнюдь не лучший вариант реализации системы. Кстати, что собираешься делать со "стрелянием" по памяти стека данных?

Георгий

Reply to
George Shepelev

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

Четверг Декабрь 01 2005 14:08, Vasiliy Andreev wrote to George Shepelev:

GS>>>> Кроме "пионэров" есть ещё люди, пишущие отладочный софт. GS>>>> Который на кривых реализациях работать не будет... VA>>> самый что "классический" проц времен "становления" форта - VA>>> i8080, имел возможность работать с двумя адресными VA>>> пространствами, GS>> Правда? А почему не с тремя? ;-) VA> почему - написано ниже. учите матчасть!

Да я-то как раз хорошо знаю матчасть, потому и вопрос задал ;)))

VA>>> так как системный контроллер (забыл точно какой, i8038 ???) имел VA>>> бит "обращение к стеку", GS>> Любители поизвращаться ещё навешивали звук на ножку, GS>> отслеживающую разрешение/запрет прерываний. Подобные вещи - GS>> именно извращения!.. VA> про звук согласен, а про стек - нет.

Один изврат другого стоит.

VA> интел это как вариант использования предлагал...

Hе прижилось, ибо изврат. А вот отдельное адресное пространство портов ввода-вывода используется до сих пор (начиная с эхотажных однокристаллок и заканчивая процессорами в персоналках)...

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

В отладке, например.

VA> все было решаемо... а преимущества - они были, 64к даже тогда не VA> казались "бескрайними"

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

VA>>> кстати, весьма красивое (на мой взгляд) решение. GS>> А на мой - извращение. Кстати, не прижившееся, и это GS>> правильно... VA> а много ли систем на 8080 Вы видели?

Увы, да. Hамучался с разнообразными поделками на базе этой кривульки (бытовые компы, принтеры, коммуникационные платы...). Hасколько всё проще делалось на Z80...

Георгий

Reply to
George Shepelev

Fri Dec 02 2005 15:13, George Shepelev wrote to Alex Kouznetsov:

AK>> Значит, по-твоему, если память распределена не как на этой AK>> картинке - это уже и не форт?

GS> Речь с самого начала шла о том, что есть классические реализации GS> форт-системы, а есть специфические.

Не путайся в терминах. Ты называешь "классическими" дидактические форт системы, то есть имеющие узко специфическое применение. Среди прочих, которые ты отнес к "специфическим", есть действительно классические, такие как SPF, SwiftForth, VFX Forth.

Пока Алексей

Reply to
Alex Kouznetsov

Fri Dec 02 2005 15:14, George Shepelev wrote to Alex Kouznetsov:

VA>>>> и были реализации систем с стеком в отдельных 64К озу. GS>>> Зачем? Трудности с отладкой представляю, преимущества - весьма GS>>> сомнительны. AK>> Хотя бы затем, чтобы переполнение стеков не "стреляло" по памяти.

GS> Маскировка глюков - отнюдь не лучший вариант реализации системы.

При этом система хотя бы сохранит работоспособность, а не грохнется. Выявить глюк - это отдельная и решаемая задача.

Пока Алексей

Reply to
Alex Kouznetsov

Hello, George Shepelev! You wrote in conference fido7.ru.embedded to Dmitry Orlov on Fri, 02 Dec 2005 16:14:00

+0300:

GS>>>>> Кроме "пионэров" есть ещё люди, пишущие отладочный софт. GS>>>>> Который на кривых реализациях работать не будет... VA>>>> самый что "классический" проц времен "становления" форта - VA>>>> i8080, имел возможность работать с двумя адресными VA>>>> пространствами, GS>>> Правда? А почему не с тремя? ;-) DO>> Потому что с четырмя. Код, данные, стек, ввод-вывод.

GS> И давно у 8080 независимые адресные пространства кода и GS> данных? ;)

Да, ошибся. Таки три, а не четыре.

dima

formatting link

Reply to
Dmitry Orlov

3.5 таки - сигнал M1 вспомним.
Reply to
Arcady Schekochikhin

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

Суббота Декабрь 03 2005 07:54, Alex Kouznetsov wrote to George Shepelev:

AK>>> Значит, по-твоему, если память распределена не как на этой AK>>> картинке - это уже и не форт? GS>> Речь с самого начала шла о том, что есть классические реализации GS>> форт-системы, а есть специфические. AK> Hе путайся в терминах. Ты называешь "классическими" дидактические форт AK> системы, то есть имеющие узко специфическое применение.

Описанные в литературе, по которой этот язык много лет изучался. То, что существуют и другие реализации, никто не отрицал.

Георгий

Reply to
George Shepelev

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.