3 ms·
> In summary: OO is substantially more expressive than FP. In the same way assembly is substantially more expressive than C. Expressiveness in the way you've d
by tathougies 10y ago
> In summary: OO is substantially more expressive than FP.
In the same way assembly is substantially more expressive than C. Expressiveness in the way you've defined here is the least interesting aspect of a programming language.
Since it's well established that OO and FP are equivalent in the sorts of things you can compute, you ideally want a paradigm that makes it easy and intuitive to code up computations versus one that is strictly 'expressive'.
> This view is too simplistic, and doesn't scale up to include OO features such as method overriding.
I'm pretty sure this is simply false. Modern Haskell with GADTs for example can easily encode any aspect of OO, including method overriding. Do you have a counter-example in mind?
- mafribe 10y agocounter-example in mind? I note that GADTs are types, so this might not scale to an untyped setting. Anyway, I'm not following research on GADTs closely, but you show me a sound and complete, compositional encoding of (idealised) object-calculi a la Abadi/Cardelli using (idealised) Haskell?