Photo by Fumitake Taniguchi
こんにちは。今回は谷口がお送りします。
先日このブログで、Flappy Codeを使って実際に弊社社員にビジュアルプログラミング学習をしてもらい、ゲームを作ってもらったというお話をしました。
プログラム未経験者の同僚が、たった1時間でゲームを作った方法 - paiza開発日誌
そこで今回は、その次のステップとしてRubyに変換できるビジュアルプログラミングツール『Smalruby』を使って、ビジュアルプログラミングときどきRubyの学習をしてもらいましたので、その過程をご紹介していきます。
こちらのSmalrubyは、ブロックを組み合わせて作ったプログラムを、ボタン1つでRubyに変換して見ることができるという、一からRubyを学ぼうという人にはもってこいのツールとなっております。そもそもが「小学3年生以上の子どもたちがプログラミングを学ぶための教材」として作られていますので、お子さんのプログラミング学習にも良さそうです。
ちなみにやってもらったのは、普段は事務を担当しており、プログラミング経験はビジュアルプログラミングのみという弊社女性社員(if文やfor文の概念に関しては他のビジュアルプログラミングサイト等を使って勉強したそうです)ですので、初心者のサンプルとしては最適な人材だと思います。
■Smalrubyの環境設定をしてみよう
Smalrubyは、Rubyプログラミング少年団のサイトからインストールできます。
Rubyプログラミング少年団とは、Ruby開発者のまつもとゆきひろさんのお膝元である島根県松江市で、Rubyを使って青少年がプログラムを作る喜びを体験するために活動している団体です。
こちらの「インストールする」をクリックしますと
子供でも使えるよう、大変親切にインストール方法を教えてくれます。
言われたとおり、ZIPファイルをダウンロードしてC直下に展開します。
展開されたファイルの中から「run-smalruby」をクリックすると……
Smalrubyがブラウザで起動したよ!簡単!これで環境設定ができました!時間にして5分もかかりませんでした!
■Smalrubyで遊んでみよう
このSmalruby、右上のメニューからロードを押しますと
「いろいろなプログラム」という、既にプログラミングされたゲームを実行したり、中を作り変えたりすることができます!
例えばこちらのピンポンゲームを実行してみましょう。
猫をキーボードで上下に動かしてカエルと対決するピンポンゲームで遊べます。
■Smalrubyでプログラミングしてみよう
さて、今回プログラミング初心者の弊社社員には、「SmalrubyでFizzBuzz作ってみて」という問題を出しました。
FizzBuzzとは、1から順に次の数字を発言していき、3で割り切れる場合は「Fizz」、5で割り切れる場合は 「Buzz」、3でも5でも割り切れる場合は「Fizz Buzz」と発言しなければならないゲームです。(Fizz Buzz - Wikipedia)
まずキャラクターを選んで設定し……
ブロックを組み合わせていきましょう。
適宜実行して確認と保存をしましょう。
Rubyに変換するとこんな感じでコードを見ることができるよ!
プログラミング初心者が使っていることと、使える処理のブロックが限られていることもあって、かなり冗長的なプログラムになってしまいましたが……
コードに変換したものです。
実行結果は動画に撮ってYouTubeにアップしてみました。見てみてください!(※上の画像ではループ処理が「100回繰り返す」になっていますが、動画にする際は長いので20までに減らしました)
ちなみにこのシステムは初心者でも1時間半ほどで作成できたそうです!
SmalrubyでFizzBuzz作ってみた - YouTube
さらにこちらのコードを、先日スタートいたしました無料オンラインプログラミング実行環境サービス『paiza.IO』で、実際のRubyでも実行できるように修正してみました!(SmalrubyのコードそのままではRubyでは動かないため一部修正をしました。)
『paiza.IO』では猫が出てきてくれないため、Smalrubyで変換されたコードからは、冒頭の「くろいねこ」を生成する処理を削除し、「say(message: "Buzz")」で猫に言わせていた部分をputsで表示するように修正しております。
ちなみに上記のブログパーツは、ただコードと実行結果を張っているだけではありません。例えばこの中の「20.times」を「100.times」に変えて「実行ボタン」を押すと100までの結果が表示されたり、「Fizz」「Buzz」を違う言葉に変えたりもできます。ぜひやってみてください。
『paiza.IO』では、このようにブラウザですぐにコーディングと実行ができ、また、コードを公開したり共有したりすることもできます。
■まとめ
SmalrubyでFizzBuzzができるまで、いかがだったでしょうか。
ビジュアルプログラミング学習サイトはたくさんありますが、Smalrubyは、自分でブロックを組み合わせて作ったプログラムをすぐにRubyに変換して確認できるところがとても良いと思います。
プログラミング初心者でRubyを学んでみたいけど敷居が高いな~と感じている皆さん、まずはSmalrubyを使ってみてはいかがでしょうか。
ちなみに、今回弊社社員に作ってもらったFizzBuzzの処理がコードで書けるようになりますと、paizaではDランクに相当するレベルの実力がついたということになります。ある程度Smalrubyに触れてプログラミングの基礎が身についてきたなと思いましたら、ぜひpaizaでご自分のスキルレベルをはかってみてください!
また、「実際のRubyのコーディングを学びたい!」という方は、ぜひ無料オンラインプログラミング実行環境サービス『paiza.IO』もご活用ください。
『paiza.IO』は、環境構築の手間ゼロでブラウザ上でコードが書け、書いたコードをその場で実行できるオンラインのプログラム実行環境です。Rubyの環境構築は特にWindowsだと手間取る事も有りますので、最初のうちは『paiza.IO』で学習するのがオススメです。
paizaは、技術を追い続けることが仕事につながり、スキルのある人がきちんと評価される場を作ることで、日本のITエンジニアの地位向上を目指したいと考えています。
自分のスキルを磨いていきたいと考えている方におすすめなのが「paizaラーニング」。オンラインでプログラミングしながらスキルアップできる入門学習コンテンツです。初心者でも楽しくプログラミングの基本を学ぶことができます。
そして、paizaでは、Webサービス開発企業などで求められるコーディング力や、テストケースを想定する力などが問われるプログラミングスキルチェック問題も提供しています。
スキルチェックに挑戦した人は、その結果によってS・A・B・C・D・Eの6段階のランクを取得できます。必要なスキルランクを取得すれば、書類選考なしで企業の求人に応募することも可能です。「自分のプログラミングスキルを客観的に知りたい」「スキルを使って転職したい」という方は、ぜひチャレンジしてみてください。