オブジェクト指向の良いところと難しいところ

あくまでもイメージであるが、オブジェクト指向を取り入れることにより、関数などよりもずっと大がかりな仕組みを導入できるようになる
関数だけのライブラリでもある意味言語を拡張できるのだけれど、元になる変数などは大きくは変わらないので関数の機能だけ覚えれば十分使えるようになる
ところがオブジェクト指向型のクラスになると、変数の型そのものもそのクラス独自のものを作れてしまい、言語の拡張度合いが大きくなる。
それ故にNumPyのように元のPythonよりも便利な行列型が使えたりするのだけれど、もはや別言語といってもいいほど違うものになってしまい、学習コストが高くなってしまう。
便利な部分だけちゃちゃっと使う分には余り悩まないけれど。

ごちゃっとなってしまったが、良いところは「元の言語を大幅に拡張できるところ」で、難しいところは「それ故にさらに学習が大変になること」
実際NumPyも網羅的な教科書が欲しい位なのだけれど、なかなかない、というかNumPyのドキュメントを読めと言うことなのかも知れないけれど・・・。