なぜ Go を学ぶ必要があるのでしょうか?

なぜ Go を学ぶ必要があるのでしょうか?
画像ソース

Go は比較的新しい言語ですが、人気のあるプログラミング言語です。 による 調査データ Stack Overflow、開発者がマスターしたいプログラミング言語ランキングでXNUMX位に輝いたのはGolangでした。 この記事では、Go の人気の理由を理解するとともに、この言語がどこで使用されているのか、そして一般に Go を学ぶ価値がある理由についても見ていきます。

歴史を少し

Go プログラミング言語は Google によって作成されました。 実は、正式名称 Golang は「Google 言語」から派生したものです。 発表ではこの言語は若いと呼ばれていたにもかかわらず、今年でXNUMX歳になります。

Go の作成者の目標は、高品質のソフトウェアの作成に使用できる、シンプルで効率的なプログラミング言語を開発することでした。 Go の作成者の XNUMX 人である Rob Pike 氏は、Go は比較的新卒で Java、C、C++、または Python の知識がある同社のプログラマ向けに設計されたと述べました。 彼らにとって、Go はすぐに理解して慣れることができる言語です。

当初、これは Google 内のツールでしたが、時間が経つにつれて企業の奥深くから現れ、一般に知られるようになりました。

言語の利点

Golang には、よく知られているものも、あまり知られていないものも含め、多数の利点があります。

シンプル。 実際、これが言語作成の主な目標であり、それは達成されました。 Go は (特定の前提条件を除いて) 非常に単純な構文を備えているため、他の言語よりも迅速にアプリケーションを開発できます。 そして、ここで興味深い点が XNUMX つあります。

まず、Golang は、プログラミングの完全な初心者、つまり言語をまったく知らず、開発者になろうとしている人でも、非常に早く学習できます。 Go については、(相対的に言えば) PHP や Pascal とほぼ同じくらい単純でありながら、C++ と同じくらい強力であると言えます。

第二に、Go は、すでに XNUMX つ以上の言語を知っている、すでに「形成されたプログラマー」によって習得できます。 ほとんどの場合、開発者は Python または PHP をマスターした後に Go を学びます。 さらに、一部のプログラマーは Python/Go または PHP/Go のペアをうまく​​使用しています。

図書館の数が多い。 Go に不足している機能がある場合は、多くのライブラリの XNUMX つを使用して作業を完了できます。 Go にはもう XNUMX つの利点があります。それは、C ライブラリと簡単に対話できることです。 Go ライブラリは C ライブラリのラッパーであるという意見さえあります。

コードの清潔さ。 Go コンパイラーを使用すると、コードをクリーンな状態に保つことができます。 たとえば、未使用の変数はコンパイル エラーとみなされます。 Go はほとんどの書式設定の問題を解決します。 これは、たとえば、保存またはコンパイル時に gofmt プログラムを使用して行われます。 フォーマットは自動的に修正されます。 これらすべてについて詳しくは、チュートリアルをご覧ください。 効果的な.

静的型付け。 Go のもう XNUMX つの利点は、開発者が間違いを犯す可能性を減らすことです。 はい、最初の数日間は、動的型付けに慣れているプログラマは、すべての変数や関数、さらにはその他すべての型を宣言しなければならないときにイライラします。 しかし、ここには継続的な利点があることが明らかになります。

ゴードック。 コードの文書化を大幅に簡素化するユーティリティ。 GoDoc の大きな利点は、JavaDoc、PHPDoc、JSDoc などの追加の言語を使用しないことです。 このユーティリティは、文書化されているコードから抽出した情報を最大限に使用します。

コードのメンテナンス。 シンプルで簡潔な構文のおかげで保守が簡単です。 これらはすべて Google の遺産です。 この企業はさまざまなソフトウェア製品の膨大な量のコードと、それを整理する何万人もの開発者を抱えているため、メンテナンスの問題が発生します。 コードは、作業するすべての人にとって理解しやすく、十分に文書化され、簡潔である必要があります。 Go ではこれらすべてが可能です。

同時に、Golang にはクラスがなく (構造体、struct はあります)、継承のサポートがないため、コードの変更が大幅に簡素化されます。 さらに、例外や注釈などはありません。

Go では何を書くことができますか?

いくつかの点を除いて、ほぼすべて (たとえば、機械学習に関連する開発 - ここでは、C/C++ および CUDA で低レベルの最適化を備えた Python の方が適しています)。

それ以外のすべてを記述することができます。これは特に Web サービスに当てはまります。 さらに、Go はエンド ユーザーとデーモンや UI の開発の両方にとってアプリケーションを開発する価値があり、クロスプラットフォームのアプリケーションとサービスに適しています。

Golang の需要

なぜ Go を学ぶ必要があるのでしょうか?
時間が経つにつれて、その言語の需要はますます高まります。 上の図にある企業に加えて、Mail.ru Group、Avito、Ozon、Lamoda、BBC、Canonical などが Golang と連携しています。

「私たちはビジネスを拡大することに決めました。製品の迅速な開発を確実にする根本的に新しい技術プラットフォームを構築することが私たちにとって重要です。 Ozon の代表者は、同社が Golang への切り替えを決定した後、2018 年にこう述べています。

さて、収入はどうでしょうか? Go 開発者の昨年の給与は平均 60 ~ 140 ルーブルでした による 「私のサークル」 2017 年と比較すると、この数字は 8,3% 増加しました。 非常に多くの企業が Golang 開発者を必要としているため、2019 年も成長は続くと考えられます。

次は何ですか?

Golang の開発は決して止まらないでしょう。 この言語を理解できる優れたスペシャリストの必要性は今後ますます高まるため、スペシャリスト(初心者でも専門家でも)が仕事を見つけるのは難しくありません。 IT市場では開発者が常に不足しているため、原則として、この声明は今日でも当てはまります。

Go は、初心者プログラマーと、すでに XNUMX つ以上のプログラミング言語を知っているプロフェッショナルの両方に適しています。 ほぼすべてのプログラマーがそれを学習したり、再学習したりできます。

この記事は先生と共同で作成しました Golangコース GeekBrains で Sergei Kruchinin 氏に感謝します。

出所: habr.com

コメントを追加します