I wouldn’t call hyper object oriented languages like smalltalk, io, and ruby “better“, just different. The ABI is only a shortcoming if you value aesthetics over other considerations.
It's not just aesthetics. I mentioned the ABI issue because it is the technical reason why factories exist. Writing "new X" makes X part of the compiled code. This makes it impossible to swap X for Y and delete X later without breaking binary and even source compatibility. This is important for libraries and code reuse.
I don't think it is controversial to say those languages are better. A language with limitations that must be constantly worked around must be worse than a language without those problems.
Languages are only good or bad in the context of performing a task. Ranking them in abstract is a silly waste of time that engineers love to emotionally engage in.
The ABI is also important for performance! You aren’t making this comparison in good faith. You can easily acknowledge the entire trade off rather than just calling one better.
matheusmoreira|6 years ago
I don't think it is controversial to say those languages are better. A language with limitations that must be constantly worked around must be worse than a language without those problems.
RaiseProfits|6 years ago
The ABI is also important for performance! You aren’t making this comparison in good faith. You can easily acknowledge the entire trade off rather than just calling one better.