Rambler's Top100
"Knowledge itself is power"
F.Bacon
Поиск | Карта сайта | Помощь | О проекте | ТТХ  
 Базарная площадь
  
О разделе

Основная страница

Группы обсуждений


Тематический каталог обсуждений

Архив

 
 К н и г и
 
Книжная полка
 
 
Библиотека
 
  
  
 


Поиск
 
Поиск по КС
Поиск в статьях
Яndex© + Google©
Поиск книг

 
  
Тематический каталог
Все манускрипты

 
  
Карта VCL
ОШИБКИ
Сообщения системы

 
Форумы
 
Круглый стол
Новые вопросы

 
  
Базарная площадь
Городская площадь

 
   
С Л С

 
Летопись
 
Королевские Хроники
Рыцарский Зал
Глас народа!

 
  
ТТХ
Конкурсы
Королевская клюква

 
Разделы
 
Hello, World!
Лицей

Квинтана

 
  
Сокровищница
Подземелье Магов
Подводные камни
Свитки

 
  
Школа ОБЕРОНА

 
  
Арсенальная башня
Фолианты
Полигон

 
  
Книга Песка
Дальние земли

 
  
АРХИВЫ

 
 

Сейчас на сайте присутствуют:
 
  
 
Во Флориде и в Королевстве сейчас  13:36[Войти] | [Зарегистрироваться]
Обсуждение темы:
Оберон-технология: особенности и перспективы


Тематика обсуждения: Оберон-технология. Особенности, перспективы, практическое применение. 

Количество сообщений на странице

Порядок сортировки сообщений
Новое сообщение вверху списка (сетевая хронология)
Первое сообщение вверху списка (обычная хронология)

Перейти на конкретную страницу по номеру


Всего в теме 6256 сообщений

Добавить свое сообщение

Отслеживать это обсуждение

Обсуждение из раздела
Школа ОБЕРОНА

<<<... | 1806—1797 | 1796—1787 | 1786—1777 | ...>>>
Всего сообщений в теме: 6256; страниц: 626; текущая страница: 447


№ 1796   16-01-2007 11:50 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 1795« (pepper)
___________________________

Ответ на »сообщение 1794« (AVC)
___________________________


В принципе, так же, как это делает "посмертный отладчик".
(Т.е. опять-таки используем один механизм, а не плодим кучу механизм ad hoc.)
Берется frame pointer и т.д.


Картина маслом: "Физик-ядерщик берет frame pointer и раскручивает стэк".


Берусь предположить, что у и info21 никогда не возникала необходимость раскручивать стэк. А это именно в его сторону... :)


№ 1795   16-01-2007 11:35 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 1794« (AVC)
___________________________


В принципе, так же, как это делает "посмертный отладчик".
(Т.е. опять-таки используем один механизм, а не плодим кучу механизм ad hoc.)
Берется frame pointer и т.д.


Картина маслом: "Физик-ядерщик берет frame pointer и раскручивает стэк".


А что, в каких-то языках с поддержкой исключений есть временные затраты?
А как же?
Обратите внимание, что в Си++ поддержка механизма исключений обыкновенно требует специальной опции компиляторa.



Исключения в C++ раздувают бинарник в размере. О временных затратах я слышу первый раз от тебя. На популярных компиляторах ничего такого не наблюдается.


№ 1794   16-01-2007 11:27 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 1791« (pepper)
___________________________


Которая опять выходит за рамки языка. Обработчик найти мо метаинформации - это хорошо, а как стек раскручивать будем?


В принципе, так же, как это делает "посмертный отладчик".
(Т.е. опять-таки используем один механизм, а не плодим кучу механизм ad hoc.)
Берется frame pointer и т.д.

А что, в каких-то языках с поддержкой исключений есть временные затраты?

А как же?
Обратите внимание, что в Си++ поддержка механизма исключений обыкновенно требует специальной опции компиляторa.
 AVC


№ 1793   16-01-2007 11:16 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 1792« (AVC)
___________________________


У всего свои плюсы и минусы, своя цена.


О да, цена еще нескольких ключевых слов в языке - чрезвычайно велика. Для кого?


Хочется деструкторов? Пожалуйста (Си++), но сразу минус сборка мусора и компонентность. Страшно удобно.


C++/CLI ;) Пока не побаловался с этим гибридом тоже думал, что деструкторы и GC несовместимы :) Кстати, модули там тоже есть (но сам лично не пользовался, так что про особенности не расскажу).


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


Что ты имеешь ввиду?


Интересно, а что именно неудобно в предложенном решении (в котором, кстати, используется возможность вложения процедур, отсутствующая в Си++)?


