【42 Tokyo】Go言語の初歩を学ぶ|環境構築から入門書まで
About 42 Tokyo

エンジニア養成機関「42 Tokyo」では、本科のカリキュラム(42cursus)とは外れる形で、いわば傍流にあたるカリキュラム(Reloaded)が用意されている。

2022年4月に開催された「Go Piscine」は、25日間にわたって行われる特別カリキュラムだ。その名の通り42の入学選考「Piscine」をGo言語にアレンジした内容で、数多くの学生たちが参加。コードレビューを繰り広げている。

シーからゴーへ。堅調に段階を踏みつつ、モダンな言語に触手を伸ばす。

Go言語とは?Googleが開発した汎用言語

Goの特徴は以下にまとめられる。

・Googleがサポートするオープンソースのプログラミング言語である
・学習や環境構築が容易である
・並行処理と堅牢な標準ライブラリを組み込みで実装している
・仲間やコミュニティ、ツールといった開発環境の拡大を促す

Goは2009年に発表されたプログラミング言語である。Googleに在籍していたロバート・グリースマー、ロブ・パイク・ケン・トンプソンらによって生み出された。

上述の通り、Goはオープンソースのプロジェクトであり、コンパイラやライブラリ、ツールなどは無料で入手可能。コミュニティの輪は全世界に広がっており、日本でも読書会やイベントが盛んに開催されている(参考:golang.jpブログ)。

既存言語の長所を取り入れて作られた

GoはC言語の影響を多分に受けており、式構文や制御フロー文など共通する特徴を備えている。

加えて、GoはPascalから始まるModulaやOberonといった言語(いずれもニクラウス・ヴィルトが開発に携わった)の系譜上にも置かれる。特にOberon-2はパッケージ・インポート・宣言などの構文に影響を与えたようだ。

さらに、GoといえばCSPによる並行性も見逃せない。CSP(Communicating Sequential Processes)は、1978年にアントニー・ホーアが考案した理論であり、プロセス間通信によってシステム全体の並行処理を進めていく。C/C++のマルチスレッドのように共有メモリを排他的に用いないため、より安全で効率的な実装を実現する。

こうした過去の遺産の上に、 Goは新規のアイデアも取り入れた。たとえば動的で柔軟な配列操作を可能にしたslice、遅延実行を行うdeferなどは、Goの斬新さを際立たせている要素だ。

Go言語の環境を構築する

随時追加予定

Go言語の学習に役立つサイト・資料など

順次追加予定

公式リファレンス

(引用:Go公式サイト

以下はすべてGoの公式サイトで公開されている。

入門書・概説書

『プログラミング言語Go』アラン・ドノバン/ブライアン・カーニハン


構文からデータ型、メソッドやゴルーチンまで、基礎的な文法が網羅されている。翻訳は明解。索引も付いており、習熟度を問わず手元に置いておきたい一冊。

『スターティングGo言語』松尾愛賀


すでに他言語の経験がある人に向けて書かれているが、開発環境の構築(Windos/OS X/Linux)に一章が割かれるなど親切設計。後半では約20の標準パッケージが用例とともに解説されており、実用性の面でも優れている。

『エキスパートたちのGo言語』


その名の通り、プロダクト開発における具体的なコードの数々を紹介している。一例として、KubernetesのJob実行ツール、GitHub Actionsによる自動化、Raspverry PiにおけるIoTデバイスの作成など。項目ごとに異なるエンジニアが執筆しており、バリエーションに富んだ内容となっている。

Go言語によるWebアプリケーション開発

プログラミング言語Go完全入門@tenntenn

http://tenn.in/go

42 Tokyoでエンジニアへの一歩を踏み出す

(引用:42 Tokyo公式HP

東京・六本木に拠点を置くエンジニア養成機関「42 Tokyo」では、学生同士のピア・ラーニングを基本理念として、質の高い教育環境を無償で提供している。

性別や年齢、経歴は問わない。たとえプログラミングが未経験でも、これから好きになる意志さえあれば入学できる。

あなたが/あなたの世界を塗り替えたいと思ったら、今すぐ4週間の入学試験「Piscine」に飛び込もう。

おすすめの記事