利用者:Ninomy/プログラミング

出典: フリー教科書『ウィキブックス(Wikibooks)』

この文章は、プログラミングをはじめて勉強しようとする人に向けて書くものです。


プログラムとはなにか[編集]

「プログラミング」とは、「コンピュータプログラム」を書くことをいいます。ではこのプログラムとは何でしょうか。プログラムとは、一言で言えば、コンピュータへの指令書といえます。コンピュータは足し算や大小比較などの単純な計算しか実行することしかできません。しかし、こういった計算を上手に組み合わせて実行することで、複雑な処理を実行させることができるようになります。そのための、一連の動作を書き並べて指示するものがプログラムです。

パンチカード

コンピュータは、つきつめるとスイッチのオン/オフのみにより動作しており、一般にはこれを数字の1/0に対応させて表現します。したがってコンピュータは1と0のみを用いる2進数の扱いに長け、コンピュータへの命令も0と1の並びによる信号のみが受け付けられます。このような、コンピュータの理解できる表現での命令の集合をマシン語あるいは機械語と呼びます。コンピュータの登場した頃は、これをパンチカードなどにより表現・命令していました。しかし、この0と1の並びを人間が間違えずに記述し実行させることは非常に困難であり、人間にとってはプログラムを見てもそれが何をしているのか、すぐには理解しにくいものです。

そこで、人間にとって理解しやすい表現の命令の集合である、プログラミング言語が考案されました。現在ではプログラミング言語には様々な種類があり、同じ命令でも表現が異なったり、それぞれが行う処理の得手・不得手があります。

先に述べたように、コンピュータはマシン語しか理解できません。人間がプログラミング言語を用いてプログラムを書いても、そのままではコンピュータが解釈し実行することは不可能です。プログラムを書き上げ、コンピュータに実行させる前には、プログラムをマシン語へ翻訳する作業が必要となります。そして、コンピュータはこの翻訳後のマシン語命令にしたがって、処理を行っていきます。この翻訳作業を行うプログラムをコンパイラあるいはインタプリタと呼びます。前者はコンピュータが命令を実行する前に予め翻訳(コンパイル)を完了しておき、その後命令を実行する形式の翻訳作業をいいます。また後者は、プログラムの翻訳(インタープリテーション)とコンピュータの命令を同時に行う形式の翻訳作業をいいます。予め翻訳するか、逐次翻訳するかという違いであるといえます。

プログラムを書くということは、マシン語に翻訳する前の機械への命令を書くということであり、あくまで実行されるのは、その翻訳後の命令となります。

プログラミング言語[編集]

プログラムを書こうとするとき、どの言語を用いてプログラムを書くか、ということが問題になることがあります。

  • C言語
  • C++
  • C#
  • Ruby
  • Perl
  • Python
  • Java
  • COBOL
  • FORTRAN

などなど。

プログラムを書く前に[編集]

プログラムを書く前に、まずは自分の使うコンピュータの環境を整えておく必要があります。プログラミングに用いる言語を決定したら、コンパイラないしインタプリタをインストールする必要があります。インターネットに接続された端末からは簡単にダウンロード・インストールが実行できます。お使いのコンピュータやしようする言語によっては、手作業での環境変数の設定などが必要となることがあります。これらのインストール作業は、それぞれの教科書を参照してください。

また、プログラムを書くためには、テキストエディタが必要です。Emacsなどのテキストエディタを予めインストールしておいてください。