Я из классов языков ориентации объектов, и недавно я изучал эти фантастические динамические языки (JavaScript, Python и Lua), и мне нужны некоторые советы о том, как использовать OO на этих языках. Было бы полезно знать подводные камни и недостатки такого подхода и преимущества по сравнению с традиционными ОО.
Общее представление, которое я получил, это то, что основанный на прототипе OO в основном программирует объекты, но не имеет никакого стандарта о том, как их использовать, тогда как в обычном OO существует фиксированный предопределенный способ создания и использования объектов.
В целом, что такое хорошая, плохая и уродливая часть такого подхода?