It’s not valid Java for e.g. Lists, Maps, Strings or any programmer-defined classes.
Same with operator overloading.
myVectorA + myVectorB is not valid Java, but it is valid OOP in e.g. Python or C++. And this kind of syntactic sugar reduces verbosity enourmously, while still being OOP.
If you have ever worked in e.g. Python, Groovie or Kotlin you notice quickly how non-verbose OOP can be.
It seriously is just Java.
And Javas insistance on having you wrap non-OOP things in fake OOP constructs (e.g. static methods, which are just functions in modules, but you have to uselessly abuse classes as modules) isn’t helping either.
It’s not valid Java for e.g. Lists, Maps, Strings or any programmer-defined classes.
Same with operator overloading.
myVectorA + myVectorB
is not valid Java, but it is valid OOP in e.g. Python or C++. And this kind of syntactic sugar reduces verbosity enourmously, while still being OOP.If you have ever worked in e.g. Python, Groovie or Kotlin you notice quickly how non-verbose OOP can be.
It seriously is just Java.
And Javas insistance on having you wrap non-OOP things in fake OOP constructs (e.g. static methods, which are just functions in modules, but you have to uselessly abuse classes as modules) isn’t helping either.