日本でハリウッドVFXを制作! 「経産省アイディアボックス」 結果:  
●まとめエントリはこちら ●FAQ ●お問い合わせは左のメールフォームから

2009年2月4日水曜日

プログラム初心者向けのトレーニング (2)

以前みつけたブログを機会があってもう一度みた。

Maya Mel Blog@その日暮らしさん

プログラミングの知識のない方がMelを書き始めようとして最初につまづくのが、
・変数(データ型)
・構文
・配列
・関数

とあげてあった。
Melに限らずこれらがポイントになるだろう。

これらはプログラミング言語の基礎のように思う。
それに以上のことを学ぶのはそれほど難しくないような気もする。
いざとなったらヘルプファイルで参照すればすむことだし。

ここではもっと根っこの部分を推察してみる。

これらをとりのぞいたらプログラミングという作業には何がのこるだろうか?

どのように問題処理していくかをコンピュータの処理のしかたにあわせて、
分解し、その処理順序を考えていく。

ここまで考えてから、プログラムを実際に書き始めるのであって、必ずこれが先にある。
もちろん、プログラムを書いて、全体の処理を考えて、また書いたり修正したりというふうにすることもあるが、そのひとつひとつのステップにおいては、まず頭の中で処理を分解し順序立ててプログラムを書くはずである。(でないと書けない。)

ここで「問題を分解し、処理順序を考える」というのは、コンピュータの処理にあわせて考えることであり、人間の日常生活の処理の仕方に会わせるわけではない。

ここに、矛盾があるのだが、初心者はコンピュータがどのように処理するのかをしらない。
それもあってプログラミングを勉強しているひともいるはず。
でもコンピュータがどのように処理するのかをしらなければ、プログラムを作ることはできないのである。

よくある入門書には、コンピュータが処理するやり方(プログラム)の説明で、人間の行動におきかえて説明してある。
読んだときはわかったつもりでも、まったくそれが適用できないのは、本当のコンピュータの処理の仕方をならったわけではないからだろう。

「コンピュータが処理するやり方」を知らない人が、コンピュータの処理の仕方を、スムースにみにつけることができ、それを徐々にレベルアップしていくようなやり方があれば、初心者にも多少やさしくなるのかもしれない。

それには、「ループ」による繰り返し処理を十分にみにつけてから他の処理を行うとか。
(普通のプログラムでは、ループ処理を少し習ったら、ループ自体の練習を繰り返すのではなく、
「ループをつかったプログラム」という応用にすぐ入っていく。)
そういったことが必要なのだろう。

Melのユーザーズガイドには「スクリプトのフローを制御する」という項目がある。
「フロー制御」はプログラムの基本であり、かかせないことは少し勉強すれば、理解できる。

なぜフロー制御が必要なのか、
なぜフロー制御にはたくさんの種類が必要なのか

0 件のコメント:

コメントを投稿