2018年5月5日TweetPocket2018年のゴールデンウィークは、ひたすらGo言語を書き続けた。良い言語だと感じることができなかったが、書き続けているうちに少しずつ良さがわかってきた。Goからはじめ、開発環境を構築し、コマンドラインツールやサーバーなどを色々書いてみた。filterなど)がなかったり、「オブジェクト」に関する考え方が独特だったり、正直なところ書いていて楽しい言語だとは感じられなかった。Go言語が登場した2012年という時代を考えれば、コンパイラによる静的解析・型推論の優秀さとその恩恵は画期的だったはずなのだが、2018年現在、そこで感激することはできなかった。書き続けているうちに少しずつ良さを感じる場面も出てきた。fmtによるソースコードの整形。fmtによるソースコード整形を実施できる。整形のスピードは非常にはやく、全くストレスを感じない。if文やfor文を追加・削除したり、コードのブロックを移動させた時に、ファイルを保存するだけで自動的にインデントなどを整えてくれるのは、結構無駄な作業時間を省略し、負担なくソースコードが綺麗な状態を維持してくれる。代入されたが参照されない変数があるとビルドが失敗になるというような厳格なコードのチェックも、ソースコードを綺麗に保つという点ではとても良い。ある程度プログラムを書いて、サーバーにデプロイしたり他のマシンで動作させる、という段階になって、いよいよ本格的にGo言語の良さを感じることになった。感銘を受けたのはGoReleaserによるバイナリのリリース。YAMLで設定を数行書くだけで、作成したプログラムをGitHub上さらにはHomebrewで配布できる形でリリースできるようになり、その手軽さは素晴らしい。サーバーアプリも、RubyやPythonと違ってサーバー上に環境を構築しなくても、ローカルでビルドしたバイナリをscpやrsyncで転送すればそれだけで動作する、というのもとても手軽で、これらはまさにGo言語にしかない強みだった。Railsを使った方が良い場面は多いだろうし、諸手をあげてGo言語をオススメしたい訳ではないが、開発環境やリリースを含むエコシステム全体でみたときに、非常に強い印象を与える言語だった。Javaでも同じようなことができるようにしてみた。→SwiftFormatとSwiftLintで綺麗なソースコードを維持するもう少し書き続けて、規模が大きいものを実際に運用しはじめたらもっと色々見えてきそうな気がするので、今後も継続的に書いていこうと思う。画像の大きさを整えて結合するツールをGo言語に移植してみた。ツッコミ、フィードバックいただけると嬉しいです。コメントをキャンセルメールアドレスが公開されることはありません。*ウェブサイトご意見、ご感想をお願いします。