KDP(電子出版)のメモ 急急如律令

Amazon Kindleダイレクト・パブリッシングでの電子出版や電子書籍の作成販売について、文章やイラストの作成や編集方法について書いています。

「プロになるJava」を読んだ感想

 柴田望洋高橋麻奈の本を何度か読んでいて、ソフトウェアで何かを作るまで進まない感じがしていた。何年かごとに改訂される本を見ても書き方が大きく変わらなくて、言語の仕様をずっと追っかけている感じがする。授業の課題を理解するにはいいと思うけど。

 Javaはテキストファイルを読み込んでコンソールに表示するだけで、10行ぐらい書かないといけないイメージがある。node.jsだとtry catchを使わないので3行ぐらいでも書けちゃうがエラー処理がないのでバグると怖い。Javaはtry catchを書かないといけないのでながくなるし、一行ずつ読み込むの方法のコードサンプルが多い。そういう意味で安全な言語なんだけどとりあえず試したい内容があって動かすのに時間がかかる。

 

 

 この本でのJavaJava17でJava8的な書き方からはだいぶ変わっている部分がある。jshellがあって対話型のプログラムが書けるpythonやブラウザのDevToolsの感覚で確認ができた。 varが使えるようになっていて、型の処理が減って書き方がJavaScriptに近くなった。Javaの本だと、StringやIntなどの記述が多かったが削られている。JavaScriptのほうがTypeScriptで型を宣言させる方向に進んでいたりする。この本では統合開発環境で入力補完があるので、言語を覚えるのには向いていない気がする。というのもテストの問題が紙ならば覚える必要がありそう。JavaIDEIntellijをベースに書かれていてインストールもそうなっている。ただオラクJavaからダウンロードするように指示されている。

www.oracle.com

adoptium.net

 Intellijをインストールするのは、toolboxからインストールするほうがアップデートの通知やアンインストールも一元管理ができて楽。日本語のプラグインもあってeclipseのように日本語化すると起動に時間がかかるわけでもない。jshellでもswingを使ってGUIが書けるので、一行ずつ画面の変化で確認しやすかった。

 ただ、ビルドツールがmavenに基づいて書かれているので、gradleをやるのかと思っていたが違った。

www.jetbrains.com

 

 プログラミングで数値計算をはじめにやることが多い。型、変数、分岐などをやって、オブジェクト指向GUIAPIのファイルの入出力、HTTPなどと進んでいく。

 

 プログラミングを学ぶのにあまりJavaを進めることはない、というのも自分はオブジェクト指向で躓いてGUIのswingがあまり理解できなかった。そのご、html+jsでUIと処理が別になっているのでイベントリスナーやDOM操作に慣れるとやっとオブジェクト指向の理解が進んだ。ただ、JSが初めだったので、オブジェクト指向よりも、関数型のプログラムを書くほうが多い。オブジェクトはJSONをイメージしながら書いてしまい結局オブジェクト指向的な書き方はできていないのだろう。