単純に「プログラム」と言ってもたくさんの言語があります。ウェブ製作で身近な言語といえばJavascript/PHP、システム系でいえばRuby/Java/Perl/C/C++など。他にも様々な言語がありますし、各言語ごとに特徴や得意ジャンルがあるので、やりたい方向性によって学ぶべき言語は違ってきます

ただ、まだプログラムにさわったことがない人には、「どの言語から学ぶか」よりも「どんな世界なのか」を知ることから入ったはうがいいと思うんですよね。そんなざっくりとした入り口でもいいと思うんです。はじめからワケも分からずにプログラムの本なんて読めないですから。

あなたがもし「プログラミングって楽しそう」「やってみたい」と興味を持っているなら、まずは以下でご紹介するゲームをしながら、プログラムの基礎に触れてみるのもいいかもしれません。

Code.org

Code.org
Code.org

このサイト、Hadi PartoviとAli Partoviという兄弟がアメリカのコンピュータサイエンス(計算機科学)やSTEM(科学技術)教育の普及を支援するために2012年に立ち上げたサイトで、この中のチュートリアルを通じてプログラミングの基礎に触れることが出来るようになっています。

ゲーム概要

AngryBird(赤い鳥のキャラ)を緑のブタにぶつける、という至極簡単なゲームです。ただ、AngryBirdを動かすためには、ブロックを使ってプログラムを組み立てなくてはなりません。例えば「右に回転」→「前に進む」など。
Code.org   迷路  7

ステージを進むごとに難易度は上がってきます。プログラムで使う「if文」とか「loop」に相当する思考が必要になってくるので、上手にゴールを目指しましょう。

チュートリアルをやってみる

Code.orgにアクセスしたら、「開始します」をクリック。
1409242145

日本語でチュートリアルを体験したい場合は、「あなたの言語のチュートリアル」と書かれた項目内の「行く」をクリック。
1409242146

チュートリアル画面に移動します。色々と英語で解説が表示されると思うので、まずは「×」をクリックしてコメントを消しましょう。ゲームの遊び方は下図の通り。
1409242148

最初のステージはこんな感じ。前に2回進めばゴールです。この場合は、「前に移動」→「前に移動」でOK。
1406242204

ステージ後半の画面。ちょっと複雑になってきましたね。ちなみに右上の「コードの表示」をクリックすると、組み立てたプログラムを見ることが出来ます。
1409242203

下図が上記で組み立てたブロックのプログラムです。実際は、このプログラムを動かすために裏側でもっと細かい仕様が定義されているので、このプログラムをコピペしただけでは動きませんが、それでもなんとなく眺めるだけでいいと思います。
Code.org   迷路  14_code

上記プログラムですが、翻訳をするとこんな感じです。

while (ゴールじゃない { /whileは繰り返すという意味。「ゴールじゃない」なら以下のプログラムを繰り返す。
  前に移動; // 前に移動を1回実行
  もし(左に道がある { // 左に道がある場合に以下の2行を実行する
    左に回転; // 左に回転を1回実行
    前に移動; // 前に移動を1回実行
  } //ここで「もし」が終了
} //ここで「ゴールじゃない」が終了

こんな感じに、プログラムは色々な動作や判定を行いながら組み立てていきます。プログラムは分からなくても、組み立て方の雰囲気は感じられるのではないでしょうか。

チュートリアルを修了すると・・・

全20ステージをクリアすると、修了書が発行されます。
Congratulations   Code.org

ちなみにこのサイト、昨年末に『アメリカ中の先生にコンピュータサイエンスの授業をおこなってもらう』というコンセプトで「Hour of Code」というキャンペーンを開始しまして、希望すればコンピュータサイエンスについて1時間の授業が受けられます。このキャンペーンには、MicrosoftやAppleにGoogle、そのほかYahooやDisneyなどなど、色々な企業が支援していたりするので、興味があれば受けてみるのもいいかも(ただし、英語力必要…)。