ヒヨネによるアニメラノベガンプラ好きの為のオタクブログ

最大限趣味を謳歌する為の、押さえておきたい基礎知識からディープな話題まで扱ったオタク向けブログです。

【Java】プログラムとは?コードに挑む前にJavaの特性を知ろう!【学習】

   

Pocket


-スポンサードリンク-



いよいよプログラムの世界へ入っていきます

コンピューターの世界にはハードウェアとソフトウェアがあります。

その中でもプログラムはソフトウェアの領域になります。

 

ハードウェアの中にある様々な情報を駆使し、何かを動かすための一連の仕組みをプログラムといいましたね。

パソコンはもちろん、冷蔵庫やカーナビなどの目に見える機器をハードウェアと括ります。

 

その中でカーナビの中を覗いてみると、様々なプログラムが働いています。

例えばどこかの地方の温泉に行きたいと思います。

するとカーナビの中では

  • 温泉までの最短ルートを検索する
  • 高速道路の料金を計算する
  • 到着時間を予想する

などの複数のプログラムが同時に働くことで、「カーナビ」というハードウェアの本来の力を発揮することができるのです。

これらのプログラムはハードウェアのメモリの中に情報として置いてあります。

以前プログラムはパソコン内の作業場のようなものであると記事に書きました。

このメモリ(作業場)でプログラムはせっせと働いているわけですね。

sagyouba

実際にプログラムが動いている仕組みを知る

それではどのような作業を経てプログラムは動いているのでしょうか。

例えば計算をするプログラムを作ったとします。

キーボードで1+1という計算式を打ち込むと、その情報をメモリが一時的に記憶します。

そこから実際に処理をするCPUへと送るわけなんですが、この時CPUは0と1、つまり2進数でしか話を聞いてくれないのです。

この0と1だけのCPUへの命令を機械語マシン語と呼びます。

CPUはこのマシン語しか理解できないのです。

2sinhou

更に困ったことに、マシン語はメーカーや製品ごとに異なります。

1+1なら人間の脳でも暗算で出来る程度なのでいいのですが、温泉までの所要時間となるとそのプログラムは複雑さを極めます。

情報量が多すぎるので、0と1だけで指示を出すのはほぼ不可能でしょう。


-スポンサードリンク-




 

キーボードで入力するタイミングで、CPUが翻訳しやすい言語で書いたりすることもできます。

このように、マシン語を人が理解しやすい形で記述したものをアセンブラ言語といいます。

それでもまだ言語としては難しく、扱える人は限られてしまいます。

asenburi

そこで生み出されたのがソースコード

プログラムの元となる一連の言語の羅列のことですね。この言葉は聞いたことがある人も多いのではないでしょうか。

人間が理解しやすい形で記入したものをプログラムが受け取り、それをマシン語に翻訳し、CPUに送る方法です。

sourece

具体的にはソースコードを受け取り、翻訳するためのプログラミングソフトウェアが必要となります。

プログラムを実際に書くにあたって様々な形式のソースコードがありますが、これらの形式をプログラミング言語と言います。

 

代表的なものを表にまとめてみました。

プログラミング言語 特徴 変換形式
C言語 自由度が高い コンパイル
PHP WEB関連の開発が簡単 インタプリタ
ビジュアルベーシック マイクロソフトに強い インタプリタ

 

プログラミング言語と言えば?と問われればC言語と答える人も多いのではないでしょうか。

実際に注目していただきたいのは変換形式の部分です。

変換形式とはマシン語への変換方法を表しています。

 

二つの形式の長所を併せ持つのがJava!

それでは変換方法について簡単に紹介していきます。

 

まずインタプリタ型から説明します。

例えばキーボード上で様々な命令をソースコードで記入したとします。

この時メモリ上では、ひとつひとつの命令ごとにマシン語に翻訳し、CPUに送っています。

ひとつひとつ丁寧に翻訳するという万能通訳で、どのCPUでも使えますが、読み込みが遅いという欠点があります。

 

次にコンパイル型ですが、こちらは様々な命令を一気にマシン語に変換してくれます。

優秀な翻訳機のような形式ですが、特定のCPUに向けてしか変換ができないため、CPUごとに用意しなければならないという煩雑さがあります。

 

インタプリタとコンパイル、この二つの形式のいいとこ取りをしたプログラミング言語があります。

お待たせいたしました(笑)

それがJavaなのです。

java1

1990年代前半に開発されたプログラミング言語で、どのCPUにも対応するというインタプリタ型の特長と、スピーディーに一括変換できるというコンパイル型の特長を併せ持つ汎用性の高いプログラミング言語です。

 

簡単に仕組みを説明します。

まずはソースコードをコンパイルします。

更にそれをJavaバイトコードと呼ばれるマシン語の一歩手前、中間言語に置き換えます。

このJavaバイトコードをインタプリタで一行一行送ることでCPUへの対応性を高めています。

 

ソースコード コンパイル Javaバイトコード インタプリタ マシン語

 

これらの一連の動きはJava仮想マシンという仕組みで動いています。

いよいよJavaという言葉を出すことができました(笑)

 

ここまでをしっかりと頭に入れることで柔軟にソースコードへ対応することができるようになります。

あとは英語や数学と同じように、文法や公式を覚えて使いこなせるように何度もコーディングすることで技術として身についていくこととなります。

ここまで長かったと思いますが、ここまでの知識だけでも結構PCに詳しいような素振りもできるので(笑)、お酒の席や合コンの場で使ってみてくださいww

 

Javaを扱うにあたっては仕組みがありまして、特定のソフトウェアを使っていくこととなります。

私自身まだ勉強中ですので、しっかりと身に着けてから機会があれば記事にしていこうかと思います。

 

ここまでお付き合いいただいた方、本当にありがとうございました。そしてお疲れ様です。

これからの社会を逞しく生き抜いていく為に非常に心強い味方になってくれる技術ですので、もし興味を持ったのなら一緒に勉強していきましょう!

 

関連記事

【Java】パケットの仕組みってこうなってたんだ!高速データ通信ってホントにスゴい!【学習】

【Java】インターネットの仕組みについて。知識を柔軟に吸収するための下地作り【学習】

【Java】インターネットってそもそも何?世界と繋がる電脳世界【学習】

 


-スポンサードリンク-



 - 未分類