「Hot Soup Processor(HSP)」というプログラミング・ツールをご存知だろうか。BASICに似た言語仕様のプログラミング言語や専用エディタなどを備えた無料のソフトウエアである。2003年から毎年ツールの開発者の方などが中心になって,HSPで開発したプログラムのコンテストを開催しており,今年の「HSPプログラムコンテスト2007」は5回目にあたる。8月1日から10月31日にかけて作品を受け付けており,9月9日時点で応募作品のエントリー数が200を突破したという。

 ほかのプログラミング・コンテストと比べた場合の「HSPプログラムコンテスト」の特徴の一つに,エントリーする人に中学生や高校生などの若年層が目立つということがある。授賞枠に「最優秀小学生賞」が設けられているほどだ。また,プログラミング歴が数年という初級者レベルの人からの応募も多い。HSPに関しては以前から,構造化を積極的に取り入れていない,などといった声もある(最新バージョンの3.1では取り入れている)。しかしHSPのWebサイトで書かれている同コンテストの趣旨,「技術の優劣を競うのが目的ではなく,プログラミングの楽しさを広く知ってもらうとともに,発表の機会を提供したいと考えています」に鑑みて,十分に評価されるツールだと思う。

 そこでここでは,初心者向けプログラミング・ツールに望まれることをいくつか考えてみた。

・比較的容易に目的を達成できる

 趣味であれ,授業や研修であれ,プログラミングを勉強し始めた初心者が興味を失わずに学習を続けられるかどうかは,上達の大きなポイントになる。自分が目的とする動くものが早く作れれば,興味を持続できる可能性は高くなる。もちろん,苦労して目的を達成することで,より高いスキルが身に付き,より大きな満足感が得られ,学習を続ける強い動機付けになるという意見もあるだろう。

・プログラミング言語としての“スジ”がよい

 構造化プログラミングやオブジェクト指向プログラミングといった手法を習得しようとする場合,初心者のころからこうした機能をサポートする言語を使って概念を身に付けていれば,学習コストが少なくて済むことが期待できる。逆に,スジが悪い言語を初心者のころに使うことで,行儀の悪いプログラムを書く悪癖がついてしまうことを危惧する人もいるかもしれない。だが,最初はこうした機能を使わずにプログラミングをすることで,後でその機能を使ったときに,その効能やありがたみを実感できる可能性もある。

・拡張性が高い

 基本をある程度習得した学習者が,ちょっと凝ったことをしてみたいと考えたときに,そのための手段として拡張機能などが提供されていると便利だ。しかし,拡張された機能があまりに多くて整合性がとれなくなり,増改築を繰り返した家のようにややこしくなっていてはかえって不便である。

・安全性が高い

 多少間違ったことをしてもアプリケーションが簡単に応答不能になったりしなければ,いろいろな試行錯誤ができて,理解を深めるのに役立つだろう。もちろん,間違ったことをしたということ自体は,利用者にしっかりと認識させる必要がある。

・学習するための環境が整っている

 分からないことがあったときに,それを解決するための書籍,Webサイトがたくさんあったり,質問できる人が身近にいれば,初心者にとって非常に心強いし,上達も速いだろう。ただし,自分で実際にプログラムを書いて試してみることをせずに,書籍やサイトの説明を鵜呑みにしたり,なんでも質問するようになっては逆効果だ。

 もちろん,ここで挙げたほかにもいろいろ考えられる。例えば,ほかの言語を習得しようとしたときにスムーズに移行できる,などもあるだろう。また,プロになりたいのか,あるいは趣味でプログラミングをしたいのか,などという目的によってそれぞれの重みは違ってくるはずだ。ありきたりだが,プログラミングを始めようとする場合には,用途や目的をはっきりさせることから,ということだろう。