Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

For the specific problems I mentioned like slicing, literally anything else that actually abstracts the memory layout.

For OOP in general, I'd say anything with a metaobject protocol for starters, like Smalltalk, Lisp (via CLOS), Python, Perl (via Moose). All but the first support multiple inheritance, but also have well-defined method resolution orders. Multiple inheritance might still lead frequently to nasty spaghetti code even in those languages, but it will still be predictable.

CLOS and Dylan have multiple dispatch, which is just all kinds of awesome, but alas is destined to remain forever niche.



Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: