春から大学生(情報・工学)の方へ~プログラミング入門~(Java言語ってなあに?)
対象読者
この春から情報・工学系の大学生で以下の2記事を見ていただいた方
https://qiita.com/HaaSAtC/items/490d066bdbec8441a2f6
https://qiita.com/HaaSAtC/items/2687eef10dba08432a19
Javaの「文法」を学習したい方はこちらへ
いろいろググった中で一番わかりやすくて体系的なサイトです
「オブジェクト指向」までの基礎文法を網羅
「一番かんたんなJava入門」
https://nobuo-create.net/category/java-beginner/
Java言語とは?
これまで取り上げたC言語・C++言語と同様古めの言語。大学の授業でも取り扱う可能性が大いにあります。これまでのC言語・C++とはガラッと文法が変わります。
(↑のサイトを参照)
上から順番に「変数」や「関数」を書き並べていくものと異なります。(実はC++にもあるのですが)「オブジェクト指向」という新たな考え方が導入され、「クラス」単位での記述となるので、C言語で慣れてきた人にとっては初めは「???」だと思います。また、コンパイル(翻訳)後に生成されるファイルもJavaファイルと1対1対応ではありません。
(Javaファイルに書いた「クラス」の数だけ「クラスファイル」が生成されます)
(授業でも習うと思いますが、「オブジェクト指向」はプログラムを効率よく書くための技術です)
また、おそらく大学の授業では扱わないと思いますが、「Scala言語」、「Groovy言語」androidアプリの開発に用いられる「Kotlin言語」、Googleが開発した「Go言語」など派生言語を生み出してそれなりの人気を誇っています。
(近畿大学の授業では今年(2022年)からKotlinを扱うそうですが。いいなあ)
Javaはもともとはサン・マイクロシステムズという会社が開発し、現在はオラクルという会社が開発を引き継いでいます。そのため、授業でJavaの文法についてわからないことがあったらおそらくオラクルのホームページにある解説ページを読み解くことになるでしょう。
https://www.oracle.com/jp/java/technologies/documentation.html
また、C言語で言うgccコマンド(ターミナルにおいてC言語のプログラムを機械語に翻訳する)はjavacコマンドに、生成されたクラスファイル(C言語で言うexe,outファイル)はjavaコマンドで実行することになります。
環境構築~Java開発に必要なアプリのキット~
Javaのプログラムをクラスファイルに変換して実行するには、JDK(Java Development Kit)というキットが必要です。オラクル社などが無料で提供していますが、無料版は2年おきにサポートが切れる仕様になったらしく定期的にアップデートする必要があります。おそらく大学の先生から何らかの指示があるでしょう。
上記で、ターミナルにおいてJavaをjavacコマンドで変換するとクラスファイル(.class)になると言いましたが、実はScalaやGroovy、KotlinやGo言語も変換するとクラスファイルを生成します。これをJDKに含まれるJava Virtual Machine(JVM)をjavaコマンドによってターミナルで起動して、その中でクラスファイルを実行して結果を得るわけです。
さて、そんなJDKですが、様々なインストール方法があります。
1, オラクルの公式ホームページからダウンロード・インストールする方法。
2, Red Hat版JDKをインストールする方法。
私はやったことがないのでご自分で調べてください。(Red Hat JDK インストールなど)
3, Eclipse Pleiades(IDE(なんでもセット)のEclipseに様々な便利機能が追加されたものです)でまとめてインストールする(様々なバージョンがあるのでJavaを含んでいるか確認の上インストールすること)
などなど、様々あります。(ほかにもあるかもしれない…)
また、JetBrains社製、Java系言語用のなんでもセット(IDE)IntelliJ IDEA(インテリジェイ・アイディア)はとても便利ですが、残念ながらJDKは含んでいません。別にインストールしてください。
(インストール手順を詳しく見てみよう)
おそらくJDK インストールなどと検索すれば丁寧に解説されたサイトが出てくることと思いますが、何をやっているのかここでもサクッと解説します。
JDKやPleiadesは公式サイトからzipファイル(圧縮ファイル)でダウンロードし、JDKの場合 PC\ローカルディスクC\Program Files に、PleiadesはローカルディスクCに解凍(右クリックで展開)することと思います。ネットからとってきたプログラムをあなたのコンピューターに装備するわけです。
そのあとJDKでは環境変数に"Path"を設定すると思います。
これは何なのでしょうか
英語でPathとは「経路」という意味ですが、コンピューターではファイルの場所を示します。どういう「経路」を通ってたどっていったらそのファイルが見つかるのか、ということですね。JDKをパソコンにインストールしたわけですが、もともとJDKはあなたのパソコンにとって異分子です。一般のユーザーはプログラマー(ITエンジニア)ではないので、Javaの開発ソフトは必要がありません。なので、JDKを用いるという設定にはなっていません。そこで、OSにJDKが大切なアプリであることを教えてあげる必要があるわけです。Windows10なら左下の検索欄から「システム環境変数」と検索し、JDKの入っているフォルダーを「重要なフォルダ」として登録するわけです。これがインストールガイドに出てくる「JAVA_HOME」「Path」の意味です。
最後に
読んでいただいてありがとうございました。
まだまだ続きを書くつもりでいますのでよろしくお願いいたします。
内容については不十分な点、不正確な点があるかもしれませんが、それについては学習していくうちに正しい情報にたどり着くと思います。
次回