はじめに
技術の日進月歩で進化しており、新しいプログラミング言語を学ぶことはエンジニアとしてのスキルを広げるために重要です。名著「達人プログラマー」でも知識への投資について次のように述べられています。
毎年少なくとも一つの言語を学習する
- 達人プログラマー システム開発の職人から名匠への道, アンドリュー・ハント/デビット・トーマス 著, 村上雅章 訳, ピアソン・エデュケーション, 2009年, p.14 1
今回は新しい言語としてGo言語を学ぶことにしました。Go言語はGoogleによって開発されたプログラミング言語で、そのシンプルさ、高いパフォーマンス、効率的な並行処理などの特徴から、現代の多くの開発プロジェクトに適しており、特にウェブサーバー、ネットワークサービス、分散システムなどで広く利用されていますと言われています。
学習記録は数回の記事に分けてまとめていきます。本記事では、学習を進める際に使用する書籍についてや書籍の選定理由について書いていきます。
学習の進め方
書籍「初めてのGo言語 多言語プログラマーのためのイディオマティックGo実践ガイド」を読み進めます。
書籍情報
- タイトル: 初めてのGo言語 多言語プログラマーのためのイディオマティックGo実践ガイド
- 著者: Jon Bondner
- 訳者: 武舎 広幸
- 出版社: オライリー・ジャパン
- 出版年: 2022年
イディオマティックとは
「idiom」は、ある言語特有の表現や慣用句を指す言葉である。これらの表現は、文字通りの意味では理解できず、その言語の文化や慣習に基づいて理解する必要がある。英語におけるイディオムは、日常会話や文章で頻繁に使用され、英語を学ぶ際に重要な要素となる。
と解説されます。Go言語に当てはめると、Go言語における慣習的な記述方法やベストプラクティスという風に解釈できそうです。
書籍の選択理由
以下の4つの理由から本書籍がGo言語の学習を進める上で最適だと考えました。
- 経験豊富な著者
著者のJon Bodnerは、Goコミュニティでの活動経験が豊富です。詳細は紹介ページをご覧ください。 - 他言語プログラマー向け
他のプログラミング言語の経験があるエンジニアがGo言語を学ぶために設計されています。これまでJava、Python、C#などを使った開発経験があるため、これらの言語との比較をしながら学習できると考えました。 - ベストプラクティスの理解
サブタイトルに「イディオマティック」とあるように、Go言語特有のコーディングスタイルやベストプラクティスを学べると考えました。他言語の経験に捉われず、Goらしい記述を理解したいです。 - ジェネリクスに対応
Go言語では2021年にリリースされたGo 1.17からジェネリクスが取り入れられました。本書は2022年初版発行で、ジェネリクスについての章があることも魅力です。
学習記録目次
学習進捗に合わせて順次記事を更新する予定です。
- 1章 Go環境のセットアップ(全1記事)
- 2章 基本型と宣言
- 3章 合成型
- 4章 ブロック、シャドーイング、制御構造
- 5章 関数
- 6章 ポインタ
- 7章 型、メソッド、インターフェース
- 8章 エラー処理
- 9章 モジュールとパッケージ
- 10章 並行処理
- 11章 標準ライブラリ
- 12章 コンテキスト
- 13章 テスト
- 14章 リフレクション、unsafe、cgo
- 15章 ジェネリクス
- 付録A Go言語のまとめ
- 付録B 実例で学ぶGo言語入門
コメント