【プログラミング】Go言語って、CやC++からだとすごく分かりやすい。おっさん向け言語かも?【Webチュートリアル】

Go言語って??

Rubyを少し勉強してみたら、Mastodonが出てきて、Mastodonのソースを見てみたりしていました。スタートアップのサーバーサイドの言語ではRubyが今は一番シェアが多いのかな?

科学技術系だと、Python, Webサーバー系なら、Ruby、全部ならJavaって感じなのかもしれないですね。おじさんの僕は、Cくらいだと分かりやすいけど・・Cは、Webサーバーのフレームワークとかないですしね(笑)

https://furien.jp/columns/176/

このサイト、言語毎のWebフレームワークを並べてくれていて分かりやすいですね。

Web等のフレームワークも一緒に勉強するってなると、Ruby on Railsが良さそうなんで、Rubyやろうかな?って思ってちょっとつまみ食いしたけど(笑)

こないだは、ドローンの言語を見てたらマイクロソフトから並列処理用の言語として、P言語って出てきていたし(笑)

【P言語】IoT優先のプログラミング言語?Demoがドローン!コントローラーPixHawkにもインプリしてる!【自作UAV】

こないだは、Java互換のKotolinってのも出てきてますしね。もう言語なんて出てこないと思っていたんですが、いろいろ出てきています。何のために作られた言語か知らないですが、Goというのもあって、メルカリ・アッテというサービスがGoを使ってGoogle App Engineで作っているというのを見て。。

Goもつまみ食いしてみようと。。(笑) ということで・・Goを少し調べてみました。

僕ら世代だと、Goというと、ASIAのGoなんですけどね(笑)

ぜんぜん関係ないですが、数年前にASIAのコンサートに行って、スティーブ・ハウがこの曲やってた時には、ちょっと感動しました。だって当時、この曲は、ルカサーやニールショーンがやるような曲だ!だから脱退する!って言ってたんですもの(笑)

なぜGoが出来たか?

https://talks.golang.org/2012/splash.article

ここに書いてありますね。

いつもの超要約してみると。。

Googleのプログラムは、膨大なプログラムになっていて、コンパイルするだけでも凄い時間がかかった。そのコンパイルしている時間でGoを考えた(笑) ってことのようです。

CやC++、Java、Pythonが沢山使われていたけど、どれも古い言語で、今のクラウドとかネットワークとか並列計算とかが主流じゃない時代にできた言語だった。

大勢の人間がかかわるので、表記方法が人によって違わないようにしたい。

Cに近いのが一番学習コストが低そうだ!< それ僕ら世代にも言えてる(笑)

パット見、CやPascalに近いな!って思ったのは、main()があって、()がついている!

package mainpackage main
import "fmt"
func main() { fmt.Println("Hello, 世界")}

ということで、できたがった言語なんですね。知らんかった。

  • クリアな依存関係
  • 構文の明確化
  • 明確なセマンティクス
  • 継承上の構成
  • プログラミングモデルによって提供されるシンプルさ(ガベージコレクション、並行性)
  • 簡単ツール群

を目指して作られたようです。

だから、オブジェクト指向じゃない。クラスがないから抽象化がない。。 Cとかやってたおっさんには、とっても馴染みやすそうな言語です。BASICとかCに本当に近いシンプルな言語なんですね!

さっそくGo言語のページに行ってみます。

https://golang.org/

Goをちょっと試すだけだと

 

https://go-tour-jp.appspot.com/welcome/1

これでやると、インストールも何もいらないで、Web画面上で試せます。

Go Play Groundというものが用意されてて。。 試すだけならこれで十分ですね。

https://play.golang.org/

初期のチュートリアルもシンプルです。

https://go-tour-jp.appspot.com/list

ちょっとだけ間違ったコードが書かれていて、そのコードを修正していくとコードの書き方やお約束がわかるようです。

Goのライブラリ

https://golanglibs.com/

沢山ありますね。

並列処理ってGoルーチンっていうやつで書くんですかね?Channelとかが並列の処理をするための考え方のような感じのようです。

http://gihyo.jp/dev/feature/01/go_4beginners/0005

参考

 

メルカリアッテってGoで作っている現役の方のLTスライド集

http://sssslide.com/www.slideshare.net/takuyaueda967

Google+の日本語コミュニティ

https://plus.google.com/communities/107075098212007233819

Webアプリケーションをつくるチュートリアル

https://astaxie.gitbooks.io/build-web-application-with-golang/content/ja/

これをコピペして遊んでみるのがとても良さそうな気がします。。 ってやってないけどね(笑)

CやJavaを知ってる人ならこの本が良さそう。

チュートリアルの次ならこの本も良さそうです。

投稿者 tom2rd

コメントを残していただけるとありがたいです

Loading Facebook Comments ...

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください