「Go言語らしさ」とは何か? Simplicityの哲学を理解し、Go Wayに沿った開発を進めることの良さ
プログラミング言語には作者の設計思想が強く現れますが、Go言語もまた後発であることを生かし、しっかりとした思想に基づいて開発されています。公式のドキュメント等で語られているSimplicityの哲学を理解し、Go言語らしさ、Go Wayに従って開発する良さについて、はてなチーフエンジニアの松木雅幸(Songmu)さんが解説します。
筆者が勤めている株式会社はてなでは、2013年よりGo言語を開発に用いるようになりました。導入当初はMackerelで用いられる監視エージェントであるmackerel-agentから始まり、現在ではURL外形監視のためのサブシステムや、時系列データベースのミドルウェア、最近では新規プロジェクトでの採用など利用シーンが多岐にわたっています。
筆者はJavaの経験は少しありましたが、Perlなどの動的型付けのスクリプト言語での開発が長く、最初はGoに慣れない点もありました。しかし、今では大好きな言語のひとつになり、筆者のGitHubでは、Goのツールやライブラリを数多く公開しています。
今回、「Go言語らしさ」をテーマに記事を執筆してほしいという連絡が来たときは、「これは大変な依頼が来てしまったな」と思いました。そのテーマで記事を書くにはよりふさわしい方がいるようにも思いましたし、Goは後発のプログラミング言語でもある分、設計思想がしっかりしており、それらの多くは既に作者や開発者チームによって語られているからです。
プログラミング言語はその作者がしばしば「優しい終身の独裁者」などと称されることがあるように、特に作者の設計思想が強く現れるソフトウェアです。Goの場合でも、初期開発者のRobert Griesemer、Rob Pike、Ken Thompsonの3名や、コア開発者のRuss Coxにより、Go Blogや彼らのプレゼン資料、ブログなどでその背景や設計思想が綴られています。

Go Blogで2018年4月26日に発表された「Go's New Brand」にもGo言語の設計思想が反映されている
本稿では、Go言語の作られた背景・設計思想に改めてふれるとともに、筆者が考える「Go言語らしさ」や、Goらしいコードを書くために心掛けていることをお伝えします。
Go言語らしさとは
続きをお読みいただけます(無料)。

- すべての過去記事を読める
- 過去のウェビナー動画を
視聴できる - 企業やエージェントから
スカウトが届く