全くの初心者がWin機でJavaを学習するとなった場合、ベストな環境はなんだろうか?
王道のエクリプスだろうか、今や王者の風格すら漂うVSCodeだろうか、それともいぶし銀のVimだろうか。
どれも一長一短あってとても悩ましい問題だ。
なにが悩ましいかというと求めているのが開発効率ではなく学習効率である点だ。
Terapadはいい意味で何もしてくれない。
それがゆえに学べることも多いということだ。
今回は
Java17 + Terapad + GitBash
の環境を作っていこう。
GitBash
ターミナルとしてはGitBashを選択する。
理由はGitの運用で便利なのは言うまでもないが、見た目が控えめに言って最高だからだ。

download & install
GitBashはGitに付属してるBashなのでGitをインストールすると自動的に使えるようになる。
https://git-scm.com/download/win
このリンクにアクセスして、以下の部分を押すとインストーラーがダウンロードさせる。

ダウンロードされたインストーラー(Git-2.45.2-64-bit.exe)をクリックして実行する。

色々なことを質問されるがすべてNextを押す。するとInstallボタンが現れるのでそれを押す。

View Release Notesのチェックを外してFinishを押す

これで完了だ。desktopなどで右クリックをするとOpenGitBash hereという項目があるので選択する。


文字サイズの調整
初期値のフォントサイズが小さすぎると感じた場合は、右クリックをすると出てくるOption画面で調整しよう。

これでGitBashの設定はOKだ。
TeraPad
次にTeraPadだ。TeraPadはコーディングに必要な機能を極限まで削ぎ落とした仕様が素晴らしい。オールマイティなVSCodeの対極にあるといっていいだろう。
download & install
以下の公式サイトにいく
https://tera-net.com/library/tpad.html
画面下のほうにある以下のリンクを押す(途中紛らわしいボタンが多数あるので注意)

tpad1209.exeをクリックして実行

基本的に[次へ]をどんどん押して進むだけだが、途中出てくるインストール先フォルダだけは選択してコピーをしてメモ帳にでも貼り付けておこう。

次へボタンを連打すると、インストールが完了する。
検索バーにteraといれると表示されるので実行しよう。

アプリが起動すれば成功だ。
Java17
次にJava17をインストールしていく。なぜ17と強調しているのかというと18以降は内部仕様が変わり日本語の文字化けが発生する可能性があるからだ。
現状の確認
GitBashから以下のコマンド入力する($は入力しないこと)
$ java --version
奇跡的に17が入っていればJavaに関してはOKなので飛ばしてよい。

バージョンが17でない人や、Not Found 的なメッセージが出る人は以下の処理を行う。
まず、以下の17インストールリンクに飛ぶ
https://www.oracle.com/java/technologies/javase/jdk17-archive-downloads.html
画面を上から見ていって最初に現れるWindows x64 Installer のダウンロードリンクをクリックする。

インストーラーがダウンドーロされるのでこれをクリック

インストーラが開くので次へを押す

次の画面に、PCのどの場所にインストールされているかが出ている。
ここをメモって置くこと(通常は以下と同じ)

確認したら次へを押す。
以下のように正常にインストールされました。
と表示されれば成功なので閉じるボタンを押す

パスを通す
どのフォルダにいてもコマンドを実行できるようにするためにはパスを通す必要がある。
検索窓に[環境変数]と入力して表示される[システム環境変数の編集]を選択する

環境変数を押す

システム環境変数の中にJAVA_HOMEという項目があるか探す。

あった場合は選択をして編集を押す

なかった場合は新規を押した後、JAVA_HOMEというなの変数を作成する。

あった場合もなかった場合も、変数値は先程メモしたパスを記入する。

JAVA_HOMEの設定ができたので次にPATHの編集を行う。

既存のJavaのパスがあれば、編集を、そうでなかった場合は新規を押し
%JAVA_HOME%\bin
という項目を作成し、OKを押す

同じ要領でTerapadもパスを通しておこう。新規から、さきほどメモ帳に貼り付けておいたTerapadのパスを登録し、OKを押す。

これでJava17もterapadもGitBashから呼び出せるようになった!
Javaファイルの作成
では実際にJavaのファイルをTerapadで作成し、コンパイルから実行までの流れをやってみよう。
GitBashに移動し以下もコマンドでDesktopに移動する。

次にJavaTestフォルダを作成する

JavaTestに移動する

terapad でMain.javaを作成する。

ダイアログが開くのではいを押すかエンターキーを押す。

エディタが開くので間違えないように以下をコードを慎重に入力する。
public class Main{
public static void main(String[] args){
System.out.println("Hello");
}
}
入力が終わったら文字/改行コード指定保存を選択する。

UTF-8NでOK

保存が終わったのでctrl + E でTerapadを閉じる
ファイルができたのでTerapadに戻って以下のコマンドを入力してコンパイルを行う。

もし、エラーがある場合にはエラー出力がでるのでもう一度$ terapad Main.java
と入力して編集する。
エラーメッセージが出なければ以下のように実行コマンドを入力しよう。

Helloと表示されれば成功だ。

これですべて完了かと思うがまだ1つやることがある。$ terapad Main.java
と入力してファイルを開こう。
以下のように、Helloを「こんにちは」に変更して文字改行コードをUTF-8Nにして保存したあと、ctrl + Eで閉じる

以下のようにコンパイルした後、実行してみよう。お豆腐が出力されてしまった。いわゆる文字化けだ。

文字化けが発生しないように設定する。以下のように
$ terapad ~/.bashrc
と入力して.bashrcという特別な名前のファイルを作成する。(新規作成するかと聞かれたらYes)

以下をコピペで貼り付けて、文字改行コード指定保存でUTF-8Nを選択して保存し、ctrl+Eで閉じる。
alias javac='javac -J-Dfile.encoding=UTF-8'
alias java='java -Duser.language=ja -Dfile.encoding=UTF-8'
以下のように入力して、設定を反映させる。

javacして実行してみよう。文字化けが解消された。

完了
長い道のりだったが以上で環境設定の終了だ。
エディターの手助けなしにコーディングをしていくのは大変な作業だが、これを乗り越えていくことでしっかりとした技術が身につく。
この環境でコードが作成できるようになったら、もう怖いものはない、エクリプスやVSCode、はたまたVimを使って快適にコーディングしていこう!
コメント