Yes, those are a huge improvement over the Java/C++ way. I cant tell if in a typical implementation all extension methods share the same namespace though (i.e. if the language has the concept of a "namespace" can one safely define two different extension methods on the same object in two different namespaces; this is trivial in CLOS since methods are not namesepaced to objects in any manner).
A quick read of the wikipedia article makes it look like in C# you can do this, but not in Ruby.
objective-c/swift/kotlin/c# all support them to varying degrees (but sadly not java afaik)