сам далеко не эксперт
делегаты сам не использовал в автоматизации ни разу, но бывает они нужны чтобы уменьшить колличество кода во время выполнения кода когда к каким-то ресурсам нужно организовать доступ разных методов по очереди и чтобы не впихивать код методво используют просто делегаты, меньше так сказать дублируещего кода, ивенты нужны в виндоус приложениях, ну типа когда кликаешь по кнопке происходит какое-то действие аналогия с тригеррами в базах данных, доступ к памяти в плюсах более менее, но в java и с++

все эти языки давно пора выкинуть на свалку и написать новый, есть типо язык D смесь плюсов и java/c# но на нем мало библиотек
так что написать новый язык не сильно сложно, а вот библиотеки под него старые переписать это жесть особенно касается С++, а на С их больше всего



да и ООП это не панацея т.к. код на нем более понятен и читабелен и логика понятней, но рабоатет он в болишинстве случаев медленней чем код написанный на процедурных языках либо в функциональном стиле без использования ООП(т.е. классов, объектов) + обычно меньше багов в функц коде