|
|
|
|
|
by spankalee
5233 days ago
|
|
> Does it support prototypal inheritance? (also great) No. Dart has classical inheritance, which by the large number of classical inheritance libraries for Javascript, is still very popular even when prototypal inheritance is available. I personally abhor prototypal inheritance. It's aesthetically unappealing, hard to reason about, hard to optimise, and turns what is usually a declarative pattern into an imperative one. When most people are approximating classical inheritance anyway, that's a big sign. It's sometimes nice that objects can differ structurally from their class, but I've never found it that useful. |
|
"When most people are approximating classical inheritance anyway, that's a big sign."
Two things on that:
1. Most people (vast majority) learned OOP in a classical style, so that's what they're going to be comfortable with and will try to implement. It doesn't automatically mean classical style is superior.
2. You may want to check out the Klass library[1]. It provides a "classical interface to prototypal inheritance." So perhaps classical style is easier to use, but prototypal is better to have in the background.
[1]https://github.com/ded/klass