最近プログラミングの勉強をして面白かったのは、「デザインパターン」です。
https://ja.wikipedia.org/wiki/%E3%83%87%E3%82%B6%E3%82%A4%E3%83%B3%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3_(%E3%82%BD%E3%83%95%E3%83%88%E3%82%A6%E3%82%A7%E3%82%A2)
これは、いろいろな課題をプログラムに落とし込むときによく使う23個のパターンがある、というもので、1994年の著書によって有名になりました。著者の4人(Gamma, Helm, Johnson, Vlissides)はGang of Four(4人のやくざ?)と呼ばれGoF bookと略称されるほど流行したようです。発展形として、マルチコアコンピュータ用のmulti-thread patternも15-18個あるようです。
https://en.wikipedia.org/wiki/Software_design_pattern
「定石(じょうせき)」とも言えますね。概念に名前を付けるとコミュニケーションに役立つから、人名反応など用語は面倒でも覚える必要がある、というのが私が講義で強調するところですが、ソフトウェア工学も同様ですね。解説本は多数出ています。youtubeもあります。下記はわかりやすいです。説明に使われている言語はtypescript(ts、javascriptの改良版)ですね。
https://www.youtube.com/watch?v=tv-_1er1mWI
日本政府はリスキリング(re-skilling)のためにITを教えるボランティア(!)を募集しているようですが、ボランティアはつらいでしょう。価格は市場原理に任せて、再教育用の補助金(単位取得で一定額のキャッシュバックなど)を各人に配るのがいいと思います。情報系の民間・国の試験はいろいろあるのでそれを目標にするとよさそうです(受験料が結構高い(3万円など)なので、自分が受けるかどうかは迷うところです)。
英語は上記youtubeから。
Sistine Chapel システィーナ礼拝堂 1483建立のバチカンの礼拝堂
adrress reccuring problems リ「カ」ーリング 繰り返し起こる問題を処理する address は「話しかける」のほかに、「処理する」があります。
a proficient software engineer 熟練ソフトウェア技術者 プロ「フィ」シエント level 6
you need use your brain to implement them それらを実装するのに頭を使わなければならない。 「イ」ンプるメント
instantiate 実体化する インスタンス化する
boilerplate ボイラー板、では意味が通じません。「一般的な使いまわしをするための表現」 型となる物体に熱い金属板を押し付けてボイラー板を量産したことから。 https://en.wikipedia.org/wiki/Boilerplate_text
a complex hierarchy of codes 複雑な階層を持つコード ハイ「ア」ラーキー
modern best practice 現代の最善の方法
defer デ「フ」ァー 延期する
delegate 「デ」らゲイト 委任する
facade ファ「サ」ード 建物の正面、実態より立派な見かけ
plumbing system プらミング 配管システム plumbing で鉛管、水道管、配管
plumb プらム はおもり、鉛で、 Pbはラテン語の鉛 plumbumからきています。 動詞の意味は、錘(おもり)で垂直を測る、測量する、配管する
スーパーマリオブラザーズの店は Mario Brothers Plumbing です。心優しい配管工との設定。
https://www.mariowiki.com/Mario_Brothers_Plumbing
proxy 代理、代理人 委任状
mediator 仲介人
an airplane and a runway 飛行機と滑走路
it eliminates code duplication エ「リ」ミネイト コードの重複を除去する
finite number of states 「ファ」イナイト 有限の数の状態
make object’s behavior predicatable オブジェクトのふるまいを予想可能にする
identical アイ「デ」ンティカル 同一の