プログラミングの学習が難しいのは、学習曲線にあると思います。以下は、手前味噌で恐縮ですが、2016年に出した私の本、「独習Python入門」の一節を抜粋して記載します。
プログラミングは、その成果が可視化されません。目に見えないものです。
プログラムの実体をこの目で見ることはできないので、いくら文章で概念を説明しても「ピンとこない」というケースは、私でもありますプログラミングを仕事にする私ですら、プログラミングで利用する概念が抽象的過ぎて腑に落ちないことが過多あります。
そのため、理屈ではなくて自分が書いて動いたプログラムから、こんなことが実現できるのか?――と体感していくことでしか、理解が深まりません。そして、理解が深まるまでには潜伏期間があります。
抽象的な話が多いプログラミングの学習曲線は、一本道ではありません。「今までずっとよくわからなかったけど実践している内にいろんなことがつながって、一気に理解が進んだ」という曲線を描きます。
同じペースで理解が進むものではなく、あるときに突然グンと伸びてくるものなのです。それまではなんとな~くわかっていたものが、明確に意味がわかるようになります。

プログラミングの学習の最大の敵は、わからない自分に自信をなくしてしまうこと、だと考えています。わからないものを放っといて良いのかと自問されることもあったかと思いますが、理解には時間がかかるものですので、自分を責めないでください。わかるときは、いつかやってきますから。