Re[11]: Нужна ли Оберон-ОС защита памяти?
От: WolfHound  
Дата: 25.01.05 11:25
Оценка:
Здравствуйте, AVC, Вы писали:

AVC>Это, уж как бы поделикатнее это сказать... вранье-с.

AVC>http://www.rsdn.ru/Forum/Message.aspx?mid=995268&only=1
Автор: AVC
Дата: 19.01.05

Ты бы всетки ключики привел. От них много чего зависит. Что трудно Copy-Paste сделать?
AVC>Повторяю также, что ключи компиляции Dry.mod находятся в самом исходном файле.
Это типа круто? А по моему ключи компиляции должны лежать в файле проекта, а в исходниках им делать нечего.
AVC>Я то попросту подумал, что Вам неловко будет повторять мысль, что MSVC 8 (beta 1!!! ) в 12(!) раз эффективнее, чем MSVC 6. Ан, нет...
Теоритически это возможно но на практике скорей всего у тебя что-то не то с ключами компилятора.
... << RSDN@Home 1.1.4 beta 3 rev. 185>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[11]: Нужна ли Оберон-ОС защита памяти?
От: Cyberax Марс  
Дата: 25.01.05 11:33
Оценка:
AVC пишет:

> C>Что, мне опять запускать XDS и сравнивать то, что он нагенерит, с

> C>результатом компиляции С? Не будет оно оптимальным, даже близко не
> будет.
> C>Кто-то там, я помню, кричал про трехкратное превосходство XDS над С в
> C>скорости, но так и не привел версии и ключей компилятора.
> Это, уж как бы поделикатнее это сказать... вранье-с.
> http://www.rsdn.ru/Forum/Message.aspx?mid=995268&amp;only=1
Автор: AVC
Дата: 19.01.05

> <http://www.rsdn.ru/Forum/Message.aspx?mid=995268&amp;only=1&gt;
Автор: AVC
Дата: 19.01.05

> Обратите внимание, дожидается Вашего ответа с 19 января.

Извиняюсь, не увидел сообщение. VC6 у меня нет, есть VC7.1 и VC8. Ключи
такие:
==============
/Ox /Og /Ob2 /Oi /Ot /GL /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS"
/FD /EHsc /MT /GS /Fo"Release/" /Fd"Release/vc80.pdb" /W3 /nologo /c
/Wp64 /Zi /TP
==============
Вдобавок, в коде теста тоже нужно пару мест поправить.

> Повторяю также, что ключи компиляции *Dry.mod* находятся в самом

> исходном файле.
> Я то попросту подумал, что Вам неловко будет повторять мысль, что MSVC
> 8 (beta 1!!! ) в *12*(!) раз эффективнее, чем MSVC 6. Ан, нет...

Вполне может быть. VC8 заточена под новые процессоры, в отличие от
древней VC6.

--
С уважением,
Alex Besogonov (alexy@izh.com)
Posted via RSDN NNTP Server 1.9
Sapienti sat!
Re[12]: Нужна ли Оберон-ОС защита памяти?
От: AVC Россия  
Дата: 25.01.05 11:45
Оценка:
Здравствуйте, WolfHound, Вы писали:

WH>Здравствуйте, AVC, Вы писали:


AVC>>Это, уж как бы поделикатнее это сказать... вранье-с.

AVC>>http://www.rsdn.ru/Forum/Message.aspx?mid=995268&amp;only=1
Автор: AVC
Дата: 19.01.05

WH>Ты бы всетки ключики привел. От них много чего зависит. Что трудно Copy-Paste сделать?

Так у Cyberax есть и файл с ключиками, и компилятор XDS. Он просто забыл в этот файл посмотреть.
Но, по просьбе трудящихся, все же привожу эти ключи:

<* IF __GEN_X86__ THEN *>
<*+NOPTRALIAS*>
<*-SPACE*>
<*-GENHISTORY*>
<*+DOREORDER*>
<* END *>
<* ALIGNMENT="4"*>
<*+PROCINLINE*>
<*-CHECKINDEX*>
<*-CHECKRANGE*>
<*-CHECKNIL*>
<*-IOVERFLOW*>
<*-COVERFLOW*>
<*-GENDEBUG*>
<*-LINENO*>


Для Visual C++ я просто выбрал Release/maximize speed.
Это вылилось в такой набор ключей:

