Googleが開発したプログラミング言語である「Go」を利用している開発者の多くは、この言語を喜んで利用しているが、機能の不足や「Python」では利用できるライブラリーが使えないことを残念に思っている人もいるようだ。
Goチームが1万1840人の開発者を対象として実施した「Go Developer Survey 2021」(Go開発者調査 2021)では、回答者の54%がGoを1年間利用し、「非常に満足」していると答えた一方で、38%は「やや満足」だと回答していたことが明らかになった。ただし、Googleのユーザーエクスペリエンス調査担当者であるAlice Merrick氏は、全体では回答者の92%が最低でも「やや満足している」という結果は、過去の調査結果とも一致していると指摘している。
調査では、開発者がGoの利用を避ける主な理由として、機能不足(39%)や、Goのエコシステムで自分が必要としているライブラリーが不足していること(34%)が挙げられていた。後者はPythonの大きな長所の1つだ。
今回の調査が実施されたタイミングを考えれば、この結果には現在のGoに対する開発者の印象が反映されていない可能性もある。2022年3月にGoのバージョン1.18がリリースされたが、調査は2021年10月26日~11月16日にかけて実施されたためだ。
ここ数年、開発者がGoの利用を避ける理由として圧倒的に多かったのは、「ジェネリクス」の欠如だったとみられる。ジェネリクスがないと、異なるデータ型でコードを効率的に書くことが難しくなる。
しかしバージョン1.18では、Goにジェネリクスが導入された。GoogleのGoチームのメンバーであるSteve Francia氏は、バージョン1.18のリリース時に、「これでユーザーは、安全性を維持しながらコードを単一のルーチンに統合することができる。それに加えて、Goがこれまでに提供してきたのと同じ安全性を保ちながら、ユーザーはより読みやすく、パフォーマンスが高いコードを得ることができる。これは、生産性や性能に対して大きなメリットになる」と述べている。
今回の調査では、欠けている機能としてジェネリクスがもっとも多く挙げられていたが、 次の調査ではユーザーの意識が変わるとMerrick氏は予想している。またジェネリクスの導入は、Goを使わない理由として2番目に多く挙げられている、「型システム」に関するニーズにも影響を与える可能性がある。Goチームは、ジェネリクスの導入が開発者にどのように受け入れられるかが明らかになるまで、型システムには手を加えない可能性が高いかもしれない。
Merrick氏は、「私たちは、これ以上の変更を行う前に、ジェネリクスのサポートがGoの型システムに関する潜在的なニーズにどんな影響を与え、どんなニーズが解決されるかについて、様子を見たいと考えている」と述べている。