活動報告

新着記事

カテゴリー

キーワード検索

2017.12/08 プログラミング(3)

プログラミング言語として最初に学ぶのがC#、という方針に異論を唱える人は多いと思う。例えばVisualBASICのほうが簡単、という人がいるかもしれない。しかし、プログラミングについて未経験者ならばどちらでも同じである。

 

今のVisualBASICは、オブジェクト指向の概念が取り込まれており、プログラミングを行う時にC#と同様の考え方が求められる。これは、学ぶ立場から見れば、学びやすいBASICに「制約」ができたことになる。

 

そもそもプログラミング言語が多数開発されてきた背景は、使いやすいように、バグを少なくするように、など様々なニーズをすべて満たすことが難しいからだ。

 

そのなかで、プログラミングパラダイムは重要である。パラダイムは「枠組み」と言われたりするが、プログラミングのスタイルやバグ防止、可読性などプログラミングに使用する言語によってそれらが、学ぶ立場で制約を受ける。

 

この制約のおかげで学びやすい言語や使用しやすい言語、可読性のある言語などの特徴が出てくると思っている。例えば、比較的制約の少ない構造化言語「C」は、初期のBASICの様に学びやすい反面、バグが入り込みやすい。バグがはいることを前提に、バグ取りに便利なルーチンをプログラムの中に書き込む必要がある。

 

制約が少ないので「C」でオブジェクト指向プログラミングを行うことも可能である。「C++」には、かつて「C」のプログラムへコンパイルした後、さらにそのプログラムをコンパイルする、といった手順の処理系も存在した。

 

コンピューターはプログラムが無ければ動かないことはよく知られている。プログラムが無いように思われる人工知能も、実はプログラムで動いている。さらに人工知能が学習するために、先生となるデータも必要だ。

 

この人工知能のプログラムは、映画「マトリックス」で表現されたエージェント指向のパラダイムだそうだ。このエージェント指向については当方も「逆向きの推論のパラダイム」と書かれた映画のパンフレットで学んだ程度であり、詳しく説明できない。

 

人工知能などの高度なプログラムでなくて、計算したり、シミュレーションしたり、あるいは独自のゲームを作るときのプログラムでは、オブジェクト指向のパラダイムを知っておけば十分である。

 

オブジェクト指向を理解できれば、C#もVisualBASICも同程度の難易度の言語となる。次回からオブジェクト指向について説明してゆく。

カテゴリー : 一般 連載

pagetop