/nologo /ML /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /Fp"Release/Dry.pch" /YX /Fo"Release/" /Fd"Release/" /FD /c

На случай "плохого" выбора ключей, попросил Cyberax выбрать ключи самому.

AVC>>Повторяю также, что ключи компиляции Dry.mod находятся в самом исходном файле.

WH>Это типа круто? А по моему ключи компиляции должны лежать в файле проекта, а в исходниках им делать нечего.

Это чтобы хоть что-нибудь покритиковать?
Если весь "проект" состоит из одного файла (и никакого развития проекта не предполагается), то, IMHO, допустимо установить ключики и в исходнике, не заводя отдельного файла проекта.
Чтобы, так сказать, "не множить сущности без необходимости".

AVC>>Я то попросту подумал, что Вам неловко будет повторять мысль, что MSVC 8 (beta 1!!! ) в 12(!) раз эффективнее, чем MSVC 6. Ан, нет...

WH>Теоритически это возможно но на практике скорей всего у тебя что-то не то с ключами компилятора.

У меня?!

Но существует одно качество, которое нельзя купить, — это надежность. Цена надежности — погоня за крайней простотой. Это цена, которую очень богатому труднее всего заплатить.

Хоар
Re[12]: Нужна ли Оберон-ОС защита памяти?
От: Cyberax Марс  
Дата: 25.01.05 11:46
Оценка:
Cyberax пишет:

> Извиняюсь, не увидел сообщение. VC6 у меня нет, есть VC7.1 и VC8. Ключи

> такие:
> ==============
> /Ox /Og /Ob2 /Oi /Ot /GL /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS"
> /FD /EHsc /MT /GS /Fo"Release/" /Fd"Release/vc80.pdb" /W3 /nologo /c
> /Wp64 /Zi /TP
> ==============
> Вдобавок, в коде теста тоже нужно пару мест поправить.

Вдогонку, попытался вникнуть в этот тест. Результат: ну и &%@#&$% же
это. Строки используются C-шные, без всякой оптимизации. Большую часть
времени в func0 тратится на strcmp и т.д. Простая замена Сшных строк на
что-нибудь поприличнее даст еще больший прирост скорости.

Работу с массивы можно тоже пооптимизировать (boost::multi_array — наш
друг).

--
С уважением,
Alex Besogonov (alexy@izh.com)
Posted via RSDN NNTP Server 1.9
Sapienti sat!
Re[33]: Нужна ли Оберон-ОС защита памяти?
От: WolfHound  
Дата: 25.01.05 11:49
Оценка:
Здравствуйте, AVC, Вы писали:

AVC>В Си++ типизация сильнее, чем в Обероне?

Да.
AVC>Это Вы баек о пользе шаблонов в Си++ наслушались?
Нет. Я их распространяю. Ибо сам активно использую шаблоны и прекрасно знаю о чем говорю.
AVC>А как Вам конструкции вида
[q]WH>>Весьма "разумно" особенно учитывая что типизация в С++ сильнее чем в обероне... То что ее можно послать другой вопрос... в обероне (как мы выяснили
Автор: AVC
Дата: 24.01.05
) тоже можно...

(int (*)())

это посылание типизации

За подобный код нужно трывать руки и навсегда отлучать от компилятора. Исключения состовляют лишь библиотеки низкого уровня при этом их интерфейс должен быть таким чтобы исключить привидение не к тому типу. См boost::function там в нутри используются подобные фокусы но все сделано так что при использовании самого шаблоны boost::function типизация полностью контролируется компилятором.
А если подобные фокусы не загнаны под пулинепробиваемый интерфейс то автора в кандалы и в сибирь снег убирать.
К томуже такое посылание типов не чуждо и оберону... Так шта...

AVC>Зато позволяют себе правительства Канады и Великобритании.

Это их проблемы. А кстати они раздрешают BrainFack? Или WhiteSpace? Это же супер языки... такие мощьные концепции!
... << RSDN@Home 1.1.4 beta 3 rev. 185>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[12]: Нужна ли Оберон-ОС защита памяти?
От: AVC Россия  
Дата: 25.01.05 12:04
Оценка:
Здравствуйте, Cyberax, Вы писали:

C>Извиняюсь, не увидел сообщение. VC6 у меня нет, есть VC7.1 и VC8. Ключи

