6 ms·
>I'd always prefer the SML module system to anything OOP for a project of any scale. There's a problem. I don't know any project which was implemented with SML
by solomatov 11y ago
>I'd always prefer the SML module system to anything OOP for a project of any scale.
There's a problem. I don't know any project which was implemented with SML on scale (I mean at least several MLOC).
- sklogic 11y agoOk, choose the Ada modules instead. And Ada was used for many MLOC scale projects.
- solomatov 11y agoI don't have experience with Ada, but I suspect, all its cool modular features can be expressed in Java (and sure in Scala). Could you give examples of features that you would like to have in modern OO languages which are available in Ada?
- sklogic 11y agoI am not talking about any "cool features" in particular. My point is that for the large systems you need a decent module system and namespaces, not the OOP. The fact that most of the statically typed OO languages also provide these features does not mean that OO is suitable for scalability - this is totally orthogonal to OOP. This is a fallacy similar to attributing pattern matching and ADTs to the functional programming, while these features are not inherently functional in any way. Try to build a large system in a dynamically typed OO language to see why OO per se is of no use for a large scale architecture at all.
- solomatov 11y agoI think, you are making mistake here. You shouldn't treat objects as objects, but as instances of modules. If you see it this way, everything looks much better in OO languages.
- sklogic 11y agoWhy do I need any OO in the first place, if the only value they can offer is in a poor man substitute for modules? I'd rather use the proper modules instead, with generic (i.e., inherently anti-OO) features.