アヒルのある日

株式会社AHIRUの社員ブログです。毎週更新!社員が自由に思いついたことを書きます。

ビジュアルプログラミング

こんにちは、みにくい社長です。

今日はビジュアルプログラミングについて書いてみたいと思います。 昨今では小学校からプログラミング教育が必修となり、注目されてきています。 AHIRU社では7年前ぐらいから子供向けのプログラミングスクールを始めたりと、プログラミング教育に取り組んできました。 子供向けのプログラミング言語として、命令記述が不要なビジュアルプログラミングというものが急速に増えてきています。 プログラミングは記述ルールが初心者には難しく、ハードルが高いイメージを持たれることが多いのですが、 ビジュアルプログラミングは記述ルールを知らなくてもプログラミングを学ぶことができます。 ビジュアルプログラミングは教育用に限らず、プロのゲーム業界でも、プログラマー以外の職種向けにビジュアルプログラミングを提供するケースがあります。

ビジュアルプログラミングにもいくつかタイプがありますので、メリット・デメリットを含めて紹介します。
※分類名は私の独自表記です。

  • ブロック命令型

    MIT(マサチューセッツ工科大学)が開発したScratchを始めとし、最も普及している形です。
    メリットはたくさんあります。 実際のプログラミングの記述をそのままブロック化しているため、スムーズに記述型のプログラミング言語にステップアップすることができます。 操作も非常に簡単です。Scratchでは多くの言語に翻訳されており、日本語に切り替えることで、命令文も日本語で非常にわかりやすくなります。
    デメリットは、 私のようなプログラマからすると最もわかりやすい形に見えるのですが、プログラミングを全く知らない人からすると、 実行される順序が最初はイメージできないことがあるかもしれません。 基本的には上から下に実行されますが、分岐ブロック、繰り返しブロックの順序がわからない場合は、説明してあげる必要がありそうです。 また、命令が縦につながっていくので、縦に長くなってしまうことがあります。 その場合はサブルーチンに分けるなどで、長くならないようにすることが推奨されています。

  • アイコン命令型


    より低年齢でも始められるように、ブロック命令型の命令ブロックを文字からアイコンに変更したものです。 Scratchの低年齢向け版でScratchJrというものがあります。 AHIRU社で開発していたPRCOKも、このタイプです。
    メリットは文字が読めなくてもできることです。
    デメリットは、アイコンの意味を理解するのに少し時間がかかることです。 また、命令ブロックが横または縦に長くなりやすいというのもあります。

  • フローチャート型

    フローチャートというのは、プログラマーに仕様を伝える為の仕様書に記載される図のことです。 その設計書をそのままプログラムとして実行できるようにしたものもあります。
    メリットは、フローチャートが説明する為に作られたものなので、処理の流れがわかりやすいです。
    デメリットは、プログラミングの文法に沿っていないので、一部できないこともあります。 いくつかの命令を組み合わせるだけの簡単なプログラミングには良いかもしれません。

  • ノードベース型

    Unreal Engineのブループリントのような、命令ブロックの入出力を線でつなぐタイプです。 こちらはフローチャートに似ていますが、プログラミングの文法に沿ったものになります。
    メリットとしては、フローチャートのように命令の順序が明確であることです。
    デメリットは、線の接続が面倒であったり、接続切れによるエラーが発生してしまうことです。 また、命令数に対して図を作成する領域が広くなりがちで、制作者に整理能力が求められます。 Nintendo Switchの「ナビつき!つくってわかる はじめてゲームプログラミング」もこのタイプです。

簡単にプログラミングできるので、気軽に始められて良いですね。 ビジュアルプログラミングは今後もどんどん普及していくことになるでしょう。

それでは、またねー。