Re[7]: Уязвимость
От: Mr. None Россия http://mrnone.blogspot.com
Дата: 24.12.04 14:19
Оценка:
Здравствуйте, Сергей Губанов, Вы писали:

СГ>Здравствуйте, Mr. None, Вы писали:


MN>>Здравствуйте, Сергей Губанов, Вы писали:


СГ>>>То есть дело не в том можно ли обойтись без GC или нельзя, а в том, что GC — гарант стабильности, устойчивости, безопасности расширяемой системы, в контексте работы с памятью. Без GC расширяемая система УЯЗВИМА по отношению к ошибкам (случайным или намеренным) при работе с памятью.


MN>>А с GC система уязвима по отношению к ошибкам выделения/освобождения других ресурсов, таких как файлы, сокеты и прочее. Потому что не известно, в какой момент сработает GC и освободит ресурс...

MN>>Поэтому не надо в GC искать панацею — не найдёте, если руки кривые, то и GC не поможет.

СГ>Естественно GC заведует только памятью. Следить за остальными ресурсами должен программист и это не зависит от того есть ли GC нет ли его.


Ну тогда почему бы программисту не следить и за памятью как за другими ресурсами и обойтись без GC...
Компьютер сделает всё, что вы ему скажете, но это может сильно отличаться от того, что вы имели в виду.
Re[6]: Нет войне )) даешь ООП
От: Ligen Украина http://zone-of-ambiguity.blogspot.com/
Дата: 24.12.04 15:00
Оценка:
Здравствуйте, Сергей Губанов, Вы писали:

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


СГ>Ага, контролирует, как же!!!!!! А вот я у своего объекта возьму и по злому умыслу сделаю так, чтобы он вовсе не уничтожался тогда когда счетчик ссылок обнуляется. Или, совсем подлянку подложу — он будет самоуничтожаться тогда когда количество ссылок на него превысит 666. Проконтролируйте плиз его... А при наличии GC, я не могу сделать ничего подобного даже по злому умыслу.


<offtop>
Насчет злого умысла ))
Вы, сударь, если я правильно понимаю, проповедуете ОС Оберон, так?
Одним из принципом который является создание ограничений для программиста компилятором до такой степени, что ОС запускает код нескольких программ в едином адресном пространстве?

Так вот, есть ли в этих ОС следующие функции
а) Работы с файлами: создание и запись файлов (а-ля CreateFile, и т.д)
б) Запуска исполняемого файла (а-ля CreateProcess)

Я подозреваю, что есть. Вы поняли мою мысль на счет злого умысла?
</offtop>
Viva el Junta Militar! Viva el Presidente!
Re[8]: Уязвимость
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 26.12.04 10:24
Оценка:
Здравствуйте, Трурль, Вы писали:

Т>Вовсе это не естественно. Почему бы системе и не следить за ресурсами?


Потому что для многих ресурсов ленивое освобождение неприемлемо, а алгоритмов, гарантирующих мгновенное освобождение ресурса полностью автоматически пока не придумали.
... << RSDN@Home 1.1.4 beta 3 rev. 268>>
AVK Blog
Re[7]: Нет войне )) даешь ООП
От: Волк-Призрак Россия http://ghostwolf.newmail.ru
Дата: 26.12.04 16:44
Оценка:
Здравствуйте, Ligen, Вы писали:


L>Так вот, есть ли в этих ОС следующие функции

L> а) Работы с файлами: создание и запись файлов (а-ля CreateFile, и т.д)
L> б) Запуска исполняемого файла (а-ля CreateProcess)

L>Я подозреваю, что есть. Вы поняли мою мысль на счет злого умысла?


Я подозреваю что на это С. Г. ответить не сможет.

В "прозрачной однопроцессной" системе более слабая защита априори.

