はじめに
今回は、Scratchという子ども向けビジュアルプログラミング言語がよく馬鹿にされるのをみるので、そんなに馬鹿にできないよということをまとめてみました。
結論(なぜ馬鹿にできないのか)
- ほぼなんでも作れる
- わかりやすい言語
- 構文エラー等はなし
- 環境構築が楽
注意
- 著者の主観が含まれています
- 一部間違っている可能性があります
- 優しく教えてください
以上を理解した方は読まれてください。でなければブラウザバックをお願いします
ほぼなんでも作れる
私はチューリング完全に詳しくはないのですが、Scratchはチューリング完全だそうです。
ですので、基本的なプログラミング言語と同等のことができます。ただ、ファイル操作などのOSよりのことはできなかったりします。
以前書いた記事で紹介している2Dマインクラフトや、レイトレーシング、3D演算、
そして行列演算などを用いた人工知能開発なども可能です。
あとは、TurboWorpなどを使えばJSにコンパイルしてスマホやデスクトップで動かすアプリも作ることができます。
そして、Scratchは座標の原点が画面の中心にあるので数学との相性もバッチリです。
大体の言語は左上や右上、角によっている気がしますが、Scratchは中央なので珍しいのでしょうか。中央だと数学と似ているのでとっつきやすさはありました。
わかりやすい言語
Scratchはかなりわかりやすい言語です。難しい(ローエンドなど)関数などはなく、最低限のものが準備されています。
クラスや関数ポインタやスコープ、多次元配列などはありませんが、それゆえ簡単に扱えることもあります。(もちろん、それゆえ実装が難しいこともあるのですが)
構文エラー等はなし
Scratchに基本的にはエラーはありません。(エラーで学ぶScratchという本があるのですが、今回は構文エラーなどを指します)
環境構築をしようとした際ライブラリのバージョン違いやOSによって起動できなかったり、型が違って実行できないなんてことはありません。(逆に、エラーログがでないのは厄介ですが)
環境構築が楽
Scratchはブラウザとデスクトップ版の二つがあります。どちらも難しい作業は要らず、バージョンを気にすることや依存関係を気にする必要はありません。とても便利です。
最後に
なかなか言語化するのは難しかったですが、まとめてみました。Scratchは好きで長年愛用していますが、Scratch自体(名称や裏側、本当の意味など)はあまりよく知らないので、間違っている部分もあるかと思いますが、その場合は優しく教えてください。
余談ですが、今後Scratchをベースにした独自言語を作ろうとしています。
コメント