
画像ソース
Goは比較的若いが、人気のあるプログラミング言語です。 Stack Overflowの調査によると、開発者が習得したいプログラミング言語のランキングで3位になったのはGolangでした。 この記事では、Goの人気の理由を理解し、この言語がどこで使用されているのか、なぜ勉強する価値があるのかを確認します。
ちょっとした歴史
Goプログラミング言語はGoogleによって作成されました。 実際、Golangのフルネームは「Google言語」の派生語です。 発表ではこの言語は若いと呼ばれていましたが、今年は10年目です。
Goのクリエイターが直面している目標は、高品質のソフトウェアを作成するために使用できるシンプルで効果的なプログラミング言語を開発することでした。 Goの作成者の1人であるRob Pike氏は、Goは最近研究を完了し、Java、C、C ++、またはPythonを知っていた企業プログラマー向けに設計されていると述べました。 Go forそれらは、すぐに理解してすぐに慣れることができる言語です。
当初はGoogle内のツールでしたが、やがて企業の腸から出て公開されました。
言語の利点
Golangには多くの利点がありますが、知られていないこともあります。
シンプル。 実際、これが言語作成の主要な目標であり、達成されました。 Goの構文は非常に単純で(特定の前提条件があるため)、アプリケーションは他の言語よりも高速に開発できます。 そして、2つの興味深い点があります。
第一に、Golangはプログラミングの完全な初心者、つまり単一の言語をまったく知らず、開発者になろうとしている初心者を素早く学ぶことができます。 Goについては、PHPやPascalのように(もちろん)比較的単純ですが、C ++のように強力であると言えます。
第二に、Goは1つ以上の言語を既に知っている「成熟したプログラマ」によって習得できます。 ほとんどの場合、開発者はPythonまたはPHPを習得した後にGoを学習します。 さらに、一部のプログラマーはPython / GoまたはPHP / Goのペアを正常に使用しています。
多数のライブラリ。 Goの機能を見逃している場合は、多くのライブラリのいずれかを使用して、必要なタスクを完了できます。 Goにはもう1つの利点があります-Cライブラリを簡単に操作できます。 GoライブラリはCライブラリのラッパーであるという意見さえあります。
コードの清潔さ。 Goコンパイラはコードをクリーンに保ちます。 たとえば、未使用の変数はコンパイルエラーと見なされます。 Goは、ほとんどのフォーマットの問題に対処します。 これは、たとえば、保存またはコンパイル時にgofmtプログラムを使用して行われます。 フォーマットは自動的に修正されます。 これについては、 効果的なチュートリアルで詳しく知ることができます。
静的タイピング。 Goのもう1つの利点は、開発者が間違いを犯しにくいことです。 はい、プログラマーが動的型付けに慣れている最初の数日間は、必要に応じて各変数と関数、およびその他すべての型を宣言することに悩まされます。 しかし、それから確かなプラスがあることが明らかになります。
ゴドック 。 コードのドキュメント化を大幅に簡素化するユーティリティ。 GoDocの大きな利点は、JavaDoc、PHPDoc、JSDocなどの追加言語を使用しないことです。 ユーティリティは、文書化されたコードから抽出する情報の最大量を使用します。
コードのメンテナンス。 シンプルで簡潔な構文により、メンテナンスが簡単です。 これらはすべてGoogleの遺産です。 企業にはさまざまなソフトウェア製品用の大量のコードと、これらすべてを理解している何万人もの開発者がいるため、サービスの問題が発生します。 コードは、それを扱うすべての人にとって明確で、十分に文書化され、簡潔でなければなりません。 これはすべてGoで可能です。
同時に、Golangにはクラスがなく(構造体、構造体があります)、継承のサポートがないため、コードの変更が大幅に簡素化されます。 さらに、例外、注釈などはありません。
Goで書くことができるもの
いくつかの点を除き、ほとんどすべて(たとえば、機械学習に関連する開発-Pythonは、C / C ++およびCUDAでの低レベルの最適化に適しています)。
特にWebサービスに関しては、他のすべてを記述できます。 さらに、Goはエンドユーザーと悪魔の開発、UIの両方のアプリケーションを開発する価値があり、クロスプラットフォームのアプリケーションとサービスに適しています。
golangの需要

時間が経つにつれて、言語はますます人気になります。 上の写真にある企業に加えて、Mail.ru Group、Avito、Ozon、Lamoda、BBC、CanonicalなどがGolangと連携しています。
「私たちはビジネスを拡大することを決めました。製品の迅速な開発を保証する根本的に新しい技術プラットフォームを構築することが重要です。 Goに賭けているのは、その速度と信頼性、そして最も重要なこととして、それを使用するプログラマの聴衆です」
まあ、収入についてはどうですか、去年のGo-developerの給料はMy Circleのデータによると平均で60-140千ルーブルでした。 2017年と比較して、この指標は8.3%増加しました。 多くの企業がGolang開発者を必要としているため、2019年も成長が続く可能性があります。
次は?
Golangは開発を完全に停止しません。 この言語を知っている優秀なスペシャリストの必要性が高まるだけであるため、スペシャリスト(初心者またはプロ)の仕事を見つけることは難しくありません。 IT市場では開発者が絶えず不足しているため、原則として、この声明も今では関連しています。
Goは、1つ以上のプログラミング言語をすでに知っている初心者プログラマとプロの両方に適しています。 実際には、どのプログラマーもそれを学習したり、再学習したりできます。
この記事は、GeekBrains Sergey KruchininのGolangコースの先生と協力して作成されました。