C>такие:
C>==============
C>/Ox /Og /Ob2 /Oi /Ot /GL /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS"
C>/FD /EHsc /MT /GS /Fo"Release/" /Fd"Release/vc80.pdb" /W3 /nologo /c
C>/Wp64 /Zi /TP
C>==============
C>Вдобавок, в коде теста тоже нужно пару мест поправить.

Просьба: если есть возможность, отправьте мне исправленный Вами текст по адресу:

(чтобы не было расхождений).
А я посмотрю, какой результат у меня получится.
Чем Бог не шутит...

C>Вполне может быть. VC8 заточена под новые процессоры, в отличие от

C>древней VC6.

Не верю! (с) Станиславский
Впрочем, при первой же возможности проведу эксперимент.
У меня тут в эпсилон-окрестности 8-й версии пока ни у кого нет.
Возможно, потому что мы PC используем в основном для кросс-отладки.

Но существует одно качество, которое нельзя купить, — это надежность. Цена надежности — погоня за крайней простотой. Это цена, которую очень богатому труднее всего заплатить.

Хоар
Re[13]: Нужна ли Оберон-ОС защита памяти?
От: Сергей Губанов Россия http://sergey-gubanov.livejournal.com/
Дата: 25.01.05 12:24
Оценка: +1 :)
Здравствуйте, Cyberax, Вы писали:

C>Вдогонку, попытался вникнуть в этот тест. Результат: ну и &%@#&$% же

C>это. Строки используются C-шные, без всякой оптимизации. Большую часть
C>времени в func0 тратится на strcmp и т.д. Простая замена Сшных строк на
C>что-нибудь поприличнее даст еще больший прирост скорости.

C>Работу с массивы можно тоже пооптимизировать (boost::multi_array — наш

C>друг).

В исходный код теста Drystone нельзя вносить ни каких изменений! Иначе он теряет свой статус. Любое изменение превращает его в совершенно другой тест. (Ну, естественно, поменять количество иттераций можно)

Например, именно поэтому нельзя написать исходник Drystone для Component Pascal — буквальный перевод со старого Паскаля невозможен (не будет компилироваться), а "вольная интерпретация" превращает его в другой тест не имеющий признанного статуса теста Drystone.
Re[34]: Нужна ли Оберон-ОС защита памяти?
От: AVC Россия  
Дата: 25.01.05 12:44
Оценка:
Здравствуйте, WolfHound, Вы писали:

WH>Здравствуйте, AVC, Вы писали:


AVC>>В Си++ типизация сильнее, чем в Обероне?

WH>Да.
AVC>>Это Вы баек о пользе шаблонов в Си++ наслушались?
WH>Нет. Я их распространяю. Ибо сам активно использую шаблоны и прекрасно знаю о чем говорю.

Логика учит : чтобы утверждать, что типизация в Си++ сильнее, чем в Обероне, надо хорошо представлять себе не только Си++, но и Оберон.
Или на Си++ программистов это уже не распространяется?

AVC>>А как Вам конструкции вида

WH>[q]WH>>Весьма "разумно" особенно учитывая что типизация в С++ сильнее чем в обероне... То что ее можно послать другой вопрос... в обероне (как мы выяснили
Автор: AVC
Дата: 24.01.05
) тоже можно...


Зря Вы за это "уцепились". Получается как в известной пословице про "услышанный звон".
В указанном Вами месте я отвечал на вопрос, если в Обероне в принципе средства низкоуровневого программирования.
Но дело в том, что в Обероне средства низкоуровневого программирования отделены от основного языка.
Необходимо использовать (псевдо)модуль SYSTEM, чего нельзя скрыть, и что может быть и запрещено, если это потребуется для безопасности системы.
А в Си/Си++ — это не так.
Там без приведения типов — никуда. Просто Вы пытаетесь спрятать их подальше (в boost::function, к примеру), чтобы глаза не мозолили.
Мало того, что это не решает проблему в корне, но еще и ухудшает читабельность.
С новыми наворотами boost Си++ уже не три года изучать надо, как по средней статистике, а еще больше.

WH>
WH>(int (*)()) 
WH>

