From a411cea124706fc746fcb57c0107863b8b414a16 Mon Sep 17 00:00:00 2001
From: Rob Pike
Date: Sun, 1 Nov 2009 20:51:42 -0800
Subject: [PATCH] a few tweaks to the language design faq
R=rsc
CC=go-dev
http://go/go-review/1017007
---
doc/go_lang_faq.html | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/doc/go_lang_faq.html b/doc/go_lang_faq.html
index a6d1d670ba6..540cd386202 100644
--- a/doc/go_lang_faq.html
+++ b/doc/go_lang_faq.html
@@ -9,7 +9,7 @@ Robert Griesemer, Rob Pike and Ken Thompson started sketching the
goals for a new language on the white board on September 21, 2007.
Within a few days the goals had settled into a plan to do something
and a fair idea of what it would be. Design continued part-time in
-parallel with unrelated activities. By January 2008, Ken started work
+parallel with unrelated activities. By January 2008, Ken had started work
on a compiler with which to explore ideas; it generated C code as its
output. By mid-year the language had become a full-time project and
had settled enough to attempt a production compiler. Meanwhile, Ian
@@ -25,15 +25,15 @@ Go was born out of frustration with existing languages and
environments for systems programming. Programming had become too
difficult and the choice of languages was partly to blame. One had to
choose either efficient compilation, efficient execution, or ease of
-programming; all three were not available in the same commonly
-available language. Programmers who could were choosing ease over
+programming; all three were not available in the same mainstream
+language. Programmers who could were choosing ease over
safety and efficiency by moving to dynamically typed languages such as
Python and JavaScript rather than C++ or, to a lesser extent, Java.
Go is an attempt to combine the ease of programming of an interpreted,
dynamically typed
-language with the efficiency and type safety of a compiled language.
+language with the efficiency and safety of a statically typed, compiled language.
It also aims to be modern, with support for networked and multicore
computing. Finally, it is intended to be fast: it should take
at most a few seconds to build a large executable on a single computer.
@@ -86,7 +86,7 @@ expressive yet comprehensible without sacrificing, well, sophistication.
Another important principle is to keep the concepts orthogonal.
-Methods can be implemented for any type; structures represent data;
+Methods can be implemented for any type; structures represent data while
interfaces represent abstraction; and so on. Orthogonality makes it
easier to understand what happens when things combine.