Объем писанины (за которой не видно кода) не устраивает. Кроме того, этот пример не решает проблему финализации (а для управления ресурсами она пригодилась бы).


№ 1792   16-01-2007 11:05 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 1790« (pepper)
___________________________

Ответ на »сообщение 1732« (AVC)
___________________________

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

Еще этот пример показывает, что без дополнительных языковых конструкций пользоваться "таким" неудобно (мягко говоря). Сравни с try/finally или деструкторами.


У всего свои плюсы и минусы, своя цена.
Хочется деструкторов? Пожалуйста (Си++), но сразу минус сборка мусора и компонентность. Страшно удобно.
Другой момент -- дополнительные накладные расходы на обеспечение возможности "отката", даже если "откат" не потребовался.
Интересно, а что именно неудобно в предложенном решении (в котором, кстати, используется возможность вложения процедур, отсутствующая в Си++)?
 AVC


№ 1791   16-01-2007 10:54 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 1733« (AVC)
___________________________


Точнее, библиотечная процедура Exceptions.Raise находит ближайший обработчик исключений, пользуясь метапрограммными средствами обероновского (или иного) рантайма (например, райдерами, определенными в модуле Ref; для КП, наверное, можно использовать модуль Meta).
Плюсы такого решения:

  • простота реализации (опять-таки :) );


    Которая опять выходит за рамки языка. Обработчик найти мо метаинформации - это хорошо, а как стек раскручивать будем?


  • отсутствие дополнительных временных затрат (overhead) в случае, если исключение не возбуждается;


    А что, в каких-то языках с поддержкой исключений есть временные затраты?


  • возможность использовать не только семантику завершения (в отличие от Си++ и Явы).


Если ты про семантику возобновления, то она не так востребована и легко эмулируется.


№ 1790   16-01-2007 10:46 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 1732« (AVC)
___________________________


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


Еще этот пример показывает, что без дополнительных языковых конструкций пользоваться "таким" неудобно (мягко говоря). Сравни с try/finally или деструкторами.


№ 1789   16-01-2007 10:42 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 1731« (AVC)
___________________________


В КП финализаторы поддерживаются на уровне языка:
PROCEDURE (p: ANYPTR) FINALIZE;
В языках со сборкой мусора деструкторов обычно нет.


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


№ 1788   16-01-2007 10:37 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 1730« (AVC)
___________________________

Ответ на »сообщение 1721« (pepper)
___________________________


как Оберон помогает освободить ресурсы (не память) при выходе из функции.


На самом деле выход из функции - частный случай (хотя и самый распространенный). Но передавать ресурс между функциями - тоже хочется.


Видимо, в вопросе содержится намек на деструкторы Си++ и т.п.


Никаких намеков не подразумевалось и механизма подобного деструкторам в C++ не ожидается. Но какой-то помощи от языка в деле управления ресурсами хочется.


№ 1787   16-01-2007 10:27 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 1743« (Владимир Лось)
___________________________

Коллеги!

А кто использовал GP CP?
Вопрос в следующем: имеем уже два места из которых поступает компилятор CP. Язык - понятно, австралийцы приводят OM-описание, значит, вроде как клянутся блюсти... А насколько "обвеска" разнится?


Framework BB, естественно, не поддерживается. С концепцией подсистем - глухо, на сколько я помню. Но все остальное точно по ГОСТу :) + в язык введены несущественные дополнения, для специфической работы с .NET (что всегда можно изолировать). Все возможности .NET (почти все) должны быть доступны. То же относится и к JVM. Но нужно посмотреть внимательнее.


<<<... | 1806—1797 | 1796—1787 | 1786—1777 | ...>>>
Всего сообщений в теме: 6256; страниц: 626; текущая страница: 447


Добавить свое сообщение

Отслеживать это обсуждение

Дополнительная навигация:
Количество сообщений на странице

Порядок сортировки сообщений
Новое сообщение вверху списка (сетевая хронология)
Первое сообщение вверху списка (обычная хронология)

Перейти на конкретную страницу по номеру
  
Время на сайте: GMT минус 5 часов

Если вы заметили орфографическую ошибку на этой странице, просто выделите ошибку мышью и нажмите Ctrl+Enter.
Функция может не работать в некоторых версиях броузеров.

Web hosting for this web site provided by DotNetPark (ASP.NET, SharePoint, MS SQL hosting)  
Software for IIS, Hyper-V, MS SQL. Tools for Windows server administrators. Server migration utilities  

 
© При использовании любых материалов «Королевства Delphi» необходимо указывать источник информации. Перепечатка авторских статей возможна только при согласии всех авторов и администрации сайта.
Все используемые на сайте торговые марки являются собственностью их производителей.

Яндекс цитирования