WH>это посылание типизации
WH>За подобный код нужно трывать руки и навсегда отлучать от компилятора. Исключения состовляют лишь библиотеки низкого уровня при этом их интерфейс должен быть таким чтобы исключить привидение не к тому типу. См boost::function там в нутри используются подобные фокусы но все сделано так что при использовании самого шаблоны boost::function типизация полностью контролируется компилятором.
WH>А если подобные фокусы не загнаны под пулинепробиваемый интерфейс то автора в кандалы и в сибирь снег убирать.

Я уже заметил, что у программистов на Си++ мышление повернуто несколько в садистскую плоскость: кого/что убить... в кандалы... в Сибирь...

Еще стандартны фразы о "кривых ручках" и "ошибках в ДНК".
Только все эти заклинания слабо им помогают...

AVC>>Зато позволяют себе правительства Канады и Великобритании.

WH>Это их проблемы. А кстати они раздрешают BrainFack? Или WhiteSpace? Это же супер языки... такие мощьные концепции!

Наверное, Канаде и Англии плохо приходится, если у них такие ПРОБЛЕМЫ!

Но существует одно качество, которое нельзя купить, — это надежность. Цена надежности — погоня за крайней простотой. Это цена, которую очень богатому труднее всего заплатить.

Хоар
Re[14]: Нужна ли Оберон-ОС защита памяти?
От: AndrewJD США  
Дата: 25.01.05 12:58
Оценка:
Здравствуйте, Сергей Губанов, Вы писали:


СГ>В исходный код теста Drystone нельзя вносить ни каких изменений! Иначе он теряет свой статус. Любое изменение превращает его в совершенно другой тест. (Ну, естественно, поменять количество иттераций можно)


СГ>Например, именно поэтому нельзя написать исходник Drystone для Component Pascal — буквальный перевод со старого Паскаля невозможен (не будет компилироваться), а "вольная интерпретация" превращает его в другой тест не имеющий признанного статуса теста Drystone.


Круто, а если бы они там Sleep местами повставляли ?
"For every complex problem, there is a solution that is simple, neat,
and wrong."
Re[15]: Нужна ли Оберон-ОС защита памяти?
От: AVC Россия  
Дата: 25.01.05 12:59
Оценка:
Здравствуйте, AndrewJD, Вы писали:

AJD>Круто, а если бы они там Sleep местами повставляли ?


Ну, если бы...

Но существует одно качество, которое нельзя купить, — это надежность. Цена надежности — погоня за крайней простотой. Это цена, которую очень богатому труднее всего заплатить.

Хоар
Re[35]: Нужна ли Оберон-ОС защита памяти?
От: WolfHound  
Дата: 25.01.05 13:43
Оценка: 1 (1) +4 :)
Здравствуйте, AVC, Вы писали:

AVC>Логика учит : чтобы утверждать, что типизация в Си++ сильнее, чем в Обероне, надо хорошо представлять себе не только Си++, но и Оберон.

А что его представлять? Примитивный язык в которм коллекции либо полиморфные либо копипастные. Те либо дублирование кода, а это дублирование ошибок... либо все проверки в рантайме медленно и не надежно.
А то что нет злых кастов на уровне языка так это дело поправляется (псевдо)модулем SYSTEM...
Да и без этого можно систему завалить. Делаем запутаный граф объектов которой в какомто левом модуле(который SYSTEM не использует)цепляется за глобальную переменную и привет... ГЦ умер...

AVC>Зря Вы за это "уцепились". Получается как в известной пословице про "услышанный звон".

