ソフトウェアの作法の教科書でおすすめなのは下記です。いろいろ悩んでいたことへの対処法が明快に説明してありました。我流で試してもいいが、壁に当たったら系統的に勉強しろ、というのは真理ですね。500ページ越えで分厚いですが重くはありません。私はなかなかまとまった本が書けなくて苦労しているので、この量を書ける能力はうらやましいです。
現代のプログラミングは「オブジェクト指向」(object oriented; 洋書ではOOやOOPと略す)無しには語れません。
説明はいろいろありますが、下記動画はかなり工夫されています。短いプログラムでは良さが分かりにくいです。複雑なシステムを作り始めると効果がわかります。昨日の「カプセル化」も効用の1つです。
上記の本の内容は大学の情報系の学科では当然講義していると思います。DX化が進む社会においては、もっと多くの学科でプログラミングを教育し、多くの人が(AIの力を借りてでも)プログラミングできるといいと思うのですが、どうでしょうか。
英語は、業界用語を紹介します。
object oriented programing オブジェクト指向プログラミング
procedure 手続き 日本語の本では「プロシージャ」と呼ばれます
class クラス
instance インスタンス (私は、「実体」と説明しています)
constructor コンストラクタ = インスタンスを生成する
inheritance 継承(けいしょう)
abstraction 抽象化
encapsulation カプセル化
imperative programming 命令型プログラミング cf (文法)命令文 imperative sentence イン「ペ」ラティブ
declarative programming 宣言型プログラミング
assertion ア「サ」ーション 普通は、自己主張・断言、と訳しますが、プログラミングでは実行時に条件が満たされているかどうかチェックする機能を指します。
https://e-words.jp/w/%E3%82%A2%E3%82%B5%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3.html