LINUX.ORG.RU

История изменений

Исправление stevejobs, (текущая версия) :

Java тут не при чем. При чём одна большая идея: ты не должен управлять жизнью объектов языка.

В том коде, который ты описываешь, не должно быть создания объекта (оно произошло автоматически когда-то ранее, когда решит IoC/DI) и не должно быть удаления объекта с хипа (оно произойдет когда-то позже, когда решит GC). Кроме того из любого объекта можно сослаться на любой, минуя процедуру ручного создания и линковки (этим опять же занимается IoC/DI) на основании метаинформации.

Чтобы такая модель существовала, язык должен обладать несколькими свойствами, например - full runtime reflection, чтобы бегать по полям и автоматически линковать одни объекты с дргуими в рантайме. (Хотя с некоторыми допущениями можно опуститься до линковки в compile time reflection)

С++ такими свойствами не обладает, а вот Java/C# - обладает. Поэтому C++ в текущем виде будет отмирать, пока в него на уровне стандарта не добавят GC и IoC/DI хоть в каком-то виде.

Исходная версия stevejobs, :

Java тут не при чем. При чём одна большая идея: ты не должен управлять жизнью объектов языка.

В том коде, который ты описываешь, не должно быть создания объекта (оно произошло автоматически когда-то ранее, когда решит IoC/DI) и не должно быть удаления объекта с хипа (оно произойдет когда-то позже, когда решит GC). Кроме того из любого объекта можно сослаться на любой, минуя процедуру ручного создания и линковки (этим опять же занимается IoC/DI) на основании метаинформации.

Чтобы такая модель существовала, язык должен обладать несколькими свойствами, например - full runtime reflection, чтобы бегать по полям и автоматически линковать одни объекты с дргуими в рантайме.

С++ такими свойствами не обладает, а вот Java/C# - обладает. Поэтому C++ в текущем виде будет отмирать, пока в него на уровне стандарта не добавят GC и IoC/DI хоть в каком-то виде.