はじめに

はじめに

コンピュータに実行させたい処理には様々なものがあるでしょう。それは、英語の文章の翻訳かもしれませんし、コンピュータに取り込んだ写真の編集かもしれません。しかし、それらをコンピュータに実行させようとすると複雑なプログラムが必要になるでしょう。プログラミングを学び始めた時期には見当がつかないかもしれませんが、どのような複雑な処理であっても細かく分割していく事が可能であり、本当に小さく分割した1つ1つのプログラムのほとんどは1ヶ月ほど学習すれば作成できるような単位は非常になプログラムです。
勿論、複雑で巨大なプログラムを作成する事が難しく、経験と知識が必要な事には変わりません。難しいのは、目的の処理を簡単な処理に分割し不具合なく組み合わせるという過程、すなわち設計です。一般的なプログラミングの学習では、プログラミング言語の文法ばかりを取扱いますが、初期のうちから設計に関する意識を持たなければなりません。

プログラミングを学び始めようという段階で設計なんか考えられない…と思うかもしれません。しかし、プログラミングはパズルのようなものです。コンピュータに実行させる最小単位の処理を組み合わせてプログラムを作成していきます。言い換えれば、学習した処理が少なければ組み合わせるパターンも少なくなります。当然ながら出来る事も限られてしまいますが、思った以上に色々な処理が実現できる事に驚くはずです。最初から1200ピースのパズルに挑戦するよりも8ピースのパズルに挑戦する方が気分的にも楽ですよね?

繰り返しますが、基礎的な内容だからこそ設計を意識してください。それは、熟練したプログラマーから見たならば設計などとは呼ばないものかもしれません。しかし、熟練したプログラマーにとって、何度も何度も繰り返して使ってきたパターンだから自然に思えてしまうだけです。そのプログラマーが必死に考え付いた設計は、もっと熟練したプログラマーにとっては自然なパターンになります。プログラミングを学習するという事は、文法を覚えるという事ではなく、自分にとって簡単な設計をパターン化し自然なものとし、より複雑な設計を学習していくという反復的な学習になります。