マルチプラットフォームってどうゆうこと?(1/2) | 文系女子のためのJava超入門

文系女子のためのJava超入門

ブログの説明を入力します。

マルチプラットフォームってどうゆうこと?(1/2)

みなさん、こんにちはーきゃぁ~
今日のおやつはヨーグルト!え?これじゃあ、テンションあがらないって?ごめーん。ま、たまにはヘルシーにいきましょ!

$文系女子のためのJava超入門-ヨーグルト

ドキドキ ドキドキ ドキドキ ドキドキ ドキドキ 

今回は「Javaの特徴」として必ずでてくる「マルチプラットフォーム」について説明します。ちょい長めですが、気楽にねビックリマーク(ちなみに「プラットフォーム非依存」とか「プラットフォームに依存しない」と表現されることもありますが、みんな言っている内容は同じことですよ。)

今回の内容に関しては、知らなくてもプログラミングはできます。が、いちおうJavaの大きな特徴の一つなので、知っていたほうがよいかもね、というものです。なので気楽にとらえてくださいねー。

あと、1回説明を読んだだけでは「なんでこうなってんの?」と思うかもしれません。実際のプログラミングをしていないうちに、Javaの特徴を理解しようとしてもなかなか難しいんですよね。だから、今回のテーマについてはいちおう目を通しておいて、1ヵ月後くらいにもう一度読んでみるといいかもしれません。

【マルチプラットフォームのしくみ】

マルチプラットフォームについて考えるときには、マルチプラットフォームに対応している場合と対応していない場合にわけて比較すると、ちょっぴりわかりやすくなるかもです。ちなみに「プラットフォーム」というのは、ここではコンピュータのOSのことだと考えてくださいね。みなさんが使っているコンピュータ(パソコン)でもWindowsとかUNIXとかいろいろなOSがあるでしょ?ケータイとかスマホでもiOSとかAndroidとかいろんなOSがあるよねー。で、「マルチ」っていうのはいろいろなって意味合いです。

【マルチプラットフォームに対応していない場合】

で、まずJavaより古いプログラミング言語ではマルチプラットフォームというものに対応してませんでした。(そもそもそういう発想がなかったんだよねー。)そのためプログラムを作るときには、WindowsとかUNIXとかLinuxとかいろんな種類のOSに応じてそれぞれプログラムを作る必要があったんですね。

文系女子のためのJava超入門-N非対応1

図1 左側のWindows用のプログラム(オレンジ色)はWindows上で実行できるし、まんなかのUNIX用のプログラム(緑色)はUNIX上で実行できます。

それぞれのOS(プラットフォーム)でそれぞれプログラムを作って利用している時代には、特に困ったことも不便なこともおきませんでした。それぞれ作ればいいじゃん!って感じで。(むかしはコンピュータ1台がめっちゃ高額だったから、一人で何台も所有してる、みたいな状況はないわけです、あんまり。)

でももし、これまでWindowsで使っていた「超べんりなプログラム」があるからこれをUNIXでも使いたいなーって思っても(たとえばWordとかExcelとかをUNIX上でも使いたいなーと思っても)そのプログラムをUNIX上で実行できなかったんですよ。で、どーしても実行したいのよー、と思ったらUNIX用にプログラムを作り直さないといけなかったんですよ。
これって超めんどくさそうでしょ?

文系女子のためのJava超入門-N非対応2

図2 左側のWindows用のプログラムをUNIX上で実行しようとしても(水色の線のところ)、そのままでは実行できません!

つまり特定のOS用に作ったプログラムは、別のOS上では実行ができません、ということ。
(スマホとかでもそうでしょ?iPhone用(iOS用)のアプリをAndroid上で実行はできないよね。だから、アプリを利用するときはiPhone対応とかAndroid対応とかをちゃんと調べてから利用するでしょ。)

でもね、Javaみたいにマルチプラットフォーム対応だと、こういう問題は起こらないんですよ!(どーゆーこと?と気になったら次をみてね。)

【後編】マルチプラットフォームってどうゆうこと?(2/2)