Возмём Smalltalk. первый "тест" — Compiler:=nil. И тутже эмулятор смаллталка вылетает.
Это самонаводящийся утрирующе излагающий мою мысль пример.
Ничего лучше чем сокеты и их подобия (пайпы итп) для плезио-реалаймового безопасного взаимодействия программ, имхо, ещё никто не придумал. Всмысле чтобы на любой концепции ос можно было это сделать. И вообще когда я пытался спроектироваь (написать специфкацию "ос моей мечты" ака DreamOS, я придумал дерево именованых объектов, которым можно посылать сообщения (и получать соответственно). Процесс представлял собой объект, "понимающий" (как оказалось позже, в смаллталковом смысле) сообщения run, iterate, iddle, terminate. В сообщениях suspend, resume не было необходимсти, т. к. процесс жив пока не обработал сообщение terminate с возвратным кодом TERMINATION_DONE_*. А активен процесс пока обрабатывает iterate или idle. Де факто у меня получалось что процесс любой выглядел примерно так:
public int process(message msg) {
  if (msg instanceof idle) {
    doiddle();
    } else if (msg instanceof terminate {
      cleanup();
        return 0; 
        } else if (msg instanceof iterate) {
          doiterate();
            } else {
            processextramsg(msg);
            }
        }
    }    
}


такие объекты-процессы поизводны от спецкласса Process_Base, у которого метод process абстрактный, либо вообще имеют метод
public int process(message msg);

Чтобы гарантировать переключение задач, система сама их переключает каждые 100-200 инструкций между теми объектами, которые обрабатывают сообщения, и не в состоянии waiting.
Начинает свою жизнь процесс с получаения сообщения init, сожержащего ссылку на "контекст процесса". Это:
Все ссылки, ясное дело, read-only, указателей ясен пень нет. в место них — accelerative memory chunks.
Как уже м. б. догадаться. эта ось — среда "интерпретации".
Объект видит системное дерево объектов в той мере, в которой ему это позволяет система downing rights levels. Т. е. "уровни прав творения всегда ниже, чем у творца". Например, есть приложение, зарегестриованное при инсталяции как "стандартное НЕсетевое париложение". Все процессы этой программы будут видеть допустим диски, с фильтром прав пользователя. А сеть она не увидит вообще. Ей корень network.* не будет просто доступен. "Какие там акселеративные интерфейсы:? не смешите мои тапочки!" скажет несетевому приложению менеджер доступа к дереву объектов в ответ на соотв. запрос. например
getSystemObjectsTree().isexists("network.lan.lanadapters.list");// вернёт false.

И т д итп.
gc не панацея. но единый менеджер ресурсов — это может стать бронзовой пулей.
Не серебряной, подчёркиваю
... << RSDN@Home 1.1.4 beta 3 rev. 185>> @@J[getWorld.ApplyCheats(unfair.Cheats.IDDQD_AND_IDKFA]
while(Life.getClass().getClassLoader()==Religion.GOD){Life.be();};
Скажи .net корпорации Microsoft! (c) ghostwolf 2004
7 раз поищи в стандартной библиотеке, 1 раз накодь своё.
Re[8]: Нет войне )) даешь ООП
От: Sinclair Россия https://github.com/evilguest/
Дата: 27.12.04 06:13
Оценка:
Здравствуйте, Волк-Призрак, Вы писали:

ВП>Объект видит системное дерево объектов в той мере, в которой ему это позволяет система downing rights levels. Т. е. "уровни прав творения всегда ниже, чем у творца". Например, есть приложение, зарегестриованное при инсталяции как "стандартное НЕсетевое париложение". Все процессы этой программы будут видеть допустим диски, с фильтром прав пользователя. А сеть она не увидит вообще. Ей корень network.* не будет просто доступен. "Какие там акселеративные интерфейсы:? не смешите мои тапочки!" скажет несетевому приложению менеджер доступа к дереву объектов в ответ на соотв. запрос. например

ВП>
ВП>getSystemObjectsTree().isexists("network.lan.lanadapters.list");// вернёт false.
ВП>

