memorandums

日々の生活で問題解決したこと、知ってよかったことなどを自分が思い出すために記録しています。

プログラミング

一昨日、学生さんと話しをしていて一つ気づいたことがありました。その学生さん曰く「プログラミングは習ったけど基礎的なことだけで、それ以上、どうやって進めていいかわからなかった」とのこと。

確かに、1年次はJavaでコンソールアプリを作るだけですから、それで何ができるか。。。イメージは湧きにくいでしょうね。やはりビジュアルがあるとやる気がでるかもしれません。そんなときは、やはりProcessingです。Javaを学習しているなら間違いなくProcessingで遊んでみるべきです。

グラフィクス、オーディオ、ネットワーク、さまざまなライブラリを持っていますので、さらに発展して自分の好みのアプリケーション開発に繋げていくことができるはずです。Processingは以下からダウンロードして遊ぶことができます。

Link: http://processing.org/

と、このブログでも何度も書いてきましたが、実際にやった人はどれくらいいるでしょうね。。。英語が障害になる人も少なくないかもしれません。日本語の紹介記事はちょっと古いですが以下にあります。

Link: 芸術の秋にProcessingでスケッチプログラミングを始めてみよう

情報もツールも無償で手に入ります。都市でも田舎でも変わりありません。必要なのはモチベーションだけです。私たちが子供の頃に比べれば。。。雲泥の差です。

で、恐らく、情報があるだけではダメで、やはりせっかく作ったプログラムですから公開して見てもらったりフィードバックをもらったり同じ趣味を持つ人とコミュニケーションしたくなるでしょう。そんなときには、OpenProcessingに投稿してみましょう。うまく動かないときにはフォーラムに質問してみましょう。英語ですが、何とかなります。というか、必要は発明の母という通りです。そんなときこそ一番勉強になります。試験のための勉強とは大違いです。

Link: OpenProcessing

Link: Processing Forum

もちろん、ここまで来るにはそれなりの時間がかかります。まずとっかかりとしては、Processingをインストールして、付属のサンプルを動かしてみましょう。それをいじってみて「プログラミング」でできることを体感しましょう。マネをしているうちに自分で作りたい「何か」が出てくるはずです。

もし、Processingで何かわからないことがあったら聞きにきてください。このブログのコメント欄でもいいですし、twitterでもいいですよ。授業で受動的に学習したことはそれなりに役立ちますが、やはり、自分で考えて自分で作ったモノはどんなものであれ勉強になるはずですよ。

例として適切かどうかわかりませんが、例えば、以下のようなプログラムをわずか(?)30行くらいでかけます。


String msg = "Hello Processing!";

color[] c = {
  color(  0,  0,  0), //blue
  color(  0,  0,255), //red
  color(255,  0,  0), //magenta
  color(  0,255,  0), //green
  color(255,255,  0), //cyan
  color(  0,255,255), //yellow
  color(255,255,255)  //white
};

int cnt = 0;

void setup()
{
  size(400, 200);
  PFont font = loadFont("Tahoma-Bold-48.vlw");
  textFont(font, 48);
  frameRate(20);
}

void draw()
{
  background(100);
  
  for (int i = 0; i < msg.length(); i++){
    fill(c[ (i+cnt) % c.length]);  
    text(msg.charAt(i), i*24, 100);
  }
  cnt = (++cnt) % c.length;
}