<h2 id="what-is-go">What is Go?</h2>
<ul>
<li>Go is a cross-platform, open source programming language</li>
<li>Go can be used to create high-performance applications</li>
<li>Go is a fast, statically typed, compiled language that feels like a dynamically typed, interpreted language</li>
<li>Go was developed at Google by Robert Griesemer, Rob Pike, and Ken Thompson in 2007</li>
<li>Go's syntax is similar to C++</li>
</ul>
<hr>
<h2 id="what-is-go-used-for">What is Go Used For?</h2>
<ul>
<li>Web development (server-side)</li>
<li>Developing network-based programs</li>
<li>Developing cross-platform enterprise applications</li>
<li>Cloud-native development</li>
</ul>
<h2 id="why-use-go">Why Use Go?</h2>
<ul>
<li><p>Go is fun and easy to learn</p>
</li>
<li><p>Go has fast run time and compilation time</p>
</li>
<li><p>Go supports concurrency</p>
</li>
<li><p>Go has memory management</p>
</li>
<li><p>Go works on different platforms (Windows, Mac, Linux, Raspberry Pi, etc.)</p>
</li>
</ul>
<h2 id="go-compared-to-python-and-c">Go Compared to Python and C++</h2>
<table>
<thead>
<tr>
<th align="left">Go</th>
<th align="left"><a href="https://www.w3schools.com/python/default.asp">Python</a></th>
<th align="left"><a href="https://www.w3schools.com/cpp/default.asp">C++</a></th>
</tr>
</thead>
<tbody><tr>
<td align="left">Statically typed</td>
<td align="left">Dynamically typed</td>
<td align="left">Statically typed</td>
</tr>
<tr>
<td align="left">Fast run time</td>
<td align="left">Slow run time</td>
<td align="left">Fast run time</td>
</tr>
<tr>
<td align="left">Compiled</td>
<td align="left">Interpreted</td>
<td align="left">Compiled</td>
</tr>
<tr>
<td align="left">Fast compile time</td>
<td align="left">Interpreted</td>
<td align="left">Slow compile time</td>
</tr>
<tr>
<td align="left">Supports concurrency through goroutines and channel</td>
<td align="left">No built-in concurrency mechanism</td>
<td align="left">Supports concurrency through threads</td>
</tr>
<tr>
<td align="left">Has automatic garbage collection</td>
<td align="left">Has automatic garbage collection</td>
<td align="left">Does not have automatic garbage collection</td>
</tr>
<tr>
<td align="left">Does not support classes and objects</td>
<td align="left">Has classes and objects</td>
<td align="left">Has classes and objects</td>
</tr>
<tr>
<td align="left">Does not support inheritance</td>
<td align="left">Supports inheritance</td>
<td align="left">Supports inheritance</td>
</tr>
</tbody></table>
<p><strong>Notes:</strong></p>
<ul>
<li>Compilation time refers to translating the code into an executable program</li>
<li>Concurrency is performing multiple things out-of-order, or at the same time, without affecting the final outcome</li>
<li>Statically typed means that the variable types are known at compile time</li>
</ul>