ホットコーナーブログ(iiyu.asablo.jpの検索)ホットコーナー内の検索でもASAHIネット(asahi-net.or.jp)全体の検索です。検索したい言葉のあとに、空白で区切ってki4s-nkmrを入れるといいかも。nativeなどKotlin関係。「ゲームプログラミングC++」、「低レベルプログラミング」は名前だけ。)のjouwa/salonから。---吉川邦夫さま、並びに、翔泳社さま、献本ありがとうございます。実は、吉川さんからは、去年の今頃献本してもらった本や昨年献本してもらった本があって、それは紹介してないの。それをいうと、ほかにも献本してもらったのに紹介してない本がいくつかあるんです。老眼と忙しいのと、それなのにTwitterしちゃったりして、なかなか書かないのよ。先に、吉川さんから献本してもらったのに、紹介してない本をリストしてから、本題に入る。(翻訳)■Kotlinプログラミングさて、仁義は切ったので、あとは、好き放題じゃ。君子、ジャガーチェンジ。ジャガーチェンジ=豹変です。\(^O^)/献本くださった本は、紙書籍の方。監修)この本の原書のサイト。正誤表やプログラムのソースコード、その他もろもろがあります。GreenhalghKotlinは、GoogleがAndroidの開発言語として認めたことで、注目度と人気が上がり、Androidでの開発用言語として思われていることが多いけど、実際は、もっとほかのことにも使える言語。本書は、そのことを反映していて、汎用言語としてのKotlinを解説してあり、Androidプログラミングは終わりのほうで1章のみ。IDEAで有名なJetBrains。IDEAはサポートしている。IDEAがベースになっていることを知っている人も多いだろう。C#などの先行言語のいいところ取りを狙った言語。書きやすく読みやすく、でも、オブジェクト指向プログラミング(OOP)や関数型プログラミング(FP)をやりやすい言語機能もある。https://ja.wikipedia.org/wiki/ジェットブレインズhttps://ja.wikipedia.org/wiki/IntelliJ_IDEAhttps://ja.wikipedia.org/wiki/Android_Studio本書全体としては、テキストベースではあるが、ゲームを作りながら、Kotlinの言語仕様や標準ライブラリの使い方を解説するスタイル。Kotlinのほとんど全て?を解説してあるといっていいように思うし、間口の広さだけじゃなくて、後述のように、JVMのバイトコードを逆コンパイルしてまで、いろいろ詳しく説明したりもしている。Kotlinで全貌を日本語で学ぶには、非常にいいと思う。IDEAを使いまくりで、ソースコードを少しずつ変更していくが、ソースリストでは、削除する部分を打ち消し線・取り消し線で示し、追加する部分をボールドで強調してある点。IDEAを使って、この部分を削除して、これを入力しなさいと促しているわけで、手を動かして、実際にどうなるか、やってみないと理解しないし、覚えないでしょうという、そういう精神で書かれた本だ。IDEAを使っていることで、面白いと思ったのは、JVMのバイトコードの逆コンパイラを動かして、Kotlinコンパイラによって、Kotlinのコードが一体どういうJavaコードにコンパイルされているかを、たびたび見せていること。JavaScriptやPHPでプログラミングを始めたプログラマ、特に若いプログラマは、コンパイラなど言語処理系が何をやっているか知らない人が多いし、ハードウェアやそれに近いレベルの知識もないから、時にとんでもないコードを書いたりする。舞台裏がわかっていれば、そんな設計、そんなコード、そんな考えは、あり得ないでしょうということがある。最近だと、総務省の統計がずさんだったというので、COBOLをろくに知らないのに、COBOLをディスって、バカがバレたバカとか、浮動小数点計算の基本がなってないのとか、よく見かける。この辺は、時間があったら書きたいけど。年寄りが言うけど、若い人は、とりわけ、基本をちゃんとやってないとだめよ。コンパイラの話もそうだけど、コンピュータのハードウェア、アーキテクチャ、ソフトウェア、ネットワークなどの基本的なことを、定番教科書をじっくり勉強して、系統的に学んだほうがいいよ。大学や専門学校で、ちゃんとした専門教育を受けて基本が身についているなら別だけど、ネットを探して、断片的な知識をつぎはぎして、その場限り、その日暮らしの仕事を続けていたら、ろくに基本の蓄積ができない。基本ができてないと応用が効かず、伸びない。時代に置いていかれて使いものにならなくなっちゃうよ。