At least with Rust, there is a specific, defensible goal for why it does that.
Java is just over designed. All of java.io reads like somebody’s Object Orientated Programming 101 final project, and they’d get a B- for it. Lots of things where you can see how they’re abstracting things, but there’s no thought at all in bringing it together in a tidy way.
Even regular Rust code is more “exciting” than Python in this regard, since you have a choice between self, &self, and &mutself. And occasionally mutself, &'aself, and even self: Box<Self>. All of which offer different semantics depending on what exactly you’re trying to do.
I’ll add that 100% of the above is understood by the compiler. Unlike Python or JavaScript where you don’t know how bad you have it until the program is already running.
Sorry, I’m too Rust-pilled for this OOP nonsense
Reminds me of java
I have
Toolkit toolkit = Toolkit.getDefaultToolkit();seared into my brain. Then there were the bean factories…At least with Rust, there is a specific, defensible goal for why it does that.
Java is just over designed. All of
java.ioreads like somebody’s Object Orientated Programming 101 final project, and they’d get a B- for it. Lots of things where you can see how they’re abstracting things, but there’s no thought at all in bringing it together in a tidy way.Now my brain wants to relate Java somehow to beancounters.
Well it is owned by Oracle now
Even regular Rust code is more “exciting” than Python in this regard, since you have a choice between
self,&self, and&mut self. And occasionallymut self,&'a self, and evenself: Box<Self>. All of which offer different semantics depending on what exactly you’re trying to do.I’ll add that 100% of the above is understood by the compiler. Unlike Python or JavaScript where you don’t know how bad you have it until the program is already running.
At least python has a decent runtime typing system
JS’s type system feels like what you’d get by giving a monkey access to unlimited cocaine and a computer
Having a field called r#self is malicious madness