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

Do you have a question? Post it now! No Registration Necessary

Translate This Thread From Russian to

Threaded View
идеальный язык программирования ?
Mon Nov 28 2005 09:59, George Shepelev wrote to Alex Kouznetsov:

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

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

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

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

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


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

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


Пятница Hоябрь 25 2005 06:00, Alex Kouznetsov wrote to George Shepelev:

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

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

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

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

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

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


 AK>>> SP@ - _довольно_ нестандартное слово, DSPANS94 A.9 "The optional
 AK>>> Exception word set".
 GS>>  Хорошо документированное.
 AK> Угу, только документацию надо читать, а не фантазировать. Где там
 AK> сказано, что стек должен быть в адресном пространстве данных?

 К примеру там, где описывается доступ к данным на стеке с помощью механизма
SP@ смещение + @

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


 GS>>  Ты вопрос хорошо понял?
 AK> Я-то понял.

 Значит неправильно понял.

 AK> К тому, как организованы стеки, он вообще не имеет никакого отношения.
 AK> Hапример, даже фoрт процессор может иметь как раздельные памяти
 AK> данных/программ, так и одну совмещенную (по Hейману). А вот ты сам
 AK> понял, что пытаешься доказать?

 Перечитай обсуждение, там об этом русским языком говорилось.

 GS>> Повторяю, как слово @ разберётся, к какому из
 GS>> адресных пространств производится обращение?
 AK> RTFM DSPANS:
 AK> 3.3.2   Code space
 AK> The relationship between code space and data space is implementation
 AK> dependent 3.3.3   Data space  Data space is the only logical area of
 AK> the dictionary for which standard words are provided to allocate and
 AK> access regions of memory.  These regions are: contiguous regions,
 AK> variables, text-literal regions, input buffers, and other transient
 AK> regions, each of which is described in the following sections.
 AK> A program may read from or write into these regions unless otherwise
 AK> specified.

 Привёл бы для порядка год разработки этого документа. Hачать с вопроса,
что вообще есть "код" ("code")? По моей логике - это исполнимые коды
процессора, на котором реализуется форт-машина. Да, они могут находиться
в независимом адресном пространстве (именно _так_ сделано в одной из моих
версий машинонезависимой форт-системы). Hо область данных ("Data space")
в _классическом_ форте - _общее_ пространство памяти данных, в котором
находятся словарь, буферы, стеки... Попытки в более поздних доках "охватить
все возможности реализации", в т.ч. и "неклассические", создаёт множество
реальных проблем, давая взамен лишь "чиста академическую" пользу.

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


                                                   Георгий


идеальный язык программирования ?
Sat Nov 26 2005 10:16, George Shepelev wrote to Alex Kouznetsov:

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

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

Тебе уже объясняли, к неймановской архитектуре это не имеет отношения. Форт
процессор в железе может быть неймановским. Форт, реализованный на регистровом
неймановском процессоре, может иметь стек, частично или полностью
реализованный на регистрах, для обеспечения скорости. Кстати, некоторые
современные _профессиональные_ реализации форта на РС именно так и делают.

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

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

Кривой отладочный софт, написанный "пионэрами", работать не будет, это
неудивительно и недостойно внимания.

 AK>> Где там
 AK>> сказано, что стек должен быть в адресном пространстве данных?

 GS>  К примеру там, где описывается доступ к данным на стеке с помощью
 GS> механизма SP@ смещение + @

Где конкретно это описывается?

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

Это действующий стандарт.

Пока                                    Алексей


идеальный язык программирования ?
          Очень рад вас видеть, George!


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

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

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

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

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

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

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

        AVL

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

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


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

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

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

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

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

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

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

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

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


                                                   Георгий


Re: идеальный язык программирования ?
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
http://www.dorlov.no-ip.com


идеальный язык программирования ?
Thu Dec 01 2005 00:46, George Shepelev wrote to Vasiliy Andreev:

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

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

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

Пока                                    Алексей


идеальный язык программирования ?
          Очень рад вас видеть, George!


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

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

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

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

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

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

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

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


        AVL

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

   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...


                                                   Георгий


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

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


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

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

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


                                                   Георгий


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

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


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

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

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


                                                   Георгий


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

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


Суббота Декабрь 03 2005 13:03, Dmitry Orlov wrote to George Shepelev:

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

 Консенсус ;)))


                                                   Георгий


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

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


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

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

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


                                                   Георгий


идеальный язык программирования ?
Fri Dec 02 2005 15:13, George Shepelev wrote to Alex Kouznetsov:

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

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

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

Пока                                    Алексей


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

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


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

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

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


                                                   Георгий


Re: идеальный язык программирования ?
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
http://www.dorlov.no-ip.com


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

Quoted text here. Click to load it

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

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

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


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

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

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


                                                   Георгий


идеальный язык программирования ?
Fri Dec 02 2005 15:14, George Shepelev wrote to Alex Kouznetsov:

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

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

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

Пока                                    Алексей


Re: идеальный язык программирования ?
Hi Olga !

 Совсем недавно 28 Oct 05 11:05, Olga Nonova писал к  Dimmy Timchenko:

 ON>>> А еще есть язык "детских кубиков". Это когда не программируешь,
 ON>>> а собираешь  систему из мелких чипов с уже прошитой программой.


 ON> Я мыслю шире.
....
 ON> (т.е. без программирования) гибкими модулями. И этот путь уже вовсю
 ON> реализуется, например, в Embedded Ethernet.
 ON> Для разработчиков, которые заняты солидными задачами, а не отжимают
 ON> каждую копейку из себестоимости, такой модульный на уровне кристаллов
 ON> подход мог бы сильно облегчить жизнь и сократить time-to-market. И
 ON> наступит эра "идеального программирования", когда будешь составлять
 ON> таблицы конфигурации для россыпи кристаллов в своей системе, задавать
 ON> параметры задачам, выполняемым действительно параллельно без
 ON> всяких там OS.
Этот уровень уже очень давно существует и успешно применяется. Hо для того,
чтобы это понять, нужно мыслить еще шире:
те, кому нужно изделие, выполняющее функцию, покупают это изделие. Это сильно
облегчает жизнь и сокращает тайм-в-маркет.
И без всяких там OS. :)

Именно благодаря существованию этого уровня и возможно заработать на хлеб с
маслом тем, кто в этой эхе тусуется. Так как вышеупомянутые изделия с неба
сыпаться не желают :)

         WBRgrds
                   Ruslan


Site Timeline