<!-- 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>Slow compiles?<br>Watch this.</h1>
  <table>
    <tr>
      <td align=center width="100%">
        <a href="http://www.youtube.com/FIXME"><img src="/doc/video-snap.jpg"></a>
      </td>
    </tr>
    <tr>
      <td align=center>
        Programming with Go.<br><a href="http://www.youtube.com/FIXME">Watch now</a>.
      </td>
    </tr>
  </table>
</div>

<div id="frontpage">

<table style="padding-top: 1em; padding-bottom: 2em;">
  <tr>
    <td>
      <img style="padding-right: 1em;" src="/doc/go-logo-black.png">
    </td>
    <td>
      <div><span style="font-size: 2em; font-weight: bold;">a systems programming language</span><br><span style="font-size: 1.5em;">expressive, concurrent, garbage-collected</span></div>
    </td>
  </tr>
</table>

<p style="font-size: 1.5em; font-weight: bold;">Go is &hellip;</p>

<h3>&hellip; simple</h3>
<pre class="code">
package main

import "fmt"

func main() {
  fmt.Printf("Hello, 世界\n")
}</pre>

<h3>&hellip; fast</h3>

<p>
Go compilers produce fast code fast. Typical builds take a fraction of a second yet the resulting programs run nearly as quickly as comparable C or C++ code.
</p>

<h3>&hellip; safe</h3>

<p>Go is type safe and memory safe. Go has pointers but no pointer arithmetic.
For random access, use slices, which know their limits.</p>

<h3>&hellip; concurrent</h3>

<p>
Go promotes writing systems and servers as sets of lightweight
communicating processes, called goroutines, with strong support from the language.
Run thousands of goroutines if you want&mdash;and say good-bye to stack overflows.
</p>

<h3>&hellip; fun</h3>

<p>
Go has fast builds, clean syntax, garbage collection,
methods for any type, and run-time reflection.
It feels like a dynamic language but has the speed and safety of a static language.
It's a joy to use.
</p>

<h3>&hellip; open source</h3>

<p>
Go for it.
</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 &lt;nuts@XXX&gt;</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>
-->