Takunojiのプログラミング・プレイグラウンド(遊び場)

Javaプログラミングを基本にして、ゲーム作成に必要なことの調査結果、やったら面白そうなことなどを記載します。プログラミングのススメ的なことも記載します。プログラミングで楽しく遊ぶために色々と記載して行きます。

Java Basic2 理論的アプローチ〜Lv1.JavaテクノロジーについてScratchでハローワールド〜

イントロダクション

全くの私ごとですが、今までソースコードをメインにしてそれに対する理論的なことを記載してきました。それで思いました。

理論的アプローチをする

何かの知らない事象、経験したことのないことなど、理解するのためのアプローチ方法としては以下の2つがあると思います。

  1. よくわからないでもとりあえずやって「体で覚える」
  2. しっかりと理解を深め「頭で理解する」

大雑把に、上のように「体で覚える」パターンと「あためで覚える」パターンがあると思います。パターン1の「体で覚える」パターンでは、とりあえずやって。。。失敗して。。。1つ1つわからない部分を理解していく。という方法のことです。

これははっきり言って「根性」がモノを言います。IT(情報技術)に関しても同様なことが言えます。

よく、「IT土方」とか「残業パラダイス」だとか言われる業界ではありますが、ここではっきりと申し上げておきたいです。

土方がいないと家は建たない

当たり前な話ですが、この「土方」がいないと基盤ができないので良い家、安全な家は作ることができませんし、偉大な建築物もできていません。土方業界の話を聞いてきたことがありますが、「『良い仕事』は目立たないところにある」ということらしいです。聞いた話なので深くは知りませんが、道路〜家の基盤まで至る所でそれらの技術が使われています。

ITも建築と同じです!

ちなみに、Javaの土台になっている(基盤になっている)テクノロジーは下のような表で見ることができます。

f:id:Takunoji:20190830214726p:plain

Java テクノロジー

上記のテクノロジーもやはり、もっと低レベルなものがあります。

例として、ネットワーク通信を使用するJDBC(緑色)に関しては、DBに接続するのに必要な技術を集めたものです。Oracle, MySQL, Postgres,... そのほか色々なDBで使用することができます。

ひとえに、先人たちの努力の賜物であり、土方にあたる部分(低レベル層)です。

言語として有名なものは「アセンブリ」が一番低いレベルで、「C言語」、そのほかのJava, .Net , C++ などたくさんの言語があります。最近の「ブロックプログラミング」という分野ではScratchが有名です。

Scratchに触る

今回は、理論的アプローチなのでブロックプログラミングを使って見るのも悪くないと思った次第です。

Scratchはブラウザで実装〜起動までできるので IDEとか面倒だという人にもおすすめです。「Scratch」のリンクから下のような画面に移動できます。ちなみにユーザー登録が必要です。当然無料、そして、他の人が作成したプログラムを見ることもできます。

f:id:Takunoji:20190830215943p:plain

Scratchにログイン後

ログインした後に、上記のような感じで、画面が表示されます。「じゃ、何やろうか?」と思うのですが、ここではやはり「ハローワールド」をやってみようと思います。

画面上部にある「作る」を押下して下のような画面を表示させます。

f:id:Takunoji:20190830220251p:plain

作る画面

そしてハローワールドを実装しました。(実際は「こんにちは」)

理論的アプローチ

今回使用した Scratchはブロックプログラミングでしたが、JavaだろうがPHPだろうがやることはあまり変わりません。

Javaでハローワールドをやるときは、出力先が「標準出力(コンソール画面)」でしたが、今回のScratchは猫の吹き出しになります。

Scratchの場合
1. 処理を起動するのに「緑色の旗をクリック」を使用します。
2. 猫に〜させるのような形で吹き出しに出力します。

 

Javaの場合
1. IDEなどで作成したプログラムを起動します。
2. コンソール(標準出力)に文字列を出力します。

 

Javaのプログラムは下のように書きます。

    public class HelloWorld {
	    public static void main(String[] aabb) {
		    // 1行コメント部分
		    System.out.println(json[num]);
	    }
	 }

これの実行結果は下のようになります。とりあえずは動かすのですが、自分の独り言がたぶんに入っておりますが、気にしないでください。

ハローワールドを作ってみて、それを色々といじってみています。

 

 

ScratchとJavaでハローワールドをやってみました。

何が言いたいかというと

プログラミングを行うのは、どの言語でも構わないということです。そして重要なのが、「何をやりたいのか?」ということです。

どの言語で何ができるのか?という問いには答えるのがムズカいしいですが(たくさんあるので。。。)、Javaは初めの方に記載したようにたくさんの技術を土台にしているので、ほぼ大体のことができます。つまり、高レベルな部分から、低レベルな部分まで実装することができます。

C言語などになるとなんでもできます(ダンボールは持ち上がられませんがロボットを動かすことはできます)

ちなみに、Javaでもロボットを作ることができるはずです。下のような記事を見つけました。

codezine.jp

まとめ

 つまり、ハローワールドとはプログラムを動かし、処理(プログラム)が動くことを確認するのに使用され、プログラミング初心者が初めて実装するのも「ハローワールド」だということです。

ちなみに自分も初めて作成したプログラムは「ハローワールド」です。

 

でわでわ。。。