ВП>И т д итп.
ВП>gc не панацея. но единый менеджер ресурсов — это может стать бронзовой пулей.
ВП>Не серебряной, подчёркиваю
Вот это, конечно, интересно. Но означает ли это, что несетевое приложение никогда не увидит сеть даже опосредованно?
Вот на что я намекаю: допустим есть у нас что-то очень простое. Ну, скажем, текстовый редактор. И надо ему уметь файлы хранить (я извиняюсь за такой пример — возможно, в полноценной ОО-ОС не будет никаких файлов, а будет просто встроенная в объекты персистентность. Тем не менее, вопрос останется почти таким же). Очевидно, что из соображений безопасности мы должны закрыть ему доступ к сети (ибо нефиг текстовому редактору сеткой пользоваться). И вот есть у нас с другой стороны файловый менеджер. И плугин к нему, который позволяет удаленные файлы как часть FS видеть (этакий Network Neigborhood). А теперь, внимание, вопросы:
1. Сможем ли мы сделать такой плагин к файловому менеджеру, не объявляя сам файловый менеджер сетевым?
2. Сможем ли мы из нашего текстового редактора как-то общаться с этим файловым менеджером и обрабатывать, например, драг-н-дроп удаленного файла в наш редактор для открытия?
... << RSDN@Home 1.1.4 beta 3 rev. 185>>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[9]: Уязвимость
От: Трурль  
Дата: 27.12.04 07:32
Оценка:
Здравствуйте, AndrewVK, Вы писали:

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


Т>>Вовсе это не естественно. Почему бы системе и не следить за ресурсами?


AVK>Потому что для многих ресурсов ленивое освобождение неприемлемо, а алгоритмов, гарантирующих мгновенное освобождение ресурса полностью автоматически пока не придумали.


Есть подозрение, что такие ресурсы будут постепенно изыматься из обращения.
Re[9]: Нет войне )) даешь ООП
От: Волк-Призрак Россия http://ghostwolf.newmail.ru
Дата: 27.12.04 08:30
Оценка:
Здравствуйте, Sinclair, Вы писали:

S>Здравствуйте, Волк-Призрак, Вы писали:


ВП>>Объект видит системное дерево объектов в той мере, в которой ему это позволяет система downing rights levels. Т. е. "уровни прав творения всегда ниже, чем у творца". Например, есть приложение, зарегестриованное при инсталяции как "стандартное НЕсетевое париложение". Все процессы этой программы будут видеть допустим диски, с фильтром прав пользователя. А сеть она не увидит вообще. Ей корень network.* не будет просто доступен. "Какие там акселеративные интерфейсы:? не смешите мои тапочки!" скажет несетевому приложению менеджер доступа к дереву объектов в ответ на соотв. запрос. например

ВП>>
ВП>>getSystemObjectsTree().isexists("network.lan.lanadapters.list");// вернёт false.
ВП>>

ВП>>И т д итп.
ВП>>gc не панацея. но единый менеджер ресурсов — это может стать бронзовой пулей.
ВП>>Не серебряной, подчёркиваю
S>Вот это, конечно, интересно. Но означает ли это, что несетевое приложение никогда не увидит сеть даже опосредованно?
S>Вот на что я намекаю: допустим есть у нас что-то очень простое. Ну, скажем, текстовый редактор. И надо ему уметь файлы хранить (я извиняюсь за такой пример — возможно, в полноценной ОО-ОС не будет никаких файлов, а будет просто встроенная в объекты персистентность. Тем не менее, вопрос останется почти таким же). Очевидно, что из соображений безопасности мы должны закрыть ему доступ к сети (ибо нефиг текстовому редактору сеткой пользоваться). И вот есть у нас с другой стороны файловый менеджер. И плугин к нему, который позволяет удаленные файлы как часть FS видеть (этакий Network Neigborhood). А теперь, внимание, вопросы:
S>1. Сможем ли мы сделать такой плагин к файловому менеджеру, не объявляя сам файловый менеджер сетевым?
S>2. Сможем ли мы из нашего текстового редактора как-то общаться с этим файловым менеджером и обрабатывать, например, драг-н-дроп удаленного файла в наш редактор для открытия?

Ээээ.....
Ну тут достаточно просто делается — "симуяция локального узла (папки)".
Т. е. программа для работы с удалёнными файлами создаёт объекты своего класса, наследуя от File и Folder, и суёт их скажем в local/users/петя васечкин/контроьные/сервак/.
А всё, что может видеть и понимает File- и Folder-узлы, увидит после оповещения о изменеиях в local/users/. Но это не значит, что проге разрешат не только
sysClass cls=getGlobalClass("superpuperfilemanager.plugins.remote.ftp.RemoteFile");

но и
File f=cls.getMirrorOf("/local/users/петя васячкин/контрольные/сервак");

А вот
Folder f=findFile("/local/users/петя васячкин/контрольные/сервак");
getConsoleOut().println(f.getChangeDate());