AVC>В указанном Вами месте я отвечал на вопрос, если в Обероне в принципе средства низкоуровневого программирования.
Возможность есть. А заначит есть возможность напакостить.
AVC>Но дело в том, что в Обероне средства низкоуровневого программирования отделены от основного языка.
Но это не мешает их использовать.
AVC>Необходимо использовать (псевдо)модуль SYSTEM, чего нельзя скрыть, и что может быть и запрещено, если это потребуется для безопасности системы.
AVC>А в Си/Си++ — это не так.
В С++ тоже можно административно запретить использовать некоторые конструкции. И в чем разница?
AVC>Там без приведения типов — никуда.
А! То-то у меня в последнем проекте ни одного небыло. (кроме dynamic_cast'ов)
AVC>Просто Вы пытаетесь спрятать их подальше (в boost::function, к примеру), чтобы глаза не мозолили.
Вот там они и сидят. В принципе они только и нужны для написания библиотек низкого уровня. Короче можешь считать что они спрятаны в нутрь компилятора.
Кстати а как на счет ошибок в компиляторе оберона?...
AVC>Мало того, что это не решает проблему в корне, но еще и ухудшает читабельность.
Ты это можешь расказывать тем кто на С++ не писал.

AVC>С новыми наворотами boost Си++ уже не три года изучать надо, как по средней статистике, а еще больше.

А! Ну-ну. Если человек не совсем пробка он у меня через полгода на С++ с STL и boost'ом писать будет.
А пробка и на обероне таких дров наломает что мало не покажется.

AVC>Я уже заметил, что у программистов на Си++ мышление повернуто несколько в садистскую плоскость: кого/что убить... в кандалы... в Сибирь...

В данный момент я программист на C#. И вобще я могу писать на чем угодно. Просто раздаражают люди которые пытаются навязать какуюто поделку в качестве панацеи. Вот и получаются резкии фразы.

AVC>Только все эти заклинания слабо им помогают...

Мне они не нужны. У меня проблем нет.

AVC>Наверное, Канаде и Англии плохо приходится, если у них такие ПРОБЛЕМЫ!

Не знаю. Я там небыл. Хотя про Канадских программистов расказывают такое... что они якобы хуже Индусов...
Кстати ты не ответил как там с BrainFack'ом?
... << RSDN@Home 1.1.4 beta 3 rev. 185>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[12]: Нужна ли Оберон-ОС защита памяти?
От: AVC Россия  
Дата: 25.01.05 14:07
Оценка:
Здравствуйте, Cyberax, Вы писали:

C>==============

C>/Ox /Og /Ob2 /Oi /Ot /GL /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS"
C>/FD /EHsc /MT /GS /Fo"Release/" /Fd"Release/vc80.pdb" /W3 /nologo /c
C>/Wp64 /Zi /TP
C>==============
C>Вдобавок, в коде теста тоже нужно пару мест поправить.

Исправил заголовки функций (правда, далеко не в двух местах).
Использовал Ваши ключи.
Все, кроме /Wp64, /GS, /GL (6-й компилятор их не знает).
Результат: 3076923.
(против 8000000 у XDS).
Размер файла: 86065.

Наверное, надо искать MSVC 8.

Но существует одно качество, которое нельзя купить, — это надежность. Цена надежности — погоня за крайней простотой. Это цена, которую очень богатому труднее всего заплатить.

Хоар
Re[36]: Нужна ли Оберон-ОС защита памяти?
От: Сергей Губанов Россия http://sergey-gubanov.livejournal.com/
Дата: 25.01.05 14:13
Оценка: -4 :)
Здравствуйте, WolfHound, Вы писали:

WH> Вот там они и сидят. В принципе они только и нужны для написания библиотек низкого уровня. Короче можешь считать что они спрятаны в нутрь компилятора.


Если бы да кабы, то в носу бы выросли грибы.

WH> Кстати а как на счет ошибок в компиляторе оберона?...


ЧТО???????????????
Re[36]: Нужна ли Оберон-ОС защита памяти?
От: Трурль  
Дата: 25.01.05 14:27
Оценка:
Здравствуйте, WolfHound, Вы писали:

WH> Хотя про Канадских программистов расказывают такое... что они якобы хуже Индусов...

Watcom, Maple, QNX... пожалуй, достаточно.
Re[36]: Нужна ли Оберон-ОС защита памяти?
От: AVC Россия  
Дата: 25.01.05 14:45
Оценка:
Здравствуйте, WolfHound, Вы писали:

AVC>>Логика учит : чтобы утверждать, что типизация в Си++ сильнее, чем в Обероне, надо хорошо представлять себе не только Си++, но и Оберон.

WH>А что его представлять? Примитивный язык в которм коллекции либо полиморфные либо копипастные. Те либо дублирование кода, а это дублирование ошибок... либо все проверки в рантайме медленно и не надежно.
WH>А то что нет злых кастов на уровне языка так это дело поправляется (псевдо)модулем SYSTEM...
WH>Да и без этого можно систему завалить. Делаем запутаный граф объектов которой в какомто левом модуле(который SYSTEM не использует)цепляется за глобальную переменную и привет... ГЦ умер...

Шаблонов, правда, в Обероне нет (да и не надо, хотя и есть версии Оберона, которые их поддерживают).
Все же остальные Ваши утверждения — пальцем в небо.
Особенно смешна идея зацепить граф объектов за глобальную переменную.
Т.е. об указателях в Обероне Вы не знаете ничего.

