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

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

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


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

Архив

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


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

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

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

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

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

 
   
С Л С

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

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

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

Квинтана

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

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

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

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

 
  
АРХИВЫ

 
 

Сейчас на сайте присутствуют:
 
  
 
Во Флориде и в Королевстве сейчас  10:26[Войти] | [Зарегистрироваться]
Обсуждение темы:
Delphi 2007: Что год текущий нам готовит?..


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

Основные моменты:

1) В марте 2007 года выйдет Delphi 2007 (win32)

Плохая новость: в мартовской версии Delphi 2007 не будет юникода;
Хорошая новость: юникод будет в середине лета!
И это не единственная хорошая новость! В мартовской версии Delphi 2007 обещают много интересных "вкусностей", в том числе DBX4 и полную поддержку VISTA.

2) В марте 2007 года должен появиться новый и очень интересный продукт — Delphi for PHP — полноценное RAD-средство для разработки на PHP.

3) Выход новых версий продуктов линейки Turbo предполагается в конце 2007 года.


4) И еще небольшой сюрприз: стоимость Turbo Delphi Pro снизилась до 250$. 

Вот так, коротенько...

 Елена Филиппова

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

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

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


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

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

Отслеживать это обсуждение
<<<... | 755—746 | 745—736 | 735—726 | ...>>>
Всего сообщений в теме: 1215; страниц: 122; текущая страница: 48


№ 745   21-02-2008 04:11 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 736« (Антон Григорьев)
___________________________

Про использование with в Python уже рассказали. Если нет много времени на изучение этого механизма, то можно почитать об этом в Маниакальном веблоге

Противники GC всегда готовы привести массу примеров, когда это неудобно. Но даже "под дулом пистолета" отказываются признавать, что в их жизни были такие случаи, когда ручное управление памятью для множества объектов, передаваемых между контейнерами, превращалось в сущий кошмар.
Интерфейсы тоже не всегда спасают. Во-первых, надо или руками реализовать в своем классе IUnknown (что, вообще говоря, не очень страшно, только QueryInterface мешается), или получить серьезные ограничения по наследованию. Во-вторых, если бы там действительно все было просто, мы бы не имели проблем с агрегацией, weak references и тому подобными вещами. А в сложных системах такие проблемы возникают с завидной регулярностью.


№ 744   21-02-2008 03:54 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 743« (Trurl)
___________________________

Но в любом случае эти проблемы - не повод отказываться от сборщика мусора совсем.

Не повод. Но этот сборщик требует серьёзной доработки с этой точки зрения.


№ 743   21-02-2008 03:50 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 741« (Антон Григорьев)
___________________________
>>>не решаемы в принципе (по крайней мере, некоторые из них).
Вообще говоря, решаемы, хотя и не просто. Некоторые можно решить на уровне стандартных библиотек, другие
требуют решения на уровне ОС.
Но в любом случае эти проблемы - не повод отказываться от сборщика мусора совсем.



№ 742   21-02-2008 03:35 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 739« (Jack Of Shadows)
___________________________
Насколько я понимаю, with-file, with-connection, или using SomeClass не более чем "syntactic sugar", и к сборщику мусора отношения не имеет.

В принципе я бы от using в Delphi не отказался... хотя... новые синтаксические конструкции из-за двух лишних строчек кода?


№ 741   21-02-2008 02:47 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 738« (Trurl)
___________________________
Всё правильно, только проблемы, вызванные отсутствием сборщика мусора решаемы, хотя и портят много нервов, а вот вызванные наличием - не решаемы в принципе (по крайней мере, некоторые из них).

Ответ на »сообщение 739« (Jack Of Shadows)
___________________________
Ага, работал я с этим with (точнее, using) в шарпе. Я уж молчу про то, как приходится IDisposable для этого реализовывать, но главное - эти конструкции подходят там же, где и try..finally, т.е. когда время жизни объекта обозримо и ограничивается одним блоком. А если вы создаёте объект, который будет использован в другом месте другим кодом, который не вы писали, и освободится должен без вашего участия тогда, когда этот код перестанет в нём нуждаться, и вы даже не знаете, когда это произойдёт... Не знаю, как там в питоне, но в C# этот самый using точно не помощник.


№ 740   21-02-2008 01:59 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 734« (Сергей Тарасов)
___________________________
В подобной "сдаче позиций" есть несомненный плюс. Компонентокидатели в течение последних лет перебежали на пошарпанный си He ну плюсы всегда можно найти, особенно их много на кладбище :) Есть правда один нюанс: вчерашний батонокидатель, завтра может оказаться твоим директором :o[


№ 739   21-02-2008 01:48 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 736« (Антон Григорьев)
___________________________
Уже было обсуждение освобождения рессурсов (не памяти) на функциональной ветке.
Питон и сишарп совсем недаво внедрили идею из лиспа.
with-file, with-connection, with-socket итд.
Ну а дельфистам придется по старинке try finally :))


№ 738   21-02-2008 01:41 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 736« (Антон Григорьев)
___________________________


GC - очень удобная штука, пока речь идёт об объектах, которые из всех ресурсов используют только память.
Таких объектов могут быть миллионы, а количество объектов c дефицитныим ресурсами вполне обозримю.

Сейчас мы делаем ObjectList.Free, он вызывает деструкторы всех объектов, и все ресурсы освобождены.
А если  у нас есть другой TObjectList с теми же объектами?


№ 737   21-02-2008 01:05 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 735« (panda)
___________________________
Поборники сборщика мусора обычно выдвигают две идеи:
1. Нет необходимости писать try - finally Class.Free end;
2. Меньше утечек памяти.

Но для native-приложений мы и так уже имеем автоматическое освобождение памяти - при использовании интерфейсов. Так что народ уже имеет здесь выбор, если нет желания писать Free.

Что касается утечек памяти - благодаря FastMM я забыл что это такое.


№ 736   21-02-2008 00:20 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 735« (panda)
___________________________

А вот Garbage Collection для Win32 мне лично кажется вредной идеей.
А мне - полезной. Будем спорить? ;-)


GC - очень удобная штука, пока речь идёт об объектах, которые из всех ресурсов используют только память. А теперь, положим, у вас есть объект типа TConnection - его деструктор не только освобождает память, но и закрывает соединение с базой. Допустим, нам этот объект уже не нужен, но он продолжает висеть в памяти, расходуя дефицитный ресурс - подключение к БД, - потому что памяти много и GC не торопится. Для каждого отдельного объекта предусмотреть такой механизм очень просто, но что делать, если у нас есть TObjectList разнородных объектов? Сейчас мы делаем ObjectList.Free, он вызывает деструкторы всех объектов, и все ресурсы освобождены. Чтобы сделать такое в языке со сборщиком мусора, надо сделать в самом базовом классе некий аналог деструктора, чтобы TObjectList и подобные умел освобождать любой объект. А так мы снова приходим к ручному управлению ресурсами, причём, если немного подумать, становится понятно, что при автоматическом управлении памятью и ручном управлении прочими ресурсами возникают конфликты. И один такой конфликт может перечеркнуть все достоинства сборщика мусора.


<<<... | 755—746 | 745—736 | 735—726 | ...>>>
Всего сообщений в теме: 1215; страниц: 122; текущая страница: 48


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

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

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

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

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

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