разрешат, потому что это explore и execute, а не create.
На create тожеправа нужно. Даже если у тя есть права на sendmsg|getmsg|explore|execute.

execute в данном случае означает не тлько собственно execute но и получение и применение акселеративных интерфейсов (чемто напоминает COM с рефлексией).

Вообще думаю что следующих прав будет достаточно:
Каждое "право" имеет ранги от 0 до 0x0FFFFFFF. Объекты внутрениие ядра имеют ранг 0x0FFFFFFF, ессесно, по всем позициям. Этот ранг имеет всё, что создаётся до контроллера прав, который создаётся последний с такими рангами.
Прога, создавая объект в глобальном дереве, может назаначить ему ранги толлько ниже собственного ранга (ранга объекта в методе которого вызывается
globalizeInstanceInto(String nodename, sys_object newchild);
... << RSDN@Home 1.1.4 beta 3 rev. 185>> @@J[getWorld.ApplyCheats(unfair.Cheats.IDDQD_AND_IDKFA]
while(Life.getClass().getClassLoader()==Religion.GOD){Life.be();};
Скажи .net корпорации Microsoft! (c) ghostwolf 2004
7 раз поищи в стандартной библиотеке, 1 раз накодь своё.
Re[10]: Уязвимость
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 27.12.04 08:50
Оценка:
Здравствуйте, Трурль, Вы писали:

AVK>>Потому что для многих ресурсов ленивое освобождение неприемлемо, а алгоритмов, гарантирующих мгновенное освобождение ресурса полностью автоматически пока не придумали.


Т>Есть подозрение, что такие ресурсы будут постепенно изыматься из обращения.


Ну как изымутся, так и проблема исчезнет. Только сильно сомневаюсь я в этом.
... << RSDN@Home 1.1.4 beta 3 rev. 268>>
AVK Blog
Re[8]: Уязвимость
От: GlebZ Россия  
Дата: 27.12.04 18:52
Оценка: +1
Здравствуйте, Mr. None, Вы писали:

MN>Ну тогда почему бы программисту не следить и за памятью как за другими ресурсами и обойтись без GC...

Сравни кол-во выделений памяти, и других ресурсов. Небо и земля.
Проблема не решается smart pointerами. А если учесть что: они не входят в спецификацию, и следовательно не обязательно для обучения, и следовательно не обязательно для применения (во многих случаях, их и не применишь). А теперь представь себе программиста, только что выучившего азы науки, и работающего на какое-то предприятие где даже научиться не у кого. Месяц пишет программу, два месяца вычищает ошибки. GC это не панацея, но положительного в нем очень много. Свою роль он выполняет. При правильном теоретическом подходе, любую вещь можно испортить. Просто в данном случае, это будет значительно сложней.

Немного перефразирую ваше предложение: А почему бы GC не следить за остальными ресурсами?

С уважением, Gleb.
Re[9]: Уязвимость
От: Mr. None Россия http://mrnone.blogspot.com
Дата: 28.12.04 05:15
Оценка:
Здравствуйте, GlebZ, Вы писали:

GZ>Здравствуйте, Mr. None, Вы писали:


MN>>Ну тогда почему бы программисту не следить и за памятью как за другими ресурсами и обойтись без GC...

GZ>Сравни кол-во выделений памяти, и других ресурсов. Небо и земля.
Сравните проблемы, возникающие из-за утечки памяти и утечки других ресурсов. Небо и земля. Если у вас будет течь память, то программа будет работать и не упадёт, пока не исчерпает всю VM, а это ой как много — если у вас не сервер, то ничего страшного в этом нет. А если она не освободит какой-нибудь важный файл, то при следующей попытке его захвата всё рухнет к чёртовой матери.

GZ>Немного перефразирую ваше предложение: А почему бы GC не следить за остальными ресурсами?

И как вы себе это представляете, например, на примере освобождения файла? Вообще-то он следит — когда закончится VM, запустится GC и убъёт потеряный объект класса CFile, при этом вызовется его деструктор и файл освободиться. Но такое решение меня не устраивает — может память вообще не кончится! Чтобы решить проблему слежения за всеми ресурсами, GC должен вызываться каждый раз при выходе за пределы определённого контекста вызова — вышли из цикла, пускаем GC, сделали return пускаем GC. Но в таком случае или машина колом ляжет или мы опять таки придём к идее автоматического размещения на стеке и концепции auto_ptr... Вобщем: "С разума начали, разумом кончили." — Формула любви.
Компьютер сделает всё, что вы ему скажете, но это может сильно отличаться от того, что вы имели в виду.
Re[10]: Уязвимость
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 28.12.04 11:40
Оценка:
Здравствуйте, Mr. None, Вы писали:

MN>>>Ну тогда почему бы программисту не следить и за памятью как за другими ресурсами и обойтись без GC...

GZ>>Сравни кол-во выделений памяти, и других ресурсов. Небо и земля.
MN>Сравните проблемы, возникающие из-за утечки памяти и утечки других ресурсов. Небо и земля.

Совершенно верно — утечки памяти несравнимо страшнее, поскольку обнаружить их сложнее на порядок.

MN> Если у вас будет течь память, то программа будет работать и не упадёт, пока не исчерпает всю VM, а это ой как много — если у вас не сервер, то ничего страшного в этом нет.


Ты когда серверный софт пишешь — вот так не переживаешь особо по поводу ликов? Лок файла отлавливается на раз — обычно код, использующий конкретный залоченый фал находится в одном месте (да и кода, использующего файлы ничтожно мало). А вот если у тебя где то, непонятно где, течет, то это большая задница. И для современного серверного софта это не допустимо, поскольку требования к бесперебойной работе становятся все жестче, а гарантировать нормальное поведение лика не на тестовых задачках, а под реальной нагрузкой никто не может.

GZ>>Немного перефразирую ваше предложение: А почему бы GC не следить за остальными ресурсами?

MN>И как вы себе это представляете, например, на примере освобождения файла? Вообще-то он следит — когда закончится VM, запустится GC и убъёт потеряный объект класса CFile, при этом вызовется его деструктор и файл освободиться. Но такое решение меня не устраивает — может память вообще не кончится! Чтобы решить проблему слежения за всеми ресурсами, GC должен вызываться каждый раз при выходе за пределы определённого контекста вызова — вышли из цикла, пускаем GC, сделали return пускаем GC.

Такое бывает. Но часто подобное можно обойти, к примеру запретив напрямую лезть к файлам, а открытые файлы помещать в пул. Получается, что если эти файлы использует только твое приложение, то висящий лок не страшен.
... << RSDN@Home 1.1.4 beta 3 rev. 268>>
AVK Blog
Re[11]: Уязвимость
От: Mr. None Россия http://mrnone.blogspot.com
Дата: 28.12.04 12:23
Оценка: +1 :)
Здравствуйте, AndrewVK, Вы писали:

GZ>>>Сравни кол-во выделений памяти, и других ресурсов. Небо и земля.

MN>>Сравните проблемы, возникающие из-за утечки памяти и утечки других ресурсов. Небо и земля.

AVK>Совершенно верно — утечки памяти несравнимо страшнее, поскольку обнаружить их сложнее на порядок.


MN>> Если у вас будет течь память, то программа будет работать и не упадёт, пока не исчерпает всю VM, а это ой как много — если у вас не сервер, то ничего страшного в этом нет.


AVK>Ты когда серверный софт пишешь

Вы там апелировали к программисту, который только что выучил азы науки и который ничего не знает про смарт-поинтеры и которому GC поможет... Так вот — такого не посадят сервер писать, а нам с вами что GC что смарт-поинтер — всё едино ...
Вобщем кончаем этот флейм — всё равно все при своём мнение остануться, пошли к новому году готовиться, у меня как раз медовуха поспела .
Компьютер сделает всё, что вы ему скажете, но это может сильно отличаться от того, что вы имели в виду.
Re[12]: Уязвимость
От: kavlad Россия http://www.wavesoft.ru
Дата: 28.12.04 13:01
Оценка:
Здравствуйте, Mr. None, Вы писали:

GC кроме всего прочего позволяет изменить и сами языки программирования. Например, избавиться от указателей. Т.е. и языки становятся "более защищенными" — не позволяют писать совсем уж опасный код.
... По ушам лупит Tiamat — Heaven of High
Re[8]: Уязвимость
От: Трурль  
Дата: 28.12.04 13:04
Оценка: +2
Здравствуйте, Mr. None, Вы писали:

MN>Ну тогда почему бы программисту не следить и за памятью как за другими ресурсами и обойтись без GC...

А заодно и за регистрами, прерываниями и т. д.
Re[2]: Нет войне )) даешь ООП
От: kavlad Россия http://www.wavesoft.ru
Дата: 28.12.04 13:05
Оценка: :)
Здравствуйте, StanislavK, Вы писали:

SK>Точнее, может и весело, но тяжело и долго.




Хорошо сказал! Даешь хардкор!!!
... По ушам лупит Tiamat — Too Far Gone
Re[12]: Уязвимость
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 28.12.04 13:29
Оценка: +1
Здравствуйте, Mr. None, Вы писали:

MN>Вы там апелировали к программисту, который только что выучил азы науки и который ничего не знает про смарт-поинтеры и которому GC поможет... Так вот — такого не посадят сервер писать


Лично я сажал. Полет нормальный.
... << RSDN@Home 1.1.4 beta 3 rev. 268>>
AVK Blog
Re[10]: Уязвимость
От: Serginio1 СССР https://habrahabr.ru/users/serginio1/topics/
Дата: 28.12.04 13:48
Оценка:
Здравствуйте, Mr. None, Вы писали:


GZ>>Немного перефразирую ваше предложение: А почему бы GC не следить за остальными ресурсами?

MN>И как вы себе это представляете, например, на примере освобождения файла? Вообще-то он следит — когда закончится VM, запустится GC и убъёт потеряный объект класса CFile, при этом вызовется его деструктор и файл освободиться. Но такое решение меня не устраивает — может память вообще не кончится! Чтобы решить проблему слежения за всеми ресурсами, GC должен вызываться каждый раз при выходе за пределы определённого контекста вызова — вышли из цикла, пускаем GC, сделали return пускаем GC. Но в таком случае или машина колом ляжет или мы опять таки придём к идее автоматического размещения на стеке и концепции auto_ptr... Вобщем: "С разума начали, разумом кончили." — Формула любви.

