Память ресурс или не ресурс? на примере C++ vs C#

by Темных Сергей 02.07.2008 10:40:00

на самом деле, разница между С++ и C# - одна и это то, что память не ресурс, но все остальные ресурсы-то остаются, и остаются все связанные с ресурсами проблемы:
1. ресурс - конечен
2. ресурс - требует детерминированное удаление (следует из п.1)
3. при чистке ресурсов нельзя полагаться на существующие GC (т.к. GC - недетерминирован и п.2)
4. если кто-то использует ресурс - то он сам по себе становится ресурсом (из п.2)
5. при работе с ресурсами приходится использовать метод подсчета ссылок (т.к. бывают ссылки много к одному, и да более сложные методы провисают по скорости, и да нам же нужен п.2)
6. есть проблема с циклическими ссылками (из п. 5)

И все эти проблемы есть и в C#, и в C++, но... большую часть объектов составляют всякие вспомогательные объекты: строки, точки, числа, коллекции, которые используют лишь один вид ресурса - память, соответственно как только память перестает быть ресурсом, то и вся толпа этих объектов тоже перестает быть ресурсами (см. п.4).

итого:
разница между программированием на C++ и C# лишь в том:
что при программирование на C++ приходится постоянно прокручивать в голове, что весь миллион используемых объектов - это ресурсы, и соответственно при каждом чихе проверять все перечисленные 6 пунктов,
на C# тоже необходимо крутить мысли про ресурсы - только уже про десяток-сотню-десятки тысяч основных объектов, и развязывать себе руки при работе с остальным миллионом вспомогательных объектов.

смотрите также
.net vs C++
C# vs C++
ниши языков
 

Оценок нет

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags:

Похожие записи

Powered by BlogEngine.NET 1.3.1.0
Theme by Mads Kristensen

Сергей Темных

Модулятор


Calendar

<<  Июнь 2017  >>
повтсрчепясуво
2930311234
567891011
12131415161718
19202122232425
262728293012
3456789

View posts in large calendar

Страницы

    Последние комментарии

    Категории

    None


    Disclaimer

    The opinions expressed herein are my own personal opinions and do not represent my employer's view in anyway.

    © Copyright 2017

    Sign in