いろんなビジュアルプログラミングについて調べてまとめてみた

# 自己紹介
- 修士課程2年生 (論文提出して落ち着いてきたところ)
    - 詳細は私の[マイページ](https://riest817.github.io/index)参照
    - ビジュアルプログラミングについて研究してまだ3年目です。**お手柔らかにお願い致します。**
- 大学院では「[Blocklyを用いた非手続き型言語のためのプログラミング環境の構築](http://ymir.eng.kagawa-u.ac.jp/~sano/index.html)」のテーマでBlocklyの開発・研究を行っています。
- twitter [@qw000q](https://twitter.com/home)

# そもそもビジュアルプログラミングって何？

簡単に言うと、プログラムを視覚的に分かりやすく表現したものです。プログラムをテキストで記述しないので、キーボード操作が不要で、主にマウスのドラッグ＆ドロップ操作で行います。2020年に公立の小中学校でプログラミング科目が必修化されます。キーボード操作に慣れていない小学生には最適であり、今後の需要の拡大が予想されています。
別名は、ビジュアルプログラミング言語、ビジュアルプログラミング環境とも言われます。

# ビジュアルプログラミングの種類

私が知る範囲のビジュアルプログラミングについてまとめてみました。

### Scratch

ScratchはMIT メディアラボが開発したブロックベースのプログラミング学習環境です。8 歳から16 歳向けに設計されており、150 以上の国と地域で利用され、40 以上の言語に対応しています。初心者が最初に正しい構文の書き方を覚えること無く結果を得られます。遊び心のある実験やインタラクティブアニメーション、ゲームなどの製作を通してさらなる学習のやる気を起こさせることを意図しています。
https://scratch.mit.edu/
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/545092/49551a85-486a-c74a-5e0f-cb96d0b8fec6.png)
画像出典:[MITメディアラボ](https://scratch.mit.edu/)

### Blockly

Blockly （ブロックリー）は、Google によって開発されました。ブロックを繋ぎ合せることでプログラミングを行います。Blockly を利用することで構文エラーに悩まされず、直感的にプログラミングをすることができます。JavaScript で記述されており、ドキュメントも豊富に用意されているためカスタマイズが容易です。また、Blockly で作成されるプログラムはWeb ベースのアプリケーションであるため、導入の作業が不要です。さらに、Blocklyアプリケーションで作成したブロックは、ライブラリにもともと備わっている機能で、JavaScript、Dart、Python、Lua、PHP の5種類のコードに変換して出力することができます。
https://developers.google.com/blockly
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/545092/87c4a789-4490-e398-4f91-824896fa4b76.png)
画像出典:[Google Developers](https://developers.google.com/blockly)

### Snap!

Snap!（スナップ）は、無料のブロックベースの教育用グラフィカルプログラミング言語およびオンラインコミュニティです。数学や計算の思考を学びながら、インタラクティブなアニメーション、ゲーム、ストーリーなどを探索、作成、編集することを目的としています。Scratch から影響を受けて
て、Snap! にはラムダ計算、ネスト可能なスプライト、プロトタイプベースなどの高度な機能があります。日本語非対応です。
https://snap.berkeley.edu/
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/545092/84b08149-0edd-283b-a925-f28d271fb169.png)
画像出典：[Affero General Public License](https://snap.berkeley.edu/)

### Waterbear

Waterbear（ウォータービアー）は、2011 年5 月2 日から3 日にポートランドで開催されたJSConf で発表したDethe Elza の発案によるものです。Waterbear の由来は、このシステムが世界中の極端な環境で見られる顕微鏡動物のクマムシのように、非常に堅牢な言語にしたいからです。日本語非対応です。
https://waterbearlang.com/
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/545092/e99e4c08-2832-1727-c3a9-18c0018af981.png)
画像出典:[Waterbear](https://waterbearlang.com/)

### Code Studio

Code Studio（コードスタジオ）は、米国で広く用いられている対象年齢4歳からの教育用のプログラミング環境です。Code.rogによって開発されました。各年齢層ごとに豊富なコースが用意されており、マインクラフトやアナと雪の女王などのキャラクターと共にプログラミングができます。一部日本語対応。
https://studio.code.org/courses
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/545092/86f14c52-adff-c7a1-bda2-9c54cbbde071.png)
画像出典：[Code.org](https://code.org/international/about)

### プログラミン

プログラミンは、文部科学省が開発した、子供向けのプログラミング作成のサイトです。 Adobe Flash Player上で動作します。しかし、Adobe Flash Playerは、2020年12月31日をもって提供及びサポートの終了を予定しており、Adobe Flash Player以外の新しい動作環境でプログラミンを継続して提供することは、現段階では予定していません。文部科学省による「小学校プログラミング教育の手引（第二版）」では、ビジュアルプログラミング教材の掲載を進めています。
https://www.mext.go.jp/programin/
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/545092/374cfadd-1a94-eab5-2535-657590e09f7c.png)
画像出典：[文部科学省](https://www.mext.go.jp/)

### VISCUIT

Viscuit（ビスケット）は、5歳児から小学校低学年を対象とする教育用のビジュアルプログラミングです。[原田康徳](https://www.viscuit.com/hakase/)博士によって開発されました。子供たちに「コンピュータをどう動かすか」を指示する能力よりも「コンピュータに何をさせるか」を考える能力を鍛えることを目的にしています。
https://www.viscuit.com/
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/545092/10ca4b2c-f484-8f96-18a7-a1ad0603ee46.png)
画像出典：[合同会社デジタルポケット](https://www.viscuit.com/)

### アイゴロジック

アルゴリズム体験ゲーム・アルゴロジックはプログラミングの基本となる論理的思考(アルゴリズム)をゲーム感覚で習得するための課題解決型ゲームソフトです。プログラミング経験がまったく無い方でも、楽しく「プログラミングをするための考え方」＝「アルゴリズム」を知ることができます。
https://home.jeita.or.jp/is/highschool/algo/
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/545092/21cab1b4-616e-1d04-ccce-58a992854ee5.png)
画像出典：[Japan Electronics and Information Technology Asssociation](https://home.jeita.or.jp/is/highschool/algo/)

### MOONBlock

MOOBlock（ムーンブロック）は株式会社ユビキタスエンターテインメントが 開発する教育用のプログラミング言語です。MOONBlockはゲームエンジンの一つであるenchant.jsがベースとなっています。 このため、MOONBlockで作成したプログラムを基にPC、Mac、iOS、Androidなど様々なプラットフォームで動作するアプリケーションを開発することが可能です。また、制作したゲームをゲーム投稿サイトの9leapに投稿することで、 ゲームを体験したユーザから様々なフィードバックを得ることができます（コンテストに応募して賞金を狙うことも）。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/545092/a2133342-4fcf-b2e9-fbb2-bda172460159.png)
画像出典：[UEI Corporation.](https://moonblock.jp/)

### タイルズ

タイルズ（TILES）はプログラミングを学ぶためのビジュアルプログラミング言語です。 日本のvplTiles.comによって開発され、2018年に正式リリースされました。スマホのアプリケーションとしてもリリースしており、iOS、Andoroidに対応しています。プログラミング初学者向けの学習テキストが含まれており、ユーザーはこれを読みながら編集画面でプログラムを作成します。 作成したプログラムは、タイルズの実行画面上でのみ動作します。
https://vpltiles.com/
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/545092/4ca924a4-56b1-1dad-714e-018abc28c6e4.png)
画像出典：[vplTiles.com](https://vpltiles.com/)
# さいごに

もし、ここには掲載されていないビジュアルプログラミングが他にありましたら、コメントをお願い致します。
新たなビジュアルプログラミングが判明しだい更新しようと思います。

# 参考文献

- [ビジュアルプログラミング言語 - Wikipedia](https://ja.wikipedia.org/wiki/%E3%83%93%E3%82%B8%E3%83%A5%E3%82%A2%E3%83%AB%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E8%A8%80%E8%AA%9E)
- [ビジュアルプログラミングってなに？〜3タイプ分類でわかるScratchやViscuitの違い](https://tool-zukan.com/column/3752/)