はじめに
本記事は初めて洋書の技術書を1冊読破した際の体験記事になります。
初めて洋書の技術書の購入に迷っている方・読もうとしている方にとって参考になればと思い記事にしました。
動機
昨年末、正月休みにチャレンジすることを考えていて、Kotlin コルーチンの深堀りをしたいと思い、せっかくなので紙の本で勉強したいなと、書籍を検索していました。
しかし、深堀りするとなると英語の書籍が候補になってきます。
普段英語のドキュメントをブラウザの翻訳に頼ってきた自分に、紙の洋書が読めるのかという不安はありましたが、英語と技術の両方を向上させたくチャレンジすることを決意しました。
そして今回購入して読破した書籍はこちらになります。Kotlin Coroutines: Deep Dive (Kotlin for Developers)
本編が約450ページ、章末問題の回答が50ページの構成です。
結果
2024年12月19日からすこし読み始めて、30日から本腰を入れて読み、なんとか2025年1月5日に読み終えました。
内容理解度は、書籍の章末演習がほぼ自力で解けるくらいに身についていました。
もともとコルーチンの知識や経験がある状態で読んでいますので、理解へのハードルがそこまで高くなかったこともありますが、この書籍がコルーチンを体系的に上手く解説していたことが理解につながっていると感じました。
しかし、この後に記述しますが、実際に英語を読めて理解しているわけではありません。
どのように読んだか
最初は頭で翻訳しながら読み進めようとしていましたが、正しく訳せていないところが多いと感じたため、すぐさま方針転換。
Google翻訳にひたすら打ち込み、結果を markdown テキストファイルに貼り付けていき、結局まるまる翻訳することに。
翻訳入力のコツですが、コードフォントのところは、``で囲うと日本語に翻訳されず、``も維持された翻訳になります。
例えば、
Asynchronous coroutine builders (`launch` and `async`), which start an asynchronous coroutine on a scope.
このように英文を入力すると、
非同期コルーチン ビルダー (`launch` および `async`)。スコープ上で非同期コルーチンを開始します。
のように翻訳結果が得られ、これを markdown で出力すると、
非同期コルーチン ビルダー (launch
および async
)。スコープ上で非同期コルーチンを開始します。
となっていい感じになります。
まとめ
読破できた要因をまとめます
- ある程度前提知識のある技術書を選択した
- まとまった時間が確保できる正月休みを利用した
- 頭で翻訳しながら読むことを諦め、翻訳ツールに頼った
- 英語とコルーチンに対する学習モチベーションが高かった
得られた知識
- 技術書の内容
サスペンドコルーチンからのレジュームを担う Continuation の存在は初めて知りました - よく出てきた英単語の意味
typical: 典型的,一般的 propagate: 伝播する inherite: 継承する
最後に
翻訳ツールに頼ったことが英語の勉強になったかは疑問が残ります。
しかし英語の文章に慣れた感覚はありますので、そのうちツール無しで読めるようになるのか、今後も継続して洋書の技術書にチャレンジしていきたいと思います。