AVC>>В указанном Вами месте я отвечал на вопрос, если в Обероне в принципе средства низкоуровневого программирования.

WH>Возможность есть. А заначит есть возможность напакостить.

Если будет важна безопасность, Вам возможности "напакостить" не предоставят.

AVC>>Но дело в том, что в Обероне средства низкоуровневого программирования отделены от основного языка.

WH>Но это не мешает их использовать.

Если они будут запрещены на этом уровне, Вы не сможете их использовать.

AVC>Мало того, что это не решает проблему в корне, но еще и ухудшает читабельность.

WH>Ты это можешь расказывать тем кто на С++ не писал.

Вранье!
Это уже начинает утомлять.

AVC>>С новыми наворотами boost Си++ уже не три года изучать надо, как по средней статистике, а еще больше.

WH>А! Ну-ну. Если человек не совсем пробка он у меня через полгода на С++ с STL и boost'ом писать будет.
WH>А пробка и на обероне таких дров наломает что мало не покажется.

Ну да, вечная песня о крутости программистов на Си/Си++.
То-то я вечно застаю их сидящими в отладчиках.

AVC>>Я уже заметил, что у программистов на Си++ мышление повернуто несколько в садистскую плоскость: кого/что убить... в кандалы... в Сибирь...

WH>В данный момент я программист на C#. И вобще я могу писать на чем угодно.

Вы хотите меня ознакомить с Вашим резюме?

WH>Просто раздаражают люди которые пытаются навязать какуюто поделку в качестве панацеи. Вот и получаются резкии фразы.


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

AVC>>Только все эти заклинания слабо им помогают...

WH>Мне они не нужны. У меня проблем нет.

Рад за Вас!

AVC>>Наверное, Канаде и Англии плохо приходится, если у них такие ПРОБЛЕМЫ!

WH>Не знаю. Я там небыл. Хотя про Канадских программистов расказывают такое... что они якобы хуже Индусов...

Логика понятна. Раз канадское правительство наложило ограничения на применение Си++, то и канадские программисты — плохие.

Но существует одно качество, которое нельзя купить, — это надежность. Цена надежности — погоня за крайней простотой. Это цена, которую очень богатому труднее всего заплатить.

Хоар
Re[34]: Нужна ли Оберон-ОС защита памяти?
От: Курилка Россия http://kirya.narod.ru/
Дата: 25.01.05 15:16
Оценка:
Здравствуйте, AVC, Вы писали:

AVC>Здравствуйте, AVC, Вы писали:


AVC>Приношу Курилке мои извинения (даже если он и вправду любит Си++ такой же безумной любовью, как и Зверек Харьковский )!


Принимается, даже несмотря на то, что я плюсы люблю, незнаю правда про безумность
Re[35]: Нужна ли Оберон-ОС защита памяти?
От: AVC Россия  
Дата: 25.01.05 15:22
Оценка:
Здравствуйте, Курилка, Вы писали:

AVC>>Приношу Курилке мои извинения (даже если он и вправду любит Си++ такой же безумной любовью, как и Зверек Харьковский )!

К>Принимается, даже несмотря на то, что я плюсы люблю, незнаю правда про безумность

Спасибо!

Но существует одно качество, которое нельзя купить, — это надежность. Цена надежности — погоня за крайней простотой. Это цена, которую очень богатому труднее всего заплатить.

Хоар
Re[37]: Нужна ли Оберон-ОС защита памяти?
От: WolfHound  
Дата: 25.01.05 16:14
Оценка:
Здравствуйте, AVC, Вы писали:

AVC>Шаблонов, правда, в Обероне нет (да и не надо,

А ну-ну...
AVC>хотя и есть версии Оберона, которые их поддерживают).
Тем лучше.
AVC>Все же остальные Ваши утверждения — пальцем в небо.
Правда?
AVC>Особенно смешна идея зацепить граф объектов за глобальную переменную.
AVC>Т.е. об указателях в Обероне Вы не знаете ничего.
ГЦ он и в африке ГЦ и сыпится на хитрых графах которые цепляются за стек или статические переменные очень хорошо.

AVC>Если будет важна безопасность, Вам возможности "напакостить" не предоставят.

При жилании можно напакостить всегда. А по ошибки это еще проще.

