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

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

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


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

Архив

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


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

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

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

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

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

 
   
С Л С

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

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

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

Квинтана

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

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

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

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

 
  
АРХИВЫ

 
 

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


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

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

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

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


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

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

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

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

<<<... | 1666—1657 | 1656—1647 | 1646—1637 | ...>>>
Всего сообщений в теме: 6256; страниц: 626; текущая страница: 461


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

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

Вопрос о раскрутке питона ставил не я.

Разве? А как же »сообщение 1631«?


И где там знак вопроса? ;) Во всяком случае ты виновен не меньше ;)


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

Это просто компромисс, позволяющий сочетать надежность и эффективность.

А если у мена стеке мегабайтный массив?


№ 1654   11-01-2007 02:36 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 1652« (pepper)
___________________________

Вопрос о раскрутке питона ставил не я.

Разве? А как же »сообщение 1631«?
 AVC


№ 1653   11-01-2007 02:33 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 1642« (Владимир Лось)
___________________________

Ответ на »сообщение 1641« (pepper)
___________________________
Хм... Интересно, что общего между динамически типизированным интерпретируемым языком и статически типизированным компилируемым языком? Неужели "модули"? :)
Траву свежую завезли? Что б никого не обижать - спишем на достаточно позднее время... :о)))))


Пока больше всех здесь веселишься ты ;) Кстати, ответ на свой вопрос я получил:
...showed up in Python's exception handling, modules, and the fact that methods explicitly contain ``self'' in their parameter list.


№ 1652   11-01-2007 02:31 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 1646« (Снегурочка)
___________________________

Вопрос о раскрутке Python с повестки дня тем временем товарищем pepper был тихо снят. Теперь будем разбираться в его технических деталях на форуме по Оберону? Ok.


Вопрос о раскрутке питона ставил не я. За цитаты спасибо, было интересно.


№ 1651   11-01-2007 02:21 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 1650« (Сергей Губанов)
___________________________

Ответ на »сообщение 1644« (Илья Ермаков)

В стеке же сборщик в ББ работает консервативно и по целым тоже "привяжет" объект.

Не понял. А если у меня на стеке полно всяких целых чисел, значения которых случайно совпадают с адресами каких-то объектов, то эти объекты никогда не будут удалены?


Будут. Когда в стеке не будет этих чисел. :)
В первоначальной ОС Оберон сборка мусора осуществлялась только между вызовами команд (т.е. при пустом стеке). Это, конечно, удобно, но...
А что делать, если потребность в сборке мусора возникла в процессе выполнения команды?
Проблема в том, что в отличие от статических указателей (якорей) адреса указателей в стеке в этот момент неизвестны (их можно восстановить, но это слишком накладно).
Вот GC и работает со стеком консервативно. Если некое 4-байтовое значение может быть указателем (совпадает с адресом участка, выделенного из кучи), то оно и рассматривается как указатель.
Это просто компромисс, позволяющий сочетать надежность и эффективность.
 AVC


№ 1650   11-01-2007 01:58 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 1644« (Илья Ермаков)

В стеке же сборщик в ББ работает консервативно и по целым тоже "привяжет" объект.

Не понял. А если у меня на стеке полно всяких целых чисел, значения которых случайно совпадают с адресами каких-то объектов, то эти объекты никогда не будут удалены?


№ 1649   11-01-2007 01:48 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 1636« (Илья Ермаков)


PROCEDURE (w: WeakPointer) Target* (OUT ptr: ANYPTR), NEW;
VAR adr: INTEGER;
BEGIN
adr := w.adr; (* make anchor in stack, to prevent concurrent GC *)
ptr := S.VAL(ANYPTR, w.adr);
adr := 0
END Target;


Строка помещения якоря в стек необходима на тот случай, если произойдет прерывание на сборку мусора в середине инструкции ptr := S.VAL(ANYPTR, w.adr), и на объект больше не осталось ссылок. Тогда адрес объекта будет успешно извлечен в регистр, потом сборщик мусора, не найдя якорей на объект, обнулит указатель и удалит объект, но ведь адрес объекта уже был извлечен и будет возвращен... Поэтому до взятия адреса создаем якорь в стеке.


Я бы понял эту логику в том случае если бы якорем был указатель, но когда на стеке размещается не указатель, а просто какое-то целое число adr: INTEGER, то как целое число-то может послужить якорем? Мало ли какие целые числа на стеке лежат...

По моему, здесь в обязательном порядке нужно использовать функцию InterlockedExchange из Kernel32.dll, на базе которой реализовать свою процедуру InterlockedMove, её и использовать:


PROCEDURE (w: WeakPointer) Target* (OUT ptr: ANYPTR), NEW;
BEGIN InterlockedMove(ptr, w.adr)
END Target;




№ 1648   11-01-2007 00:36 Ответить на это сообщение Ответить на это сообщение с цитированием
Ползучая гидра пробирается даже в девственно чистые ряды самого правильного языка всех времён и народов:о)))
http://www.eventhelix.com/RealtimeMantra/Object_Oriented/design_by_contract.htm


№ 1647   11-01-2007 00:14 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 1643« (Сергей Осколков)
___________________________

По-моему они если и конкуренты, то только в сфере веб-приложений.

Да, речь шла о конкуренции этих языков именно в web-программировании. И что из этого прямо вытекает - в общей популярности языков. По январскому рейтингу TIOBE языки PHP и Python на 5-м и 8-м местах соответственно.

См. http://www.tiobe.com/index.htm?tiobe_index


<<<... | 1666—1657 | 1656—1647 | 1646—1637 | ...>>>
Всего сообщений в теме: 6256; страниц: 626; текущая страница: 461


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

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

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

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

Перейти на конкретную страницу по номеру
  
Время на сайте: 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» необходимо указывать источник информации. Перепечатка авторских статей возможна только при согласии всех авторов и администрации сайта.
Все используемые на сайте торговые марки являются собственностью их производителей.

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