Go言語をちょっと触って調べてみた!
友人が月曜日、「Goいいかも!」と言っていて、かつて私自身が仕事で使っていたC言語にも似ているとも書かれていたので、面白そうだなと思い週末ちょっとコードを触ってみたり、特長を調べたりしてみました。
1. 使った教材
友人が紹介していた以下。ちょっと視聴してみると、25年前位に一応仕事で使っていたC言語とかなり似ていて、とっつきやすい!
かつていまいちちゃんと分からなかったメモリ確保・ポインタ・アドレス・値渡や参照渡も改めて理解!また、C++のような継承がないのも私にはGood!無名関数自体を戻り値で返す関数とかちょっと複雑だけど面白い。テストを自動で作る機能もあるのか。。ただ、並行処理のところに入ると、素人にはなかなか難しくざっと流し聞き。
また、英語の勉強かねて以下も少しだけ視聴。
2. C言語・Go言語・Pythonの比較
Go言語がどんな特長があるのか、昔使ったC言語、最近よく使われているPythonとの比較において知りたくなり、ChatGPTに聞いてみたところ、こんな感じ。
(私の質問)C言語とGo言語、Pythonの文法的な違い、性能や用途上の違いを表でまとめてください
(ChatGPT回答)以下の表は、C言語、Go言語、Pythonの文法的な違いと、性能や用途上の違いをまとめたものです。これらの違いを考慮して、プロジェクトの要件に合った言語を選択することが重要です。
Go言語は、C言語に似ている構文で、高速で並列処理ができ、システムやサーバー・クラウドに利用しやすいが、Pythonに比べるとやや難易度が高くコミュニティ規模が小さくエンジニアはまだ少ないよう。(確かに私も最初Pythonを知ったときに、変数定義も不要、ポインタもなく、なんて初心者に易しい言語なんだろうと思ったのですが、GoはCに似ているのでそこはちょっと難易度が高いところなんだろうなと思いました)
3. GoとPythonの併存
また、GoとPythonそれぞれ部分的に使うことで問題ないかちょっと気になり以下も、ChatGPTに聞いてみた。
(私の質問)GoとPythonを組み合わせてコーディングすることで問題は起こりませんか?(バッグエンドの中同士、バングエンドとフロントエンド間で)
(ChatGPT回答)
併存させる場合、Go言語の高速処理などのメリットを生かしつつ、セキュリティ面、ソースコードの管理、エンジニア数含めた開発体制面を担保できるかが、ポイントになりそう。
この記事が気に入ったらサポートをしてみませんか?