Forth и другие саморасширяющиеся системы программирования Locations of visitors to this page
Текущее время: Ср апр 24, 2024 06:48

...
Google Search
Forth-FAQ Spy Grafic

Часовой пояс: UTC + 3 часа [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 133 ]  На страницу Пред.  1, 2, 3, 4, 5, 6, 7 ... 9  След.
Автор Сообщение
 Заголовок сообщения:
СообщениеДобавлено: Ср мар 03, 2010 22:48 
Не в сети
Аватара пользователя

Зарегистрирован: Чт июн 25, 2009 11:12
Сообщения: 412
Благодарил (а): 41 раз.
Поблагодарили: 8 раз.
Если уж и оставлять BASE, то надо оговорить, что LOAD ставит DECIMAL перед загрузкой,
а после восстанавливает предыдущую базу. И такое поведение должно быть обязательным для всех
подобных слов. И должно сохранятся при бросании исключений.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Ср мар 03, 2010 23:24 
Не в сети
Аватара пользователя

Зарегистрирован: Пт дек 26, 2008 21:16
Сообщения: 412
Откуда: Великий Новгород
Благодарил (а): 9 раз.
Поблагодарили: 4 раз.
А давайте сделаем опрос.
Насколько опасна BASE ( так вобщем по 5 ти бальной системе )
Насколько удобно работать без BASE ( тоже по 5 ти бальной системе )
И посмотрим что получится? :roll:


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Чт мар 04, 2010 00:20 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7960
Благодарил (а): 25 раз.
Поблагодарили: 144 раз.
mOleg писал(а):
ндяяя. Я ведь это написал к тому, что простое копирование неудачного стандарта не является ээ стоящей целью.

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

Представь, что предлагаешь хирургическую операцию. Многое станет яснее.
mOleg писал(а):
мне кажется, что надо быть просто добрее и скромнее одновременно (правда, я как всегда хочу слишком много).

А ты не стесняйся в таких пожеланиях. ;) Кстати, сделать это несложно. Например, можно по-доброму отнестись к окружающим людям и начать уже решать их реальные проблемы (а не придуманные каких-то абстрактных разработчиков на Форте). Можно также стать добрее к фортерам, и не делать им толстых намеков, что они до сих пор играли в песочнице, а вот сейчас Великий и Скромный Я сделает им стандарт. Также можно не прятаться за общий фразы о скромности, и прикинуть, что без должного опыта серьезной конструкторской работы выдавать какие-то стандарты с претензиями на их всеобщее распространение попросту несерьезно.
mOleg писал(а):
а вот я вижу, что BASE
1) легко убирается и без последствий
2) легко добавляется поверх работающей (без BASE) системы
3) код, использующий эту глобальную переменную, имеет проблемы с реентерабельностью
4) слова, работающие с BASE приходится всеравно переписывать под свои нужды (я о >NUMBER)
5) имеются побочные эффекты при обработке исключений (не всегда получается восстановить содержимое BASE )

0) Имеется в подавляющем большинстве сколько-нибудь распространенных трансляторов. Точка.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Чт мар 04, 2010 00:21 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7960
Благодарил (а): 25 раз.
Поблагодарили: 144 раз.
dynamic-wind писал(а):
Если уж и оставлять BASE, то надо оговорить, что LOAD ставит DECIMAL перед загрузкой,
а после восстанавливает предыдущую базу. И такое поведение должно быть обязательным для всех
подобных слов. И должно сохранятся при бросании исключений.

Кстати, я/мы отработали привычку в начале каждого файла устанавливать текущий и контекстный словари, и систему счисления. Но сохранение BASE с восстановлением - тоже вариант.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Чт мар 04, 2010 01:01 
Не в сети

Зарегистрирован: Сб май 06, 2006 12:01
Сообщения: 959
Откуда: Украина, Харьков
Благодарил (а): 2 раз.
Поблагодарили: 7 раз.
Хищник писал(а):
Кстати, я/мы отработали привычку в начале каждого файла устанавливать текущий и контекстный словари, и систему счисления. Но сохранение BASE с восстановлением - тоже вариант.


Броуди писал(а):
Мур ссылается на такой пример:
Вы и вправду оказались завязанными в узел. Сами себе
создаете трудности. Если мне нужен шестнадцатеричный дамп,
я говорю HEX DUMP. Если нужен десятичный, то говорю DECIMAL
DUMP. Я не доверяю слову DUMP привилегию произвольно менять
мое окружение.
Имеется философский выбор между восстановлением ситуации по
окончании и установкой ситуации в начале. Долгое время мне
казалось, что я должен восстанавливать все в конце. И я
должен был бы делать это постоянно и везде. Но ведь трудно
определить "везде". Так что теперь я стараюсь устанавливать
ситацию перед началом.
Если у меня есть слово, которое отвечает за положение
вещей, то лучше самому определить это положение. Если же
кто-то другой его изменяет, то и ему не надо беспокоиться о
том, чтобы его восстанавливать.
Всегда имеется больше выходов, чем входов.

