Чим погано ОВП іноді?

Мінуси ОВП Частина програм потребує великих ресурсів обладнання. На складні об'єкти витрачається більше оперативної пам'яті. Вивчення об'єктно-орієнтованого програмування складніше, ніж функціональне програмування. На нього потрібно більше тимчасових ресурсів.

Python намагається залишатися максимально гнучким та давати розробнику свободу дій, зберігаючи максимум функціоналу. Тому Python використовує відступи, динамічно типізований і має не очевидні ідеї в дизайні ОВП.

Причина 1 – усі думають, що його легко вивчити; Причина 2 – всі думають, що з його допомогою можна підвищити рівень повторного використання коду; Причина 3 – хайп навколо ООП; Причина 4 – воно створює Нову Індустрію Програмування.

ООП дозволяє створювати класи, які можна використовувати повторно у різних частинах програми. Це знижує дублювання коду та спрощує його підтримку. Повторне використання коду сприяє більш ефективній розробці та зменшує кількість помилок.

Недоліки ОВП

  • Складність ООП може бути складним для розуміння та освоєння, особливо для новачків. …
  • Перевантаження пам'яті Об'єкти можуть займати більше пам'яті, ніж прості структури даних. …
  • Продуктивність …
  • Надмірність …
  • Залежність від конкретної мови

На мій досвід, найсерйозніша проблема ОВП полягає в тому, що воно мотивує ігнорувати архітектуру моделі даних і застосовувати безглуздий патерн збереження всього в об'єкти, що обіцяють якісь розпливчасті переваги. Якщо це підходить для класу, то це вирушає до класу.

Недоліки Python Код мови не компілюється в машинний, а виконується рядково. Це спрощує написання та налагодження, але знижує продуктивність. Python часто поступається у швидкості іншим мовам, таким як C, C++, Java або JavaScript. Зазначена особливість може бути критичною для графіки, систем, що вбудовуються, ігор.

Однак ми не можемо строго класифікувати Python як мову ОВП, оскільки він не підтримує сильну інкапсуляцію . Хоча він міцно запозичує принципи об'єктно-орієнтованої мови програмування, він також є процедурним, функціональним, рефлексивним та імперативним.