• DATE:
  • 2018.07.10
  • 気づいた事、発見した事

  • TITLE:
  • 第243回「プログラムの抽象化」Y.T

 私がプログラミングを始めて約8年、良いプログラムとは何なのかを考える上で「抽象化」という言葉をよく耳にしてきました。プログラミング初心者にとっては分かりにくい言葉以外の何者でもありません。最近、プログラミングの本を読んでいて「どうやるか(How)ではなく何を(What)するか」に着目すると良いプログラムが書けるという一文がありました。初心者にはこういう噛み砕いた言葉で説明するべきだと思いました。大学の最初のプログラミングの授業ではまずプログラミング言語の文法から教えられますが、そのプログラムは文法を学ぶためのプログラムなので、どうしても、どのように動いているかという視点で見てしまいます。それも大事ですが、プログラムというのは目的を達成するための手段であり、それ自体が目的であってはいけないはずです。どうやるかに囚われていると処理の実装方法に依存したプログラムになってしまいます。そうではなく実装方法をブラックボックス化し、何をするプログラムかという情報のみに依存する、これこそが抽象化するということだと理解しています。実装方法よりも何をするかという目的の方が変化しにくいから、変化しにくい方に依存させておけば、全体として修正が少なくなるということです。
 仕事でプログラミングをするようになるとこの考え方は重要です。仕事には期限があり、目的は顧客が望んでいる動くソフトウェアを提供することです。そうなると私はプログラムを一から書くことはしなくなりました。私がやりたいことは既に誰かが作っているはずと考え、まずインターネットで検索します。私の経験上、作りたいプログラムの9割は誰かが既に考えていて、しかもソースコードが公開されています。もちろんライセンスには注意が必要ですが、ほとんどの場合は役立てるために公開されているわけですから、先人達の知恵を利用しない手はありません。プログラムを一から作るのは例えるなら家電製品の部品を一から作るようなもので、いくら時間があっても足りません。プログラマーの仕事はいかに適切な部品を素早く見つけ出し、最適な組み立て方を考えることだと思うようになりました。優先するべきは目的が達成できてるかどうかで、達成できていないときに初めてどうやるかを見ても遅くはないはずです。目的を達成できるようにカスタマイズすれば良いのです。

この記事はワタシが書きました。

システム部

匿名希望

同じ人が書いた記事

第243回「プログラムの...


2018.07.10

 私がプログラミングを始めて約8年、良いプログラムとは何なのかを考...

第240回「コードの適応...


2018.03.27

 私が現在関わっているシステム開発プロジェクトは、担当してからもう...

第218回「理想と現実」...


2016.09.26

皆さんは目標を達成するためにスケジュールを立てたことはあるでしょう...

カテゴリー一覧