2013年9月14日土曜日

【作品紹介(2)】Hello Algorithm

Google+のコミュニティーで、「アプリの作者同士で作品を紹介し合いましょう」という趣旨のイベントがあり、それに参加してみることにしました。本稿は、その第二弾として、Hello Algorithmというアプリを紹介します。

(1)紹介

Hello Algorithmは、数学ガール-乱択アルゴリズム-という書籍内で登場する疑似プログラミング言語のシミュレータです。
数字配列をソートするプログラムを実行したところ(初期画面)

山ガール、杜ガール、仏像ガール、電影ガール・・・そして、数学ガール。
ガールって付くだけで、何やら甘美な響きがします。
キャッキャウフフみたいな。

この数学ガールという書籍は、簡素な数式からフェルマーの最終定理まで、数学に関する色々なネタを取り扱ったシリーズ物の書籍のようです。フェルマーの最終定理の巻は、ちょっと賛否が多いようですが、恐らく興味を持つための導入書としては手ごろそうな内容だろうと思います。ちなみに、私はこの本を読んだことはありません。ただ、少女を題する書籍は、導入書的な意味合いのものが多いので、恐らくコレもその類かなと。

そして、このアプリは、数学ガール第4弾「乱択アルゴリズム」内で用いている独自プログラム言語のシミュレータのようです。数学ガールを読みながら、実際にHello Algorithmでプログラムを書き、アルゴリズムの流れを確認してみると面白いと思います。ちなみに、このアプリでは、デバッガーのようにステップ実行もできるので、プログラムの動きを視覚的に分かり易く確認することができると思います。

このアプリはWeb版とChromeアプリ版があります。
Chromeアプリ版の方は、オフラインでも使えます。

言語仕様としては、各種演算(四則演算、論理演算、比較)、ループ、関数などが実装できるようです。余談ですが、個人的には、入れ替え演算子(変数a,bの内容を入れ替える)というのがある点が珍しかったかも。普通のプログラム言語には、有りそうで無かったりします。

例えば、C言語で変数a,bの内容を入れ替える場合、
c=a;
a=b;
b=c;
みたいな感じ(ワーク変数cが必要)になったりします。
最近のプログラム言語だと普通なのかな?

(2)雑談

私は、中学時代にプログラミングの世界に踏み込んで以来、学校の勉強を殆どやりませんでした。それでも、成績は上位の方だったと思います(中学までは)。世界史とか化学とか「知らなければ解けない系」の学問は必然的に苦手でしたが、数学は、例え公式を知らなくとも勘だけで解けます。だから、好きでした。しかし、その「好き」という感情は、純粋な数学愛ではないですね。「アッシー君」や「都合が良い女」に対する「好き」という感情みたいなものです。つまり、そこに愛はありません。仮に有るとすれば、それは捻じ曲がった愛です。

捻じ曲がった愛の結末は、得てして悲劇になります。

高校レベルの数学になると、勘だけで戦うのは厳しくなります。
良い成績をとるには、勉強をしなければなりません。
しかし、それでも私は、「勉強如きの為にプログラミングをする時間を削るのは無意味だ」と考え、従来通り、一切勉強をせず、勘だけで問題を解き続けました。その結果、成績はみるみる落ち、中学時代にトップクラスだった成績が、高校時代には下から数えた方が早い、所謂「落ちこぼれ組」になりました。幸い、テストで赤点を取ることは一度もありませんでしたが、常にそのギリギリのラインでした。

余談ですが、高校生の時、進路希望の調査みたいなものがあり、「コンピュータ系の専門学校に行く」と宣言した時、担任の教師(高学歴)から鼻で笑われ、「お前なんかが行っても、ついていけないだろ?テラワロスw」的なことを言われました。その後、私は専門学校へ進学して、首席で卒業。

ぶっちゃけてしまえば、高校時代の勉強が、社会に出てから役立つことは99%無いです。生きていくのに必要な知識は、義務教育だけで十分得られます。ただ、重要なのは、勉強している内容そのものではなく、学ぶことに対する姿勢です。

人は、学ばなければ成長しません。

それは、学問に限った話しではなく、絵画、音楽、演劇、スポーツ、仕事など色々な分野で共通することだと思います。そして、学ぶために必要なことは、恐らく愛です。当然、先述した捻じ曲がった愛ではなく、純粋な意味で「好き」になる必要があります。

この数学ガールという書籍は、数学を好きになるための良い入口になるかもしれません。
そして、乱択アルゴリズムを読み進める時は、この作品を使ってみてはどうでしょうか。

(3)作品情報

・対応機種: Chrome / ブラウザ
・Chrome版: https://chrome.google.com/webstore/detail/hello-algorithm/pdpjhjlfphfhjofjigmiiphifbndpgci
・ブラウザ版: http://hello-algorithm.com
・仕様: http://w.livedoor.jp/nabeyang/d/HelloAlgorithm
・作者: Noriaki Watanabeさん(https://plus.google.com/u/0/115305041286184037742/about

0 件のコメント:

コメントを投稿

注: コメントを投稿できるのは、このブログのメンバーだけです。

合理的ではないものを作りたい

ここ最近、実機版の東方VGSの開発が忙しくて、東方VGSの曲追加が滞っています。 東方VGS(実機版)のデザインを作りながら検討中。基本レトロUIベースですがシークバーはモダンに倣おうかな…とか pic.twitter.com/YOYprlDsYD — SUZUKI PLAN (...