Go言語の利点と課題
こんにちは、シニアソフトエンジニアのリロデです。このポッドキャストは、IT業界のいろんな話やリアルをお届けします。
今回は、Go言語個人的には好きだけど、プロジェクトで最初に使うには結構大変だという話をしたいと思います。
Go言語、触ったことありますかね。すごいシンプルな言語で、方法互換性がすごい担保されてて、
言語自体のバージョンアップを全然なくできるっていう素晴らしい言語だと個人的に思っています。
できることが多い反面、多いと個人的には思ってるんですけど、多い反面別に書き方がみんなバラバラになることもないので、
非常に読みやすく書きやすい言語だと個人的には思ってますね。性的片付けっていうのもいいところですね。
あと速度的にも全然いいですし、CLIツールパッと作る時にも使えるし、ツールチェーンとかも充実してるし、
Go言語を学んでおくとKubernetes系のものとかクラウドネイティブ系とかいろんなもののソースコードリーディングがはかどるので、
やってて損しない言語だなと思ってます。APIサーバー書いてる時も環境が整ってればめっちゃ便利で、
ビルドも早いし、とてもいいかなと思うんですよね。ただですね、残念ながら言語がシンプルな分、
パッと開発しようと思った時に必要なものが多いんですよね。例えばですけど、エラーとかロガーとか、もちろん標準的なものはあるんですけども、
実際にプロジェクトでAPIサーバー作っていこうとか、なんかCLIツール作っていこうってなると、ちょっとね、もの足りないんですよね。
で、そうなってくるとどうするかっていうと、プロジェクト専用だったり会社専用のエラーのライブラリとか、
ログのライブラリとか、そういうものを用意しないといけないですね。Ruby on Railsで開発したこともあるんですけども、Ruby on Railsってもう本当にいろんなものがバーンと揃ってて、
そこに乗っかれば全然すぐ開発できるよみたいな感じだと思うんですけども、Goの場合はですね、もちろんいろいろあるはするんですけど、
HTTPサーバーのフレームワークとか、ORMとか、あと細かい諸々のものとかいっぱいあるんですけど、なんかね、それらをうまく組み合わせて作ればいいんですけど、
まあやっぱりプロジェクト固有の事情とか結構あったりするので、それをうまく吸収してくれるためには、自分たちで来るコードというか、
うまく紐付けるためのコードを書かないといけないんだなと思っています。何回か仕事でGoとかやったんですけど、その度に毎回似たようなものを作ってるなって感じはありますね。
毎回いろいろなライブラリ作ってるんじゃないかって気がしますし、特にちょっと変わったデータベースを使う時とかは、ORMとかも自分で作るとか、そういうのもたびたび効くんで、
なんか別にORM作りたいわけじゃないんだけどなぁみたいなね、ありますね。そういうのもあって、もちろんね、自分で好きなように作れるっていうのはメリットの一つでもあるんですけども、
なんかやりたいことはシンプルなのに、なんでここまで自分たちで用意しないといけないんだろう、これがないと開発全然進まないじゃんみたいなものが多いので、
語言語をですね、初めて採用するよというチームの方がもしいましたら、そういうね初期準備めっちゃ実はいろいろあるよっていうところですね、ぜひ持ち帰っていただければいいなと思います。
まあでもね1回準備すれば、あとはねそれ使うだけなんで結構速度出ます。なのでチームだったり組織である程度共通して利用できるものとかをパパって作ってしまえば、
次回以降のプロジェクトとかね結構ちっちゃくいけるんじゃないかなと思います。 本当ね最初は最初は大変なんですよ最初は。はいということで今回は自分が好きな
準備の重要性
語言語というものを触ると楽しいんだけど、やっぱり事前の準備が結構大変で、そこをちゃんとやれないと厳しいよ、みたいな話をさせていただきました。
もちろんフルフルで全部揃ってるやつをね、まあフレームワーク使ってやるっていうのも選択肢の一つなんですけど、やっぱりねこう
まあコードに抽象化されてしまったりだとか、なんかフレームワークのお作法みたいなものをしっかりと覚えないと、そもそも動かせないみたいなこともあったり
すので、若干一長一短ではあると思うんですけども、まあ語言はもう少し用意してほしいな。はいという感じです。
このポッドキャストはハッシュタグリップITで皆様からの感想やコメント募集しております。 またチャンネルの概要欄にありますGoogleフォームのリンクからもご投稿可能です。
ありがとうございました。