:::warning @講師, TA
この段階で環境構築にまだまだ時間が掛かりそうな受講者が居る場合は、GitHub Codespaces に移行させてください。 講習後に環境構築の続きをするようにお願いします。 :::
まずは「プログラミング」とはなにか、という半ばご高説を垂れるような話から始めよう。
プログラミングとは「コンピューターにどのような動作をさせるかを予め指示する行為」である。ここでいうコンピューターは、我々が今使っているノートパソコンだけではなく、TSUBAME のようなサーバーなどや、電子レンジ等の中に入っている制御装置(残り何分かを表示したり、どのボタンを押したかで動作を変えたり)も指し示す。
コンピューターは、私達よりもずっと速く、そして正確に計算することができるが、人間の言語を理解できない。人間の言語は思っているよりも曖昧であり、一方コンピューターはすべて0と1の2進数によって動作し厳密に指示を与えなければならない。 そのコンピューターが理解できる形で指示するために、プログラミングをするのである。
::: tip プログラミング"言語"というものは様々あって、「Go」はその中の一つである。他にも「Python」「JavaScript」「C#」など言語がある中で今回Goを選んでいる理由は2つ。
- 大抵の言語はGoの(もっと言えばCの)派生だから。Goで一通りプログラミングを勉強してしまえば、C#など他の言語にすぐに乗り換えられます。
- Goが比較的コンピュータ寄りだから。
:::