正直、Go言語のメリットがイマイチよくわからない
2017/03/11
華々しく登場してから話題が尽きないGo言語ですが、個人的にメリットを感じていないというか、何に使っていいかよくわかりません。
ネット上では称賛の嵐なので、おそらくソフトウェア開発の現場ではいろいろメリットを感じているのかもしれません。しかし、このブログのタイトルにあるように、非ITエンジニアが趣味でやるレベルでは、Go言語がなぜこんなにフィーチャーされているかよくわからないのです。
少なくとも、Javaや、.Netを触れた時の衝撃とは程遠い存在です。なぜそんなにもネット上の評判と僕個人の実感とに大きな違いがあるのか、書き留めておきます。
※アイキャッチ画像に自作Gopher君を載せていますが、Gopherの原著作者はRenée French氏です。
[ad#top-1]
目次
まずデスクトップアプリ用途ではない
手っ取り早いのがWindowsやMacで動くGUIアプリが作れるのなら実感できるのですが、標準でそのAPIがないという点で、デスクトップアプリ製作は選択肢から排除されます。
「go gui」でググるといくつか出てくるのですが、やはり純正ではない点と、「出来た」という結果だけで、JavaやC#に比べてパフォーマンスはどうか、と言った点はあまり触れられていません。
なんとなく、Googleって、デスクトップ用途には興味なさそうですしね。
JavaScriptのようにクライアントサイドで実行できない
次に考えるのがブラウザで動くアプリなのですが、今のところクライアントサイドで動くことはできないようです。
まあ、Chromeが勝手にGoをサポートしてしまうと、かつてのIEみたいになってしまい、それを批判していた歴史があるのでやらないとは思います。
結局、JavaScriptの置き換えもできないですね。
せめてAndroidアプリ開発に使えないのか
いずれ対応するかもしれませんが、今のところ話は出ていませんね。
ないことはないのですが、「JavaからGoで書かれた処理を呼び出す」というパターンがほとんど。Android APIを直接処理できるわけではなさそうです。
ただ、これはいずれ対応できるようになるんじゃないかと期待はしています。
あー、でも、対応できたとしてもEclipseとかAndroid Studio上でしか使えないんだろうな~。IDE嫌いな僕にとっては苦痛でしかありません。
結局のところサーバーサイドが主流。でも・・・
要はサーバーサイド用途なんですよね、Go言語って。まあ、Windows上でバックグラウンドで動くものも作れるのかもしれませんが、ググるとほぼサーバーサイドの話。Node.jsの置き換えに関する話が多いみたい。
サーバーサイドで動くなら、PHPのようにJavaScriptから呼び出して結果を受け取る方法があっても良さそうなのですが、ググってもないのはなぜ??
ただ、サーバーOS用にコンパイルして、それをサーバーに置いて動かす、みたいなことって、一般的なレンタルサーバーでやっていいのでしょうか?ロリポップサーバーとかで。悩ましいですね。
結局、Go言語はプロ用途なのかも。
要望まとめ
素人としてはこんなところかな。
- C#やJavaから簡単に接続できたらうれしい。それによって高速処理できるみたいな。
- Android APIが使えたらうれしい。
- GUIを実装しろとは言わないが、せめてElectronみたいなものがあったらうれしい。
[ad#ad-1]
スポンサーリンク