私がプログラミングを始めたのは高校生のときで、本と首っ引きではんだ付けして作ったマイコンで24個のスイッチをパチパチして0と1の命令セットである機械語や数値をメモリに直接書き込んでいました。不揮発記憶(その頃は磁気テープに音で入れていた-Star WarsのR2D2の声)が作れなかったため、電源を切るとそれまで入れた情報が消えてしまうので、200ステップ以上ある円周率の計算(メモリが許す最大桁、忘れましたが数百桁)がうまくいったときはとてもうれしかった覚えがあります。いま改めて勉強していて、情報工学の重要な概念の多くがそれよりもずっと前に提唱されているのに驚きました。私見では、重要なものの一つが「カプセル化=情報秘匿」(1972, by David Parnus)だと思います。
https://ja.wikipedia.org/wiki/%E3%82%AB%E3%83%97%E3%82%BB%E3%83%AB%E5%8C%96
今のように便利な公開ライブラリをインポートして使うようになるとよくわかるのですが、プログラムを一行一行書くのではなく、一つひとつの機能をする部分を「部品」として扱うための考え方です。例えばギヤボックスを設計するとき、歯車の直径と歯の数が重要で、材質や厚みや刃の先が丸いかとがっているかはそれほど重要ではありません(たとえがよくない)。直径と歯の数以外は、隠してしまうというのがカプセル化の考え方です。使う人は隠されたところは気にせず、提供された機能だけに注目することにより、分業が可能になります。当たり前と言われればそうですが、うまくまとめて説明した人は偉いと思います。
英語はDeepLを試してみましょう。→ 10か所くらい手直しが必要でした。特に、「首っ引きで」、「今のように」、が間違っていました。
「部品」をa component、「分業」を the division of labor と出してきたのはよかったです。
I started programming when I was in high school, using a microcontroller I built by soldering referencing a book, snapping 24 switches and writing machine words and numbers, a set of instructions of 0s and 1s, directly into memory. Since I could not build non-volatile memory (at that time, it was stored on magnetic tape with sound – the voice of R2D2 from Star Wars), the information I had stored would be lost when the power is turned off, so I was very happy when I could successfully calculate pi, using a program over 200 steps, to the maximum number of digits memory would allow, I forget, several hundred. Now I am studying computers again, and I am amazed that many of the important concepts of information engineering were proposed long before that. In my opinion, one of the key concepts is “encapsulation, or informaiton hiding” (1972, by David Parnus).
https://ja.wikipedia.org/wiki/%E3%82%AB%E3%83%97%E3%82%BB%E3%83%AB%E5%8C%96
As you can clearly see when you import and use useful public libraries, the idea is to treat each part that does a function as a “component” rather than writing a program line by line. For example, when designing a gearbox, the diameter of the gear and the number of teeth are important, not so much the material, thickness, or whether the tips of the blades are round or pointy (not a good metaphor). The idea of encapsulation is to hide everything but the diameter and number of teeth. The division of labor is enabled because the user does not care about what is hidden, but only focuses on the functions provided. If it sounds obvious, it is, but I think the person who put it all together and explained it well did a great job.