見出し画像

golangに将来性はあるのか やめとけと言われる理由について

今回はgolangの将来性とやめとけとよく言われる理由について解説します。


golangとは

golangはGoogleが2009年にオープンソースのプロジェクトとして公開されたプログラミング言語です。そもそもはGoogle社の課題を解決するために開発された言語で、開発速度を向上させ、静的解析しやすい言語を目標として開発されました。

golangはメルカリやYouTubeなど、日頃使用している大規模なサービスにも採用されているため、実績は十分と言えます。

Goの主な特徴として、以下のようなものが挙げられます。

・初心者でも使いやすく学習コストが低い
・処理速度が速い
・並行処理が可能
・標準ライブラリが豊富
・シングルバイナリ
・クロスコンパイ

言語仕様の特徴としては、冗長な記述が不要であったり、曖昧な記述ができません。逆に言えば、シンプルに書けるのがメリットであるため、誰でもある程度は書きやすい言語ともいえます。


golangの将来性

あくまで個人的観測ですが、golangがすぐに廃れる心配はなく安泰とみています。それには以下のgolangの特性が関係しています。

高いパフォーマンスと効率性

Goはコンパイル言語であり、実行速度が速く、効率的なメモリ管理を持っています。大規模なシステムやクラウドベースのアプリケーションにおいてこの特徴は非常に重要な要素となります。


並行処理のサポート

並行処理を簡単に実装できるように設計されているため、マルチスレッド環境でのアプリケーションの開発に適しています。


簡潔で読みやすい構文

シンプルな構文を持っており、学習が容易で、大規模な開発プロジェクトにおいてもコードの可読性を保つことができます。


強力な標準ライブラリ

 標準ライブラリが充実しており、ネットワーキング、JSON処理、暗号化など多くの機能を標準でサポートしています。


クロスプラットフォーム対応

多様なプラットフォームでの使用に対応しており、Windows、Linux、Mac OS Xなどで動作します。


クラウドとマイクロサービスへの適合性

クラウドネイティブアプリケーションやマイクロサービスアーキテクチャに適しており、これらの分野での需要が高まっています。


golangをやめとけと言われる理由

裏腹にgolangを「やめとけ」と言われることもあります。そのように言われる原因として以下のようなものが挙げられます。

ジェネリクスの欠如

Go言語は最近までジェネリクスをサポートしていませんでした。
これにより一部の開発者は他の言語に比べてGoが柔軟性に欠けると感じていたというのも原因の一つです。


インターフェースと継承の扱い

Go言語はオブジェクト指向プログラミングの継承モデルを採用しておらず、オブジェクト指向に慣れた開発者には不便に感じられることがあります。


限定的なユースケース


Go言語は特にシステムプログラミングやサーバーサイドのアプリケーションに適していますが、デスクトップアプリケーションやモバイルアプリの開発には向いていないとされることがあります。


学習曲線と市場のニーズ

Go言語は比較的新しいため、学習資源やコミュニティのサポートが限られています。市場での需要が他の言語に比べて低いため理解を深めにくいという背景もあります。



golangをもっと詳しくなりたい方に

初めてのGo言語

Go言語の入門から応用まではこの一冊で網羅されています。説明も順序立てて説明されており完成度の高い参考書となっています。


詳解Go言語Webアプリケーション開発

こちらはGo言語の基礎知識を得たあとに読むことをすすめる本となっています。ハンズオン形式で手を動かしながら実装をしていくことができるため、実際の開発を意識しながらGo言語を学ぶことができます。

以下の記事では他にも筆者が実際に読んでおすすめしたい本をまとめています。


【Go入門】Golang基礎入門 + 各種ライブラリ + 簡単なTodoWebアプリケーション開発(Go言語)

まだGo言語の勉強を始めていない方、全くの初心者の方にはこちらのUdemy教材が最もおすすめです。
この教材ではgolangの基礎について網羅的に学ぶことができます。ただ見て学ぶだけでなく、講座の中でアプリ作成まで行うことで学んだことの理解をさらに深めることができます。


現役シリコンバレーエンジニアが教えるGo入門 + 応用でビットコインのシストレFintechアプリの開発

個人的に最も勉強になったのは「現役シリコンバレーエンジニアが教えるGo入門 + 応用でビットコインのシストレFintechアプリの開発」という教材です。
本格的なレクチャーに入る前に、なぜGoなのか、なぜFintechなのかについて説明されていることで、Goの概念や意味について大枠から理解することができます。

以下の記事では筆者が実際に受講したおすすめUdemy教材をまとめています。

※本ページではアフィリエイトリンク(PR)が含まれています


この記事が参加している募集

この経験に学べ

この記事が気に入ったらサポートをしてみませんか?