История изменений
Исправление
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 хоть в каком-то виде.