From: Rob Pike Date: Sat, 27 Aug 2016 02:09:38 +0000 (+1000) Subject: doc/faq: explain the meaning of "runtime" X-Git-Tag: go1.8beta1~1533 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=d1a19235212d62843c17dc4f7c61d46bb1bf56ff;p=gostls13.git doc/faq: explain the meaning of "runtime" This truly is a common point of confusion that deserves explanation in the FAQ. Change-Id: Ie624e31a2042ca99626fe7570d9c8c075aae6a84 Reviewed-on: https://go-review.googlesource.com/28275 Reviewed-by: Ian Lance Taylor --- diff --git a/doc/go_faq.html b/doc/go_faq.html index de334ef197..921c0b8a7c 100644 --- a/doc/go_faq.html +++ b/doc/go_faq.html @@ -271,6 +271,27 @@ you will need to abide by the guidelines at

Design

+

+Does Go have a runtime?

+ +

+Go does have an extensive library, called the runtime, +that is part of every Go program. +The runtime library implements garbage collection, concurrency, +stack management, and other critical features of the Go language. +Although it is more central to the language, Go's runtime is analogous +to libc, the C library. +

+ +

+It is important to understand, however, that Go's runtime does not +include a virtual machine, such as is provided by the Java runtime. +Go programs are compiled ahead of time to native machine code. +Thus, although the term is often used to describe the virtual +environment in which a program runs, in Go the word “runtime” +is just the name given to the library providing critical language services. +

+

What's up with Unicode identifiers?

@@ -881,7 +902,7 @@ would be satisfied by the method func (v Value) Copy() Value -because Value implements the empty interface. +

because Value implements the empty interface. In Go method types must match exactly, so Value does not implement Copyable. Go separates the notion of what a