2010年08月28日

プログラミングとは何か

 このブログの読者のみなさまは、ほとんど全員がパソコンでアクセスしてくるので、何かしらのプログラムは使っているはずです。今回の記事では、プログラムを作る方法について述べていきます。
人気ブログランキング
 まず、何か物を作る行程というは、たとえばどこかの工場で材料が運ばれていったりするわけです。パソコンの部品もそういう具合につくられます。

 しかし、プログラムを作るのはそれとは全く別です。どちらかというと作文に近いかと思います。パソコンやOSに対する命令を1つずつ書いていくことでプログラムが作られていくのです。その命令というのは、たとえばこれです。
void MainForm_Closing(object sender,FormClosingEventArgs e)
{
  Settings.MainFormSetting setting=Program.Setting.MainForm;

  if(WindowState==FormWindowState.Normal)
    setting.Rectangle=this.Bounds;
  else setting.Rectangle=this.RestoreBounds;
  setting.ArticleView.Width=notePanel.ArticleViewWidth;

  try
  {
    Program.Setting.Write();
  }
  catch(Exception)
  {
    DialogResult result=MessageBox.Show(
      Resource.WrittingSettingError,
      ErrorMessages.Caption,
      MessageBoxButtons.YesNo,
      MessageBoxIcon.Error);
    if(result==DialogResult.No)
      e.Cancel=true;
  }
}

 これは、とあるプログラムのウインドー(この場合、フォームともいう)の閉じるボタンを押したときの処理です。英単語と記号が入り交じっていますが、英単語が分かる人でも命令の意味はほとんど分からないと思います。

 比較的分かりやすいのは Program.Setting.Write(); でしょうか。これは、「プログラムの設定を保存しなさい」という命令です。ただし、この1行だけでは設定を保存してくれません。この1行は「メソッドの呼び出し」と呼ばれるもので、プログラムの別の場所に書かれている別の命令を実行するものです。その「別の場所」には、保存先のファイル名を指定する命令や、ファイル形式を指定する命令、実際に保存処理をする命令が書かれています。このようにして、ウインドーを閉じたときに自動で設定を保存する命令ができあがります。

 コンピューターというのは機械ですので、少しでもあいまいさのある命令をすることはできません。1ビットの間違いすら起きないように細かく命令を書き綴っていく必要があります。そのため、小さなプログラムでさえ数千行の命令になったりします。MicrosoftのWordのような大規模なプログラムになると1000万行なのか1億行なのか、はたまたそれ以上なのか、私にも分かりません。

 上記の例は20行程度です。それでも意味が分からないかと思いますが、現実のプログラムは、こういうものが大量に書かれてできているのです。ですから、バグのないプログラムをつくるのがいかに難しいか想像できるかと思います。

 上記のような命令の羅列をソースコード、そのファイルをソースファイルといいます。ソースコードの状態でも十分わかりにくいですし、自分で書いたコードですら時間が経過すると(内容を忘れると)読めなくなることも十分起こりえます。

 それでもソースコードは、「人間が読み書きするためにコンピューターの命令を分かりやすくした」ものです。コンピューターが実際に理解できるのは、0や1の羅列(ビット列)で書かれた命令です。ソースファイルを0や1の羅列に変換して1つのプログラムを作り上げる作業を「ビルド」といいます。ソースコードさえ正しければ、ビルドはソフトウェアが自動的にやってくれます。
Build.png
 このような感じで、プログラムを作るためにソースコードを書いていくことを「プログラミング」といいます。名前から想像がつくかと思いますが、プログラム(のファイル)を作り出す行為だから「プログラミング」です。アプリケーションに対する命令であるスクリプトやマクロを書く行為や、 HTMLなどの文書を書く行為、あるいはデータベースの問い合わせ文を書く行為は、プログラミングとはいえないので注意が必要です。
web拍手 by FC2
posted by 北条利彦 at 00:36 | Comment(0) | TrackBack(0) | ソフトウェア | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。

この記事へのトラックバック
×

この広告は1年以上新しい記事の投稿がないブログに表示されております。