Googleが2009年11月10日に発表したシステム・プログラミング言語 Goのコミュニティです。
情報交換のために作成します。
Official Site: http://
Google Groups: http://
* *Goに関するいくつかのことがら FAQ from golang.org **
What is the purpose of the project?
プロジェクトの目的は?
No major systems language has emerged in over a decade, but over that time the computing landscape has changed tremendously. There are several trends:
この10年以上ものあいだ、メジャーなシステム言語が現れていませんが、この間コンピューティング分野は激しく変貌を遂げています。そこには、いくつかの傾向があります:
* Computers are enormously quicker but software development is not faster.
* コンピュータは桁外れに速くなっているのにも関わらずソフトウェア開発はそんなに速くはなっていません。
* Dependency management is a big part of software development today but the “header files” of languages in the C tradition are antithetical to clean dependency analysis―and fast compilation.
* 今日、依存性管理はソフトウェア開発の極めて重要なものとなっているにもかかわらず、C言語の伝統を汲む言語の"ヘッダファイル"は依存分析を明確にすること、加えて速いコンパイルもですが、とは正反対になっています。
* There is a growing rebellion against cumbersome type systems like those of Java and C++, pushing people towards dynamically typed languages such as Python and JavaScript.
* JavaやC++ のような扱い難い型づけ言語に対して起こされている叛乱の火の手の拡大により大衆は Python や JavaScript のような動的な型づけ言語へと逃避している状況です。
* Some fundamental concepts such as garbage collection and parallel computation are not well supported by popular systems languages.
* いくつかの基本的な概念、たとえばガベージコレクションや並列計算は人気のあるシステム言語ではうまくサポートできていません。
* The emergence of multicore computers has generated worry and confusion.
* マルチコア・コンピュータ出現に至っては思案投げ首の体となっています。
We believe it's worth trying again with a new language, a concurrent, garbage-collected language with fast compilation. Regarding the points above:
コンカレントで、ガベージコレクションがあり、高速コンパイルができる新しい言語作りに再度挑戦してみるのも価値のあることだと信じています。考慮すべき点は以下の通りです:
* It is possible to compile a large Go program in a few seconds on a single computer.
* 大きなGoプログラムをコンパイルするのに1台のコンピュータ上でも何秒もかからずにできること。
* Go provides a model for software construction that makes dependency analysis easy and avoids much of the overhead of C-style include files and libraries.
* 依存分析を簡単にすること、またC言語スタイルのincludeファイルやライブラリ群の大量のオーバーヘッドを避けるためにGoはソフトウェア構造のためのモデルを提供します。
* Go's type system has no hierarchy, so no time is spent defining the relationships between types. Also, although Go has static types the language attempts to make types feel lighter weight than in typical OO languages.
* Goの型づけは階層を持ちません。そのため型と別の型の間での関係性を定義するための処理時間は消費しません。また、Goは静的型づけ言語ですが、言語としては典型的なオブジェクト指向言語などよりもより軽量な型づけに感じるように試みています。
* Go is fully garbage-collected and provides fundamental support for concurrent execution and communication.
* Goはガベージコレクションの機能をフルに持っており、また基本機能として並列実行及びコミュニケーションをサポートしています。
* By its design, Go proposes an approach for the construction of system software on multicore machines.
* 最初からマルチコア・マシン上でシステム・ソフトウェアを作ることを意図してGoは設計されています。
困ったときには