自由帳

とりとめのない学習メモです。主に Web サービスのシステム基盤や運用に関することを書いています

Go が登場した背景について書かれていた「Go at Google: Language Design in the Service of Software Engineering」の雑メモ

はじめに

Goを触っていて、設計思想やどうやって生まれたのかなどがふと気になったので、調べたところ、以下の記事がありましたので雑メモです。

TL;DR

1-2章を読んだ限り

  • Go は、Google で開発された、コンパイル済み、並行、ガベージ コレクション、静的型付けの言語。Google内部では2007年に考案されたものと思う。(公式に発表されたのは 2009 年で、1.0 のリリースが2012年)
  • Go は、Google のソフトウェア開発で直面した問題(C++, Java, Python などでのソフトウェア開発の遅さや綺麗でない状態)に対処するために設計された。大規模なソフトウェア システムの作成、読み取り、デバッグ、保守を行う人々によって、その人々のために設計された。その結果、画期的な研究言語ではないが、大規模なソフトウェアプロジェクトのソフトウェアエンジニアリングに最適なツールである言語として生まれた。

終わりに

Go が生まれた背景などを確認してみました。 Google の開発者がソフトウェア開発する上で発生した問題を解決するための言語で、ソフトウェアエンジニアリングに役立つ言語設計によって生まれたもの、というのが根底にはあったようです。

Webアプリケーションの文脈だと大規模にはあまり向いてないかも、というのも聞いたりしてましたが、元は大規模向きの言語のようでした。とはいえ2007年頃の話かと思うので今とは違うかもしれません。

参考