Go言語 ってどんな言語?

僕が今まで知っていた Go 言語の情報とすれば、以下のようなものでした。

  • 検索エンジンとして馴染み深い Google が開発
  • オープンソースのプログラミング言語 ( 今の世の中、オープンソースでないのプログラミング言語もあるのか?と思ってしまいます。 )

こんな状態の僕ですが、Go 言語を学習していきたいと思います。

一緒に頑張りましょう!

公式ページを読み進めてみる

まずは公式ページのドキュメントを読み進めてみます。

Google 製のオープンソースのプログラミング言語

先程触れたように、Google 製のオープンソースのプログラミング言語です。

つまり変更したいと思ったら Go 言語を自分で拡張することができます。( 僕はできません。 )

並列実行処理の記述が容易

公式ページのドキュメントには Go 言語の特徴として 並列実行処理が容易に記述できる という点が挙げられています。
まだ一切コーディングしていませんしソースコードを読んでわけでもないので全くピンと来ませんがそういうものなのでしょう。

インタプリタ型言語とコンパイル型言語の両方の特定を持ち合わす

インタプリタ型言語の特性 に加えて、 コンパイル型言語の特性 も持っているようです。
開発中は インタプリタ型言語の特定 を活かして、ソースコードの修正が即座に反映され再実行できます。

  • 代表的なインタプリタ型言語
    • JavaScript
    • Ruby
    • Python
    • PHP

本番環境にデプロイする際には、 コンパイル言語の特性 を活かし、 コンパイルを行いアーキテクチャーに最適なバイナリコードを生成します。
これにより、 実行速度が速く かつ 容量が小さくなる というメリットがあるようです。

静的型付け言語

静的型付け言語 の特徴があるということです。
JavaScriptRuby と言った言語とは異なり、静的型付けの特徴により変数に想定しない値が入ることを防ぎます。

  • 代表的な静的型付け言語
    • C
    • C#
    • Java
  • 代表的な動的型付け言語
    • JavaScript
    • Ruby
    • Python
    • PHP

静的型付け言語は特にチーム開発をした場合に品質の向上に効果的です。

静的型付け言語以外を使ってチーム開発した場合に、何度静的型付けの力が欲しいと思ったことか。

ひとこと

他にも特徴はあるのでしょうが、簡単に特徴を掴むことができました。

次は Go 言語 の実行環境、開発ツールをインストールしていきます。

Posted by genzouw