_________________
With best wishes, in4.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Чт мар 04, 2010 01:49 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7960
Благодарил (а): 25 раз.
Поблагодарили: 144 раз.
Очень своевременный пример.

Кстати, перекликаясь с конечными автоматами. Сравнивая DirectX и OpenGL, я наталкивался на достаточно большое количество обзорно-аналитических статей, и во многих отмечалось, что OpenGL, основанный на автоматном стиле, многими программистами считается более продуманным, удобным и красивым. Скажем, Кармак (который из id software) отзывался весьма позитивно и по делу. А суть в чем? Скажем, точку в OpenGL можно поставить, задав просто x, y. Для трехмерной графики этого, конечно, недостаточно, там еще есть z, там еще есть альфа-канал, и потом пошли повороты сцены, перспектива, освещение и т.д. Но что интересно, не зная все эти параметры, а задавая только те, которые знаю, я все равно могу получить красивую картинку - если, конечно, до этого какая-то библиотека или слово в моем же файле задало нужные параметры, повернув сцену, настроив источники света и тому подобные вещи. В отличие от этого, DirectDraw постоянно требует гонять между функциями массу разных параметров, многие из которых не вполне тривиальны. Да, эти параметры локальные, и вроде бы имеют меньший риск испортиться. Однако DirectX уже 11-й версии, а OpenGL? :) И почему бы "вдруг"?
Так вот, BASE, STATE и подобные им переменные - те же самые переменные состояния конечного автомата. Они работают сами, даже если мы про них ничего не знаем. Но если мы собираемся углубиться в проблему, есть все возможности это сделать. И, вполне логично, если мы хотим большего, то надо уделить этому и больше внимания.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Чт мар 04, 2010 11:05 
Не в сети
Аватара пользователя

Зарегистрирован: Чт июл 20, 2006 11:31
Сообщения: 2168
Откуда: Екб
Благодарил (а): 0 раз.
Поблагодарили: 41 раз.
in4 писал(а):
Если мне нужен шестнадцатеричный дамп,
я говорю HEX DUMP. Если нужен десятичный, то говорю DECIMAL
DUMP. Я не доверяю слову DUMP привилегию произвольно менять
мое окружение.

Здесь HEX, DECIMAL могут рассматриваться как параметры слова DUMP
(в системе без глобальной BASE).
Фраза "Я не доверяю слову DUMP привилегию произвольно менять
мое окружение." вообще непонятна(видимо перевод некорректный).

_________________
С уважением, chess


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Чт мар 04, 2010 11:39 
Не в сети
Moderator
Moderator
Аватара пользователя

Зарегистрирован: Чт май 04, 2006 00:53
Сообщения: 5062
Откуда: был Крым, теперь Новосибирск
Благодарил (а): 23 раз.
Поблагодарили: 63 раз.
in4 писал(а):
Мур ссылается на такой пример:
Вы и вправду оказались завязанными в узел. Сами себе
создаете трудности. Если мне нужен шестнадцатеричный дамп,
я говорю HEX DUMP. Если нужен десятичный, то говорю DECIMAL
DUMP.

кстати говоря, я не видел ни одной системы, позволяющей такой трюк. Да и без надобности оно, так как в таком случае DUMP получается сложнее, типично встречается такой код: <# # # BL HOLD # # BL HOLD ... #> он не будет корректно работать при любой системе счисления, кроме 16ричной.
А проверять BASE внутри DUMP много чести. Поэтому, значительно удобнее, если захочется вывести дамп как либо иначе, лучше написать другое слово. Причем, Скорее всего, в примере Броуди будет создано слово:
: DDUMP BASE @ >R DECIMAL DUMP R> BASE ! ;
и зачем мы себе создаем проблемы?

Хищник писал(а):
Кстати, я/мы отработали привычку в начале каждого файла устанавливать текущий и контекстный словари, и систему счисления. Но сохранение BASE с восстановлением - тоже вариант.

замечательно! Со скоростью света движемся в направлении маинстримовского ужаса. Так можно дойти до установки абсолютно всех глобальных переменны в начале каждого куска кода, т.к. и BASE и WARNING и CURRENT и CONTEXT уже вроде как начинают указывать в явном виде.
"что-то в королевстве не ладно"

