金曜日, 5月 11, 2007

プログラミング「言語」

気温の高い日が続いています。
カスピ海ヨーグルトの種は無事増えて
冷蔵庫に納まっています。

パソコンを計算機と呼ぶ種類の人がいて、
その人たちにとってパソコンはワープロでもブラウザでもなく
物理計算をさせるために使われるものです。

0と1の組み合わせ、という概念が分からなくなるほど
パソコンは表現の伝達に使える「言葉」を持っています。

言葉に日本語と英語とドイツ語とロシア語などがあるように、
パソコンにもBASICやCやPascalなどと呼ばれる言葉があります。

小数点を切り上げて整数にしなさい、とか
2乗して3を引いた値を配列に代入しなさい、とか、
微分方程式の解が負の場合には分岐命令を実行しなさい、とか
こういうことを単語を並べて伝えます。

「言葉」があれば「辞書」があって、
「赤くて花びらが幾重にも折り重なって枝にとげがあって」というものを
「バラ」という単語を導入して短く置き換えるように、
複雑な計算機操作に対して
たとえば「xx(int y)」という単語を導入して短く置き換えます。

言葉文化の発達とともに単語の意味は複雑さを増して行き、
他言語との翻訳が難しくなるのも全く同じで、
日本語で一単語で言える表現が英語では回りくどくなるように、
プログラム言語もそれぞれの操作を翻訳すると
妙にスマートではなくなったりします。

これだけ同じだとプログラムを学ぶ方法まで同じで、
たとえば外国語は挨拶から覚え、
いくつかの単語で短い文を作り、
少しの文法を覚え、
言いたい言葉を辞書を引いて組み合わせ、
時には有名な作家の文章を引用してアレンジし、
次第にうまくなっていくように、
プログラムなら画面に"Hello, World!"の文字を出力させ、
短いプログラムを書き、
少しの文法を覚え、
処理したい内容をリファレンスを引いて組み合わせ、
時には有名なプログラマのアルゴリズムを引用してアレンジして
次第にうまくなっていきます。

計算機の処理は理系のもの、と思われがちですが、
外国語を学ぶ方法に長けた文系の人は
計算機プログラムを学ぶのがとても上手だろうな、と思っています。

0 件のコメント: