かとのぼのマイコード・マイライフ

プログラミング初心者とアプリの個人開発者向けのブログ。たまに銭湯

GO言語の学習始めました

この記事をシェアする

スターティングGo言語 (CodeZine BOOKS)

 4月からプログラミング言語のGolangの学習を始めました。まだ学習の途中も途中なんですが、感じていることを備忘録的にまとめておきます。

 なぜGoの学習を始めたのか?

そもそもGoの学習を始めたのは、今まで使ってきた技術だと、これから作ろうと思っているウェブアプリケーションにマッチしていないと思ったからです。

だいたい普段私が作っているアプリケーションは、フロントエンドがVue.jsで、バックエンドは「Firebase」のいわゆるサーバレスのSPA(シングル・ページ・アプリケーション)です。この構成は非常にシンプルに素早くアプリを作ることができ、Firebaseには無料枠があるのでコスト的にも個人開発には相当魅力的な構成だと思っています。

ただ今回作ろうと考えているアプリが、NoSQLの「Firebase」が苦手な「検索」機能や、柔軟なデータの変更や追加が多く求められるような機能が重要になりそうでした。

そこで、NoSQLではなく、RDB(リレーションデータベース)を使う選択と、そのサーバーサイド言語としてGoを使おうと思い学習を始めました。

もちろん、PHPやRuby on Railsは以前に学習したことがありましたからそちらを選ぶこともできましたが、参考にしているアプリがGoを使っていたので、Goを選択しました。

現状Goの学習に最適な学習過程が見つけられていない

学習を初めてまだ数日ですが、今感じているのは、もし私が初心者でいきなりGoの学習をしていたらおそらくGo言語はおろか、プログラミングの習得自体を諦めていただろうなということです。

理由は、Go言語自体はそこまで難しい訳ではなさそうですが、Goを学習するための今入手できる教材が初心者にとってはどれも難しいためです。

現在私は以下の三つの書籍を購入しました。

これら三つはアマゾンのレビューが高く、書店でもGoのコーナーで平積みされていたようなメジャーな書籍です。

最初の「スターティングGo」は、まさに教科書といった感じです。文法などは学べますが、全体像や実際にアプリを作るところまでは行きません。いきなり初心者が学習を始めたら正直何をやっているのかわからないと思います。

「みんなのGo言語」は、どちらかというとTip集といった感じで、Go言語にかなり慣れた人向けに感じました。

最後の「Goプログラミング実践入門」は、かなりプログラミングの経験がある人でないと難しいと思いました。例えば、いきなりCSSフレームワークのBootstrapが出てきたりして、どこがGo言語で、どこがBootstrapか初心者には判断つかないと思います。

つまり、どれも初心者にはハードルが高いのです。

アマゾンのレビューをしている人はレベルの高いエンジニアなので、レベルの高い人には良い書籍ではあると思うのですが、初心者がこれらの書籍のレビューを参考にして良いものではないと学習をして初めて気づきました。

結論として、初心者はもっと教材が充実するまではGoはいきなり触れない方が賢明かと思いました。

これから

まだ学習を始めたばかりなので、まずはGoプログラミング実践入門をやりあげて、4月の中旬くらいには一つアプリを作ろうと思っています。

久しぶりに全く新しい言語なのでなかなか前に進みませんが、「そうそう。これがプログラミングの学習だよな」とも感じるので、一歩一歩進んで行きたいと思います。

また、良い教材や学習方法が見つかったらこのブログで共有したいと思います。