ホームページ バックエンド開発 Golang なぜ Golang は望ましくないという人が増えているのか

なぜ Golang は望ましくないという人が増えているのか

Apr 03, 2023 pm 02:09 PM

近年、プログラミング言語の継続的な更新と反復により、Golang はかつては大きな発展の可能性を秘めた言語とみなされていました。しかし、最近では Golang はお勧めできないと考える人が増えています。では、プログラミング業界の人々が Golang に対して否定的な意見を持つようになった原因は何でしょうか?

  1. 一般性の欠如

Golang の主な問題の 1 つは、一般性の欠如です。他のプログラミング言語と比較すると、Golang は比較的限定された言語であり、主にネットワーク プログラミング、分散システム、クラウド コンピューティングなどの分野で使用されます。これは、市場にあるほとんどの高級プログラミング言語が追求する汎用性とは異なります。

トラブルシューティング、アルゴリズム開発、またはその他のタスクの要件は、Golang のコマンド セットでは満たすことができません。したがって、深層学習、音声認識、画像処理などの分野に携わる一部の開発者にとって、Golang は最適な選択ではないようです。

  1. 相対的な学習曲線が高すぎる

Golang を学習することも比較的困難です。 C、Java、Python などの高級プログラミング言語をベースとする開発者の多くは、すでに一定のプログラミングの基礎を持っていますが、Golang を学習する過程では、いくつかの特別な構文と構造を理解し、それらがどのように機能するかを理解する必要があります。同時に、Golang は他の言語と異なり、その生態環境やツールチェーンも大きく異なります。

対照的に、他のプログラミング言語から Golang に切り替える多くの開発者は、それが難しく、新しいプログラミング パラダイムに適応する必要があると感じる可能性があります。

  1. 構造と複雑さ

Golang の当初の設計上の位置付けは、マルチスレッド、ネットワーク通信、分散システムなどのパフォーマンスのボトルネックを考慮することでした。したがって、メモリの割り当てと使用効率をより重視した方法で構築されています。ただし、この強調はプログラムの開発と保守の複雑さに影響を与えています。

Golang の設計では、プログラムは複数のファイルとモジュールに分割されており、プログラマは各部分を結合して全体にする必要があります。要約すると、Golang を使用するプロジェクトは非常に複雑になる可能性があります。バグを解決したり、新しい機能を追加したりする必要がある場合、プログラマーの作業にかかる時間が長くなり、コストが増加します。

  1. エコロジカル領域の不足

Golang が作成されたとき、開発の本来の目的は大規模な同時環境を最適化することでした。言語の制限のため、開発者はより複雑なライブラリやプロジェクトを構築するための新しい方法を見つけるために懸命に取り組んできましたが、エコシステムではそうではありません。

つまり、Golang は一部の分野では依然として非常に強力で信頼性がありますが、汎用性が低く、学習曲線が長いため、Golang はお勧めできないと考える人が増えています。同時に、Golang が絶対に必要でない限り、多くの大規模プロジェクトや企業がより柔軟でスケーラブルなプログラミング言語を使用していることを見つけるのは難しくありません。

以上がなぜ Golang は望ましくないという人が増えているのかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットな記事タグ

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Go Language Packのインポート:アンダースコアとアンダースコアなしの違いは何ですか? Go Language Packのインポート:アンダースコアとアンダースコアなしの違いは何ですか? Mar 03, 2025 pm 05:17 PM

Go Language Packのインポート:アンダースコアとアンダースコアなしの違いは何ですか?

Beegoフレームワークのページ間で短期情報転送を実装する方法は? Beegoフレームワークのページ間で短期情報転送を実装する方法は? Mar 03, 2025 pm 05:22 PM

Beegoフレームワークのページ間で短期情報転送を実装する方法は?

GOでテスト用のモックオブジェクトとスタブを書くにはどうすればよいですか? GOでテスト用のモックオブジェクトとスタブを書くにはどうすればよいですか? Mar 10, 2025 pm 05:38 PM

GOでテスト用のモックオブジェクトとスタブを書くにはどうすればよいですか?

トレースツールを使用して、GOアプリケーションの実行フローを理解するにはどうすればよいですか? トレースツールを使用して、GOアプリケーションの実行フローを理解するにはどうすればよいですか? Mar 10, 2025 pm 05:36 PM

トレースツールを使用して、GOアプリケーションの実行フローを理解するにはどうすればよいですか?

MySQLクエリ結果リストをGO言語のカスタム構造スライスに変換する方法は? MySQLクエリ結果リストをGO言語のカスタム構造スライスに変換する方法は? Mar 03, 2025 pm 05:18 PM

MySQLクエリ結果リストをGO言語のカスタム構造スライスに変換する方法は?

Goでユニットテストをどのように書きますか? Goでユニットテストをどのように書きますか? Mar 21, 2025 pm 06:34 PM

Goでユニットテストをどのように書きますか?

Go言語でファイルを便利に書く方法は? Go言語でファイルを便利に書く方法は? Mar 03, 2025 pm 05:15 PM

Go言語でファイルを便利に書く方法は?

GOのジェネリックのカスタムタイプ制約を定義するにはどうすればよいですか? GOのジェネリックのカスタムタイプ制約を定義するにはどうすればよいですか? Mar 10, 2025 pm 03:20 PM

GOのジェネリックのカスタムタイプ制約を定義するにはどうすればよいですか?

See all articles