mirror of
https://github.com/golang/go
synced 2024-11-21 18:44:45 -07:00
b9ec2adfc7
(root.html is just temporary. It'll need some better content.) R=r CC=go-dev http://go/go-review/1017019
105 lines
3.1 KiB
HTML
105 lines
3.1 KiB
HTML
<!-- The Go Programming Language -->
|
|
|
|
<script>
|
|
// On the frontpage we hide the header and navigation elements that other
|
|
// pages have.
|
|
document.getElementById('generatedHeader').style.display = 'none';
|
|
document.getElementById('nav').style.display = 'none';
|
|
</script>
|
|
|
|
<div id="gettingStarted">
|
|
<h1>Getting started</h1>
|
|
|
|
<ol>
|
|
<li>
|
|
<span><a href="/doc/install.html">Install Go</a>.</span>
|
|
</li>
|
|
|
|
<li>
|
|
<span>Read the <a href="/doc/go_tutorial.html">tutorial</a>.</span>
|
|
</li>
|
|
|
|
<li>
|
|
<span>Learn the <a href="/pkg">libraries</a>.</span>
|
|
</li>
|
|
</ol>
|
|
|
|
<h1>Watch and Learn</h1>
|
|
<p>(No video yet.)</p>
|
|
</div>
|
|
|
|
<div id="frontpage">
|
|
|
|
<table style="padding-top: 1em; padding-bottom: 2em;">
|
|
<tr>
|
|
<td>
|
|
<img style="padding-right: 1em;" src="/doc/go-logo-blue.png">
|
|
</td>
|
|
<td>
|
|
<div><span style="font-size: 2em; font-weight: bold;">an experimental programming language.</span><br><span style="font-size: 1.5em;">Imperative, concurrent, garbage-collected.</span></div>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<p style="font-size: 1.5em; font-weight: bold;">Go is …</p>
|
|
|
|
<h3>… simple</h3>
|
|
<pre class="code">
|
|
package main
|
|
|
|
import "fmt"
|
|
|
|
func main() {
|
|
fmt.Printf("Hello, 世界\n");
|
|
}</pre>
|
|
|
|
<h3>… fast</h3>
|
|
|
|
<p>Go generates fast code and, equally importantly, does it fast. It takes too long to build software. The tools are slow and are getting slower. Dependencies are uncontrolled. Machines have stopped getting faster. Yet software still grows and grows. If we stay as we are, before long software construction will be unbearably slow.</p>
|
|
|
|
<h3>… safe</h3>
|
|
|
|
<p>Go is type safe and memory safe. Go has pointers, but you can't perform
|
|
arithmetic on them. If you want that, you use slices, which known their
|
|
limits.</p>
|
|
|
|
<p>Clumsy type systems drive people to dynamically typed languages. Go is
|
|
object orientated without type hierarchies. Casts are checked at runtime and
|
|
types can be reflected upon.</p>
|
|
|
|
<h3>… concurrent</h3>
|
|
|
|
<p>Go provides a way to write systems and servers as concurrent,
|
|
garbage-collected processes (goroutines) with support from the language and
|
|
run-time. Growing stacks and multiplexing of goroutines onto threads is done
|
|
automatically.</p>
|
|
|
|
</div>
|
|
|
|
<!--
|
|
|
|
Commented out for now. We need to organise these resources.
|
|
|
|
<h2>Other Resources</h2>
|
|
<ul>
|
|
<li>Mailing list: <a href="http://groups.google.com/group/NAME_TO_BE_DETERMINED">Go Nuts <nuts@XXX></a>. Please don't mail group members individually.</li>
|
|
<li><a href="http://code.google.com/p/go/source/browse/">Source code</a>
|
|
<li><a href="http://code.google.com/p/go/issues/list">Issue Tracker</a>
|
|
</li>
|
|
<br />
|
|
<li>The Google Tech Talk from October 30, 2009:
|
|
<a href="/doc/go_talk-20091030.pdf" target="_top">PDF</a>
|
|
<a href="https://video.google.com/XXX" target="_top">Video</a>
|
|
</li>
|
|
<li>Go course:
|
|
<ul>
|
|
<li>PDF slides:
|
|
<a href="/doc/GoCourseDay1.pdf" target="_top">Day 1</a>,
|
|
<a href="/doc/GoCourseDay2.pdf" target="_top">Day 2</a>,
|
|
<a href="/doc/GoCourseDay3.pdf" target="_top">Day 3</a>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
-->
|