読書会(Kotlinイン・アクション)第1回議事録

[ 戻る ]


==============================================================
Java読書会BOF「Kotlinイン・アクション」を読む会 第1回
==============================================================

.. csv-table:: 開催概要

  "日時", "2018年1月13日 10:00 - 17:00"
  "場所", "川崎市教育文化会館 第3会議室"
  "出席者(敬称略)", "今井、加藤、吉本、平山、井上、ウペンドラ、山田、小棚木、遠藤、岩室、高橋(智)、高橋(徹)"

監訳者プロフィール
==================

* 通常は訳者と監訳が分かれているが本書では、4人がそれぞれ分担して訳をして、他の分担部分を監訳しているようです。


前書き
======

* 【誤植】p.iii 上7 【注1】とあるが、ページ下部の脚注には【訳注1】とあり不一致
* 【誤植】p.iii 上16 【注2】とあるが、ページ下部の脚注には【訳注2】とあり不一致

* JavaScriptのVM(仮想マシン)とはJavaVMをJavaScriptで書いたということ?

  * JavaScriptの実行環境のことで、KotlinコードをJavaScriptコードに「トランスパイル」に変換することでしょう。

序文
====

* JetBrainsは本社がチェコスロヴァキアだが、Kotlinを開発している拠点はロシア(レニングラード)にある.

* Kotlinの発音はなんだろう?

謝辞
====

* 【誤植】p.v 上9 【注1】とあるが、ページ下部の脚注には【訳注1】とあり不一致
* 【誤植】p.v 上18 【注2】とあるが、ページ下部の脚注には【訳注2】とあり不一致

監訳者前書き
============

本書について
============

* 「本書は、Kotlin 1.0をカバーしています。Kotlin 1.1は、本書の執筆と並列して開発中です。」

  * 現時点ではKotlin 1.2がリリースされている

* Redditとは?

  * 掲示板

著者について
============

表紙のイラストについて
======================

* やかんの説明がない

第1章 Kotlinとは何か?なぜ使うのか?
====================================

1.1 Kotlinの味見
----------------

* http://try.kotl.in のURLで、トップドメイン .in はどの国?

  * インドでした

リスト1-1
~~~~~~~~~

* 型があとから来る、?がある、

* 感想収集
  
  * DelphiとSwiftと似ている(いろいろな言語が入ってる、違和感なし)
  * valとか型後置とかScalaっぽい
  * ラムダ式のitは、groovyっぽい
  * 文字列テンプレートは、シェルスクリプトやRuby、Groovyなど他にも見かける
  * プリミティブ型や配列が見あたらない(皆クラス)
  * 型推論(val, var)がいいね
  * セミコロンない(賛否両論)、ちなみにセミコロンあってもいい(IDEが不要ですと怒るけど)

    * 継続行の判別難しい
    * どっちでもいいが主、どっちがいいと主張する、セミコロンなくて
  * newがないね

    * Javaプログラマーはついnewを書いてしまい怒られる
  * functionがfunなのがいい(JavaScript書いているとfunction書くのがうざい)
  * 名前付き引数がある
  * listOf の中にPerson 2回 書くのはめんどうだなぁ
  * Mapリテラルあるかなぁ?

* 言語仕様はある?

  * EBNF記法の定義あり
    https://kotlinlang.org/docs/reference/grammar.html
   

1.3.1 サーバサイドKotlin
------------------------

* 【誤植】p.10 ソースコード 最後の閉じ波括弧は不要では?

  * 日本語の書籍サポートページ の誤植情報には記載なし
    https://book.mynavi.jp/supportsite/detail/9784839961749.html
  * 原書でも同じ記載(波括弧が多い)となっている。

* p.11 ソースコード
  波括弧は、ラムダ式なのか? クラス定義なのか?

1.4.3 安全
----------

* p.16 コード片 1行目

  * value が String? 型(null許容)でもいいのか?

1.4.4 相互運用性
----------------

* Kotlinの標準APIはどこかに記載されている?
  https://kotlinlang.org/api/latest/jvm/stdlib/index.html

1.5.6 JavaからKotlinへのコンバータ
----------------------------------

* 大量のJavaコードの中の1つのクラスをコンバートするとき、ファイルのみの指定をしないと依存するクラスがすべて変換対象となって大変なことになる。

2.1.2 関数
----------

* 【誤植】p.23 上2 【注1】とあるが、ページ下部の脚注には【訳注1】とあり不一致
* p.24 Column 「割り当て」は代入のことか?

  * Kotlinは代入が文 ということは、a = b = c のような記述はできない

2.1.3 変数
----------

* "The Ultimate Question of Life, the Universe, and Everything"

  * SF小説「銀河ヒッチハイクガイド」に登場する、スーパーコンピューターへの問い。それに対する答を計算するのに750万年かかり、答が42である。

2.1.4 より簡単な文字列のフォーマット: 文字列テンプレート
--------------------------------------------------------

* 【誤植】p.28 リスト2-2 3、4行目 コメントの出力例に、カンマとエクスクラメーションマークが抜けている

  *  「Hello Kotlin」 → 「Hello, Kotlin!」
  *  「Hello Bob」 → 「Hello, Bob!」

2.2.1 プロパティ
----------------

* リスト2.5  カンマは必要なの?

  * 丸括弧はクラスの本体ではなくプライマリコンストラクタの引数なので間にカンマが必要
  * プライマリコンストラクタは後程でてくる。

* (感想)Javaで、booleanのプロパティを設定する命名はsetXXX(boolean)で気持ち悪い点があったが、Kotolinで、isXXX = false と書けるのですっきりした

2.2.3 Kotlinのソースコードレイアウト:ディレクトリとパッケージ
--------------------------------------------------------------

* トップレベルにプロパティを定義し、外からimport文で*まで指定したら、プロパティはグローバル変数のようにアクセスできるということ?

  * そう

2.3.1 enumクラスを宣言する
--------------------------

* 【誤植】p.37 下7 【注3】とあるが、ページ下部の脚注には【訳注3】とあり不一致

2.4.2 数字を使った繰り返し処理: レンジとプログレッション
--------------------------------------------------------

* 【誤植】p.47 上3 onToTen → oneToTen

本日は、p.48の2.4.3の前まで


[ 戻る ]