GC постоянно развивается и проблема описанная тобой может разруливаться и компилятором, обрабатывая код и выискивая объекты на которые нет исходящих ссылок из тела метода. Даже на данном этапе, для GC генерируется множество подсказок. Все течет, все меняется ....
и солнце б утром не вставало, когда бы не было меня
Re[11]: Уязвимость
От: Mr. None Россия http://mrnone.blogspot.com
Дата: 29.12.04 05:36
Оценка:
Здравствуйте, Serginio1, Вы писали:

S> GC постоянно развивается и проблема описанная тобой может разруливаться и компилятором, обрабатывая код и выискивая объекты на которые нет исходящих ссылок из тела метода. Даже на данном этапе, для GC генерируется множество подсказок. Все течет, все меняется ....


Вот когда притечёт и измениться. И GC сможет решить указанную мной проблему, вот тогда поговорим, а сейчас — это рассуждение о возмолжности существования в вакууме сферических коней и других псевдоматериальных сущностей.
Компьютер сделает всё, что вы ему скажете, но это может сильно отличаться от того, что вы имели в виду.
Re[2]: Нет войне )) даешь ООП
От: GlebZ Россия  
Дата: 02.01.05 09:15
Оценка:
Здравствуйте, StanislavK, Вы писали:

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


SK>А мне глубоко не пофигу. Посмотри struts, hibernate и т.д. Такие библиотеки на C++ сделать невозможно, язык не позволяет. Так, что решая те задачи, на которые заточены это бибилитеки, на С++ тебе будет не весело совсем. Точнее, может и весело, но тяжело и долго.

Почему не позволяет? У меня ОРМ работало на С++, не жаловался.

С уважением, Gleb.
Re[13]: Уязвимость
От: GlebZ Россия  
Дата: 02.01.05 09:17
Оценка:
Здравствуйте, kavlad, Вы писали:

K>Здравствуйте, Mr. None, Вы писали:


K>GC кроме всего прочего позволяет изменить и сами языки программирования. Например, избавиться от указателей. Т.е. и языки становятся "более защищенными" — не позволяют писать совсем уж опасный код.

Указатели — это палка о двух концах. С другой стороны, это наиболее быстрая адресация памяти.

С уважением, Gleb.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.