どこから始めるの?

2003/01/01 undo


今回は、前回紹介した本を読んでも、チンプンカンプンな、おバカなあなた用です(^^;;
なんて親切なおいら(*^_^*)


プログラミングにあたっては、その概念とテクニックを知ることが先決である。プログラミングの概念としては、最初は「手続き型」と「オブジェクト指向」を覚えれば十分でしょう。テクニックの最たるものは「アルゴリズム」や「パターン」と呼ばれるものであろう。世の中には「とんでもプログラマ」がシコタマいるので、今回紹介した分だけ覚えれば、まあ半人前としては通用するだろう。1日くらい騙すには十分だろ(^^;;


アルゴリズム

「アルゴリズム」って、なんのことだか分からん言葉でしょう。私もよく分かっていません(^^;; 大抵「問題解決の考え方」とか「処理手順」とか「算法」とかいう説明がついているんだけど、分かったような分からんような、、、、

まず最初に覚えるべきはソート(並び替え)とリストでしょう。おそらくこれを知らずして、次には進めないでしょう。「アルゴリズム+データ構造=プログラム」なんて本があったくらいアルゴリズムとプログラムの関係は密接でっせ。ソートはほんの一例にすぎません。それでも知らない奴に比較すれば、100倍マシなのよ(;_;)

ソートが一通り理解できたら、「珠玉のプログラミング」を読んでもらいたい。


手続き型

最初に理解すべきなことは「呼び出し」方法の違いを理解することであろう。まともなプログラムにはサブルーチンは必須の存在である。1万行もダラダラと書かれたのでは、読むほうはたまらない!
代表的な呼び出し方法は、次の3つである。この3つが区別できるようになることが機能分割(サブルーチン化)の最初の課題である。もっともこれを知ったからと言って、適正に機能分割できるとは限らない。プログラムをコンパイルできたからと言って正しく動くとは限らないのと等価である。

  1. 名前呼び出し(Call by name)
  2. 参照呼び出し(Call by reference)
  3. 値呼び出し(Call by value)

次の課題は「再帰(recursive)」を理解することであろう。おそらく数学で「漸化式」が分からなかった奴には厳しいだろう(^^; そういう奴はきちんと数学を勉強するか、プログラマをあきらめるか、どっちかにしてくれ!

そして、これまでに覚えたことをきちんとプログラミングするためには「記憶クラス」を理解しなくてはならないだろう。ついでに「スコープ」、「名前空間」、「メモリ管理」なんていうのも理解する必要があるだろう。


オブジェクト指向

はっきり言おう、ポリモルフィズム(多様性、多相性、多態性ともいう)を理解したら、「概念としてのオブジェクト指向」は分かったも同然である。いや、半分くらいかな? まぁ、そのくらい大事な部分であるってことで(^^;;

ここまできたら、やっと「デザインパターン」を理解するための素地ができたといえよう。


今日の専門用語


戻る