|
|
|
|
|
by l_dopa
2615 days ago
|
|
That's not entirely accurate. Abstract data types (e.g. ML modules) can also be modeled as existential types and don't have the same problems. I think it's the particular combination of only having nominal typing, only allowing the oo-flavor of data abstraction, and encouraging programming with state and using inheritance for code reuse that leads to the object-spaghetti nonsense in heavily-oo Java/C++ codebases. |
|
The problem is not that OO languages have these features; the problem is that they lack other features common to functional languages.