Java Basic2 理論的アプローチ〜Lv2. JavaとScratchの違い〜
イントロダクション
前回は、Javaテクノロジーについて、そして、Scratch(ブロックプログラミング)について記載しました。まとめると、JavaでもScratchでも行うことはあまり変わりがなく以下のように考えて、「コード(ブロック)を組み立てる」というところです。
- 何を? => 文字列"Hello World"を
- どのように?=> 標準出力に表示する形で
- どうやって?=> JavaAPI(アプリケーション・プログラミング・インターフェース)を動かして
- 実現するのか?=> Javaを起動する環境を構築、ハローワールドプログラムを作成、起動して
上記はJavaでやる場合に考えることです。
Scratchの場合は、以下のようになります。
- 何を? => 文字列"こんにちは"を
- どのように?=> 猫の吹き出しに表示する形で
- どうやって?=> Scratchのブロックを組んで
- 実現するのか?=> Scratchにログイン、緑色の旗をクリックして
ポイントとして
Javaでも、Scratchでも考えることはあまり変わりませんが、この2つの違いは「できること」が大きく違います。
Scratchは子供向けなのでセキュリティもしっかりしています。つまり制限が多い。
<!— BODY広告-->
それに対して、Javaの場合はアプリを組むためにいろんな技術(ネットワーク、オブジェクト指向など)が必要になります。当然できることも格段に増えます。実際にはATM〜スマホアプリまでいろんなところで使用されています。
それに伴い、複雑でややこしく習得するのに時間がかかります。最近ではより高レベルなAPI(Kotlin:土台になっているのはJava言語のようです。)がありますが、どのような形が最良なのかはわかりません。。。
教育という側面
この教育という側面での「Scratch」という言語は素晴らしいと思います。実際にCoderDojoという団体があり、このScratchを使用してプログラミングを広めようと各地域で活動しているようです。
自分も趣味でこのCoderDojoに参加しています。プログラマとしての自分には以下のような利点があります。
- 子供達の発想力に刺激を受ける
- 大人(メンター)同士の情報共有ができる
- やる気が出る
最後の「やる気」の部分が一番大きいです。そして、このCoderDojoには非プログラマの人も参加していることが多く、「子供と一緒に勉強する」スタイルでボランティアしている方もいます。
大切なことは「一緒に勉強する」というところだと思います。
そして、「学ぶ」ということは、本当は「面白い」ことだと思います。
趣味で歴史を学んだり、旅行で世界を学んだり。。。数え上げればきりがありません(笑)
つまり、「世界には面白いことが腐るほどある」ということだと自分は思っています。
でわでわ。。。