なぜGo : Golangの利点
翻訳先ソース : Why Go benefits of Golang
Go が望ましい理由の概要です。
- ウェブ開発
- クラウドやネットワークサービス
- DevOpsやサイトの信頼性
- コマンドラインインターフェイス
バイナリのファイルで実行可能
IMOこれは、Go の最も評価されていない側面の1つです。単一の実行可能なバイナリにコンパイルできるということは、次のことを意味します。
-
ランタイム インタープリターは必要ないため、バイナリはプロジェクトのサブディレクトリの入れ子よりもはるかにスリムになります。 これは、コンテナ化とオーケストレーションのパフォーマンスに役立ちます。
-
マシンコードであるため、実行に追加のランタイムは必要ありません。したがって、バイナリ実行可能ファイルは回復力を持って実行および回復できます。
簡潔
Go言語の基本をいじったことがあれば、この言語が過度に複雑でも印象的でもないことに気付くでしょう。 仕事を終わらせるだけで十分です。
自動的なガベージコレクション
Go は、自動的なメモリ管理を備えた高水準言語です。 そのため、パフォーマンスをあまり犠牲にすることなく、より重要な側面に集中できます。 誰もが自動ガベージコレクションのアイデアを好むわけではありませんが、ここでのテーマは生産性です。
内蔵のテストとベンチマーク
単体テストやベンチマークにライブラリは必要ないため、さまざまなプロジェクトで共同作業を行う際に、使い慣れたテストやベンチマークのセットアップを使用できる可能性があります。
高度な並行処理技術
ゴルーチンは、実際のスレッド間で多重化できる安価な (パフォーマンス面での) 仮想スレッドのようなものです。 ゴルーチン、チャネル、ミューテックス、WatiGroup などは、コードベースの部分が互いに効率的に通信できるようにするパターンを促進します。 Node.js などの非同期プラットフォームでの並行処理と比較すると、Go のワークフローは大幅に改善されています。
ローボイラープレートコード
ネットワーキング
Goは、標準ライブラリに組み込まれたネットワーク プログラミングを目的とした専用のNetworking API
を備えています。 これは、Go言語のプロジェクトに属する外部サブリポジトリの一部です。
最速のバックエンドプログラミング言語の1つ
近年、Go
バックエンドアプリケーションがJava
やRust
よりも高速であることをほのめかすベンチマーク (および暴言) がいくつかありました。 詳細にこだわらなくても、Go
は高速であることがわかります。
ソフトウェア開発における速度の重要性に関するいくつかの誤解にもかかわらず、速度はユーザーエクスペリエンスと開発コストにとって非常に重要です。
若い言語
すべての人に合うサイズはありません。 成熟度は若者にとって有利な場合もありますが、Swift、Go、Dart、Clojure などの新しい言語の多くの品質面が、それらの前に登場した巨人から多くを学んでいることも尊重する価値があります。