AVC>Если они будут запрещены на этом уровне, Вы не сможете их использовать.

А какже SYSTEM? Или модули использующие его?

AVC>Вранье!

AVC>Это уже начинает утомлять.
Это boost::function уменьшает читабельность? Вот это действительно вранье.

AVC>Ну да, вечная песня о крутости программистов на Си/Си++.

Ну да вечная песьня об убогости С++... но почемуто у меня с ним проблем не больше чем у меня сейчас с C#.
AVC>То-то я вечно застаю их сидящими в отладчиках.
Сейчас (работая на C#) я в отладчике провожу времени столькоже как и при работе на С++.

AVC>Учитывая, что, как выяснилось, об Обероне Вы знаете мало,

О! Да ты знаешь что я знаю? Ты телепат?
AVC>Ваши резкие фразы несколько преждевременны и говорят, скорее, о плохих нервах.
Да ты еще и психолог?
AVC>К тому же, я не помню, чтобы я говорил об Обероне как о панацее или пытался кому-нибудь его навязать.
Прямо может и не говорил но как еще расценивать заявления что на обероне нельзя накосячить?
AVC>Говорил только о его применимости в некоторых случаях.
О! Уже прогрес.

WH>>Не знаю. Я там небыл. Хотя про Канадских программистов расказывают такое... что они якобы хуже Индусов...

AVC>Логика понятна. Раз канадское правительство наложило ограничения на применение Си++, то и канадские программисты — плохие.
Не вижу связи между моей фразой и твоим выводом.
... << RSDN@Home 1.1.4 beta 3 rev. 185>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[38]: Нужна ли Оберон-ОС защита памяти?
От: AVC Россия  
Дата: 25.01.05 16:31
Оценка: -1
Здравствуйте, WolfHound, Вы писали:

Остановлюсь только на одном моменте.

AVC>>Особенно смешна идея зацепить граф объектов за глобальную переменную.

AVC>>Т.е. об указателях в Обероне Вы не знаете ничего.
WH>ГЦ он и в африке ГЦ и сыпится на хитрых графах которые цепляются за стек или статические переменные очень хорошо.

Дело в том, что указатель в Обероне может указывать только на объект, расположенный в куче и не может указывать ни на стековую, ни на статическую переменную.
Указатель получает свое значение только следующими путями:

1) NEW(p) — создать новый объект;
2) p := q; присвоить p значение другого валидного указателя q;
3) p := NIL; указатель никуда больше не указывает.

В начале указатель инициализирован NIL.
Т.е. указатель либо указывает на объект в куче, либо равен NIL.
И как же нам "зацепить" граф объектов за стек или статические переменные?

Но существует одно качество, которое нельзя купить, — это надежность. Цена надежности — погоня за крайней простотой. Это цена, которую очень богатому труднее всего заплатить.

Хоар
Re[39]: Нужна ли Оберон-ОС защита памяти?
От: WolfHound  
Дата: 25.01.05 16:40
Оценка:
Здравствуйте, AVC, Вы писали:

AVC>Дело в том, что указатель в Обероне может указывать только на объект, расположенный в куче и не может указывать ни на стековую, ни на статическую переменную.

AVC>Указатель получает свое значение только следующими путями:

AVC>1) NEW(p) — создать новый объект;

AVC>2) p := q; присвоить p значение другого валидного указателя q;
AVC>3) p := NIL; указатель никуда больше не указывает.

AVC>В начале указатель инициализирован NIL.

AVC>Т.е. указатель либо указывает на объект в куче, либо равен NIL.
AVC>И как же нам "зацепить" граф объектов за стек или статические переменные?
ГЦ обыкновенный. Такойже как и везде. И валистся аналогично. А под словом зацепить за стек или статическую переменную я имел в виду что на стеке или в качастве статичекой переменной делаем указатель и присваиваем ему указатель на один из объектов графа объектов(которые ссылаются друг на друга)
А теперь забываем исделать
AVC>3) p := NIL; указатель никуда больше не указывает.
Все! Граф будет жить вечно. И такие ошибки уже были например в RSDN@Home(та софтина в которой я пишу этот пост) Да да утечки памяти в программе с ГЦ это реальность. А про утечки внешних ресурсов я вобще молчу...
... << RSDN@Home 1.1.4 beta 3 rev. 185>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.