あと、「プログラミングを勉強すること自体」について教えて欲しいのは
どうすれば効率よく理解することができるのかってこと。

使ったことのないフレームワークを触ろうってなったとき
大体docksで(少なくとも私にとっては)新しい概念が出てきたりする。(angular2ならサービスとか)
それを理解するのにものすごく時間がかかる。
丸2,3日かかってやっと概念の全体像が本当に薄ぼんやりと掴める程度。
こういう「新しいフレームワークやライブラリ、言語、概念」を勉強する際、
効率よく理解して勉強を進める方法はあるのかな。