mirror of
https://github.com/golang/go
synced 2024-11-25 02:57:57 -07:00
parent
72a59cecb9
commit
e434f1a763
@ -14,7 +14,7 @@ the computing landscape has changed tremendously. There are several trends:
|
||||
Computers are enormously quicker but software development is not faster.
|
||||
<li>
|
||||
Dependency management is a big part of software development today but the
|
||||
"header files" of languages in the C tradition are antithetical to clean
|
||||
“header files” of languages in the C tradition are antithetical to clean
|
||||
dependency analysis—and fast compilation.
|
||||
<li>
|
||||
There is a growing rebellion against cumbersome type systems like those of
|
||||
@ -54,7 +54,7 @@ software on multicore machines.
|
||||
What is the origin of the name?</h3>
|
||||
|
||||
<p>
|
||||
"Ogle" would be a good name for a Go debugger.
|
||||
“Ogle” would be a good name for a Go debugger.
|
||||
|
||||
<h3 id="What_kind_of_a_name_is_6g">
|
||||
What kind of a name is 6g?</h3>
|
||||
@ -86,7 +86,7 @@ Who should use the language?</h3>
|
||||
<p>
|
||||
Go is an experiment. We hope adventurous users will give it a try and see
|
||||
if they enjoy it. Not every programmer
|
||||
will but we hope enough will find satisfaction in the approach it
|
||||
will, but we hope enough will find satisfaction in the approach it
|
||||
offers to justify further development.
|
||||
|
||||
<h3 id="Do_Go_programs_link_with_Cpp_programs">
|
||||
@ -103,7 +103,7 @@ C or C++ programs. However, because Go is garbage-collected it will be
|
||||
unwise to do so, at least naively.
|
||||
|
||||
<p>
|
||||
There is a 'foreign function interface' to allow safe calling of C-written
|
||||
There is a “foreign function interface” to allow safe calling of C-written
|
||||
libraries from Go code. We expect to use SWIG to extend this capability
|
||||
to C++ libraries. There is no safe way to call Go code from C or C++ yet.
|
||||
|
||||
@ -150,7 +150,7 @@ Is Go an object-oriented language?</h3>
|
||||
<p>
|
||||
Yes and no. Although Go has types and methods and allows an
|
||||
object-oriented style of programming, there is no type hierarchy.
|
||||
The concept of "interface" in Go provides a different approach that
|
||||
The concept of “interface” in Go provides a different approach that
|
||||
we believe is easy to use and in some ways more general. There are
|
||||
also ways to embed types in other types to provide something
|
||||
analogous—but not identical—to subclassing.
|
||||
@ -159,7 +159,7 @@ they can be defined for any sort of data, not just structs.
|
||||
|
||||
<p>
|
||||
Also, the lack of type hierarchy makes “objects” in Go feel much more
|
||||
lightweight than in languages such as C++ and Java.
|
||||
lightweight than in languages such as C++ or Java.
|
||||
|
||||
<h3 id="How_do_I_get_dynamic_dispatch_of_methods">
|
||||
How do I get dynamic dispatch of methods?</h3>
|
||||
@ -326,10 +326,10 @@ How is the runtime implemented?</h3>
|
||||
<p>
|
||||
Again due to bootstrapping issues, the runtime is mostly in C (with a
|
||||
tiny bit of assembler) although Go is capable of implementing most of
|
||||
it now. <code>Gccgo</code>'s runtime uses <code>glibc</code>;
|
||||
it now. <code>Gccgo</code>'s runtime uses <code>glibc</code>.
|
||||
<code>Gc</code> uses a custom library, to keep the footprint under
|
||||
control; it is
|
||||
compiled with a version of the Plan 9 C compiler that supports
|
||||
segmented stacks for goroutines.
|
||||
work is underway to provide the same stack management in
|
||||
Work is underway to provide the same stack management in
|
||||
<code>gccgo</code>.
|
||||
|
Loading…
Reference in New Issue
Block a user