_________________
Мне бы только мой крошечный вклад внести,
За короткую жизнь сплести
Хотя бы ниточку шёлка.
fleur


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Чт мар 04, 2010 11:42 
Не в сети

Зарегистрирован: Вт май 09, 2006 12:31
Сообщения: 3438
Благодарил (а): 5 раз.
Поблагодарили: 16 раз.
Честно говоря, меня не удовлетворяет ни та ни другая аргументация, мне представыляется, что следовало бы исходить из достаточно простой логики:
- слово BASE присутствует и его имеет смысл оставлять для совместимости
( :D :dmad; хотя бы до стоздания нового учебника, ведь ольшинство будет
пользоваться старыми учебниками, где BASE присутсвует )
- следовательно, уклонение от BASE - не есть стандарт, а есть дополнение, возможная надстройка над системой, где для совместимости BASE оставлено


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Чт мар 04, 2010 11:51 
Не в сети
Аватара пользователя

Зарегистрирован: Чт июл 20, 2006 11:31
Сообщения: 2168
Откуда: Екб
Благодарил (а): 0 раз.
Поблагодарили: 41 раз.
вопрос писал(а):
Честно говоря, меня не удовлетворяет ни та ни другая аргументация, мне представыляется, что следовало бы исходить из достаточно простой логики:
- слово BASE присутствует и его имеет смысл оставлять для совместимости
( хотя бы до стоздания нового учебника, ведь ольшинство будет
пользоваться старыми учебниками, где BASE присутсвует )
- следовательно, уклонение от BASE - не есть стандарт, а есть дополнение, возможная надстройка над системой, где для совместимости BASE оставлено

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

_________________
С уважением, chess


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Чт мар 04, 2010 11:59 
Не в сети

Зарегистрирован: Вт май 09, 2006 12:31
Сообщения: 3438
Благодарил (а): 5 раз.
Поблагодарили: 16 раз.
chess писал(а):

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


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Чт мар 04, 2010 12:19 
Не в сети
Аватара пользователя

Зарегистрирован: Чт июл 20, 2006 11:31
Сообщения: 2168
Откуда: Екб
Благодарил (а): 0 раз.
Поблагодарили: 41 раз.
вопрос писал(а):
по крайней мере, тексты программ совместимы с учебниками

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

_________________
С уважением, chess


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Чт мар 04, 2010 13:25 
Не в сети
Аватара пользователя

Зарегистрирован: Пт дек 26, 2008 21:16
Сообщения: 412
Откуда: Великий Новгород
Благодарил (а): 9 раз.
Поблагодарили: 4 раз.
chess писал(а):
К примеру, если ввод идет параллельно с нескольких точек,

Это как лебедь, рак и щука сели каждый за свой терминал и давай кодить :))
Что у них получится? :shock:
Кстати кто нибудь на практике использовал многопоточную компиляцию?


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Чт мар 04, 2010 13:42 
Не в сети
Аватара пользователя

Зарегистрирован: Чт июл 20, 2006 11:31
Сообщения: 2168
Откуда: Екб
Благодарил (а): 0 раз.
Поблагодарили: 41 раз.
_Harry писал(а):
Это как лебедь, рак и щука сели каждый за свой терминал и давай кодить
Что у них получится?
Кстати кто нибудь на практике использовал многопоточную компиляцию?

Да я не про компиляцию, а про работающую программу, где ввод с разных каналов в разной форме идет.

_________________
С уважением, chess


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Чт мар 04, 2010 16:11 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7960
Благодарил (а): 25 раз.
Поблагодарили: 144 раз.
chess писал(а):
Здесь HEX, DECIMAL могут рассматриваться как параметры слова DUMP
(в системе без глобальной BASE).

Не могут, потому что DUMP может вызываться и без параметров. Он просто напечатает числа в текущей системе счисления.
chess писал(а):
Фраза "Я не доверяю слову DUMP привилегию произвольно менять
мое окружение." вообще непонятна(видимо перевод некорректный).

Вполне понятный перевод. Речь шла о том, что DUMP будет выводить числа в шестнадцатиричной системе, и потом так ее и оставит. Получится, что после вызова DUMP будет иметь место побочный эффект.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 133 ]  На страницу Пред.  1, 2, 3, 4, 5, 6, 7 ... 9  След.

Часовой пояс: UTC + 3 часа [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 20


Вы не можете начинать темы
Вы можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
phpBB сборка от FladeX // Русская поддержка phpBB