mixiで趣味の話をしよう

mixiコミュニティには270万を超える趣味コミュニティがあるよ
ログインもしくは登録をして同じ趣味の人と出会おう♪

Goby=Ruby+Go言語

  • mixiチェック
  • このエントリーをはてなブックマークに追加
詳細 2021年10月8日 20:01更新

勉強の為に転載しました。
https://techracho.bpsinc.jp/hachi8833/2017_11_10/47787
Goby: Rubyライクな言語(1)Gobyを動かしてみる

2017年11月10日


開発
Goby Go言語 homebrew Linux Mac Ruby
hachi8833
こんにちは、hachi8833です。
今回から不定期で、Go言語だけで書かれたRubyライクな言語「Goby」について書きます。おそらく日本語で書かれた最初のGoby記事になると思います。



リポジトリ: goby-lang/goby
Railsへのコミット経験もある@st0012さんが作ったGobyは現在バージョン0.1.3で、first commitからまだ1年も経過していませんが、st0012さんの驚異的な実装の速さのおかげでかなり早くから基本的な部分をひととおり動かすことができ、HTTP serverやDBアダプタといった基本的なライブラリも装備していて、簡単なWebアプリ(https://sample.goby-lang.org/)やAPIを実際に書くことができます。コミット数は現時点で1800を超えています。


Gobyはその名のとおりRubyから強く影響を受けていて、Rubyと同じ感覚で使えます。Goby実行系はGo言語だけで書かれている(CGOなどのC言語のコードは今のところ含まれていない)ので、C言語を知らないけど気軽に言語系をいじって遊んでみたい方にはぴったりだと思います。Gobyの最適化はこれからですが、その分Goby実行系のソースコードが読みやすいのもありがたい点です。

また、Gobyを知ることでRubyを知るのにも役に立つと思いますし、少なくとも私はそう感じています。実際Gobyのcontributorの中には、Gobyで遊んだ後にRuby本体にパッチを投げた方もいます。

Gobyの特徴については追って順にご紹介しますので、今回はまずGobyの動かし方をご紹介します。

Gobyをどうとらえるか
たとえとしてはとても大ざっぱで恐縮ですが、RubyがサッカーだとすればGobyはさしずめフットサルのようなものと自分は考えています(それならmrubyだよね?というツッコミがありそう…)。フットサルはオフサイドやスローインがないなどルールが若干異なっていますが、同じ感覚でプレーでき、さらに屋内でもプレーできます。何より、サッカーをやる人はいつでもフットサルも楽しむことができます。

Gobyの目的の一つに「マイクロサービスやWebアプリを楽に書けるようにする」というのがあり、Gobyの仕様や標準ライブラリもその点を優先して整備が進められています。Gobyは、Rubyと完全に同じものにする予定は今のところないそうです。実際、明確な意図のもとに少し仕様を変えているところもあり、そうした点については今後の記事でご紹介します。

いろいろ書きましたが、要はGoby実行系のソースをいじるのは私にとって楽しいということです。

Gobyのインストール方法
Gobyのインストールには、Homebrewを使う方法、Go言語ソースをコンパイルする方法、Docker imageを使う方法があります。

Gobyインストール上のポイントは1つ、$GOBY_ROOTの設定です。この環境変数は、Gobyの標準ライブラリをrequireするときなどに必要です。

1. Mac+Homebrew
単に動かすのであれば、Macユーザーはhomebrewでインストールできます。この場合、$GOBY_ROOT環境変数も自動でセットアップされます。インストールの際は最新バージョンをご確認ください。

brew tap goby-lang/goby
brew install goby
gobyを実行して以下が表示されればインストール成功です。

$ goby
Usage of goby:
-e Generate reporting format
-i Run interactive goby
-p Profile program execution
-v Show current Goby version
2. ソースからインストール
GobyのGoソースをいじって楽しみたい方、Windows/Linuxの方は、Go言語の環境をセットアップしたうえでGobyのソースからコンパイルします。私はWindowsでGoを動かしたことがないので、ここではMacとLinuxで説明します。ご了承ください。

参考: Linux Go and Goby setup
1. Go言語のセットアップ
Go言語が利用可能な方は1.をスキップできます。

Macの場合、brew install goでGo言語をインストールするのが楽です。
Linuxの場合は以下でGo言語をインストールします。

$ wget https://storage.googleapis.com/golang/go1.9.linux-amd64.tar.gz -O /tmp/golang-1.9.tar.gz
$ sudo tar xv -C /usr/lib -f /tmp/golang-1.9.tar.gz
$ sudo mv /usr/lib/go /usr/lib/go-1.9
ここからはMac/Linux共通です。以下で$GOPATHと$GOROOT環境変数をセットアップし、$PATHも設定します。ここでは.bashrcに設定する前提ですが、必要があれば.bash_profileの方に設定します。

Homebrewの場合を除き、$GOPATHは好きな場所に設定できます。~/goや~/.goに置かれることが多いようです。$GOPATHは後から変更すると問題が起きやすいので、一度設定したら変えないようにしましょう。

$ echo 'export GOPATH=$HOME/go' >> $HOME/.bashrc
$ echo 'export GOBY_ROOT=$GOPATH/src/github.com/goby-lang/goby' >> $HOME/.bashrc
$ echo 'export PATH=$PATH:$GOPATH/bin' >> $HOME/.bashrc
$ source ~/.bashrc #設定をリロード
go versionを実行して以下のように表示されればGo言語のインストールは完了です。

go version go1.9.2 darwin/amd64
2. Gobyソースのインストールとコンパイル
以下を実行してGobyソースをインストールします。実行はどのディレクトリにいても構いません。

$ go get github.com/goby-lang/goby
以下を実行してGobyの$GOBY_ROOT環境変数を設定します。

$ echo 'export GOBY_ROOT=$GOPATH/src/github.com/goby-lang/goby' >> $HOME/.bashrc
$ source ~/.bashrc #設定をリロード
Gobyのディレクトリに移動してmake installを実行します。

$ cd $GOPATH/src/github.com/goby-lang/goby
$ make install
gobyを実行して以下が表示されればインストール成功です。お疲れさま!

$ goby
Usage of goby:
-e Generate reporting format
-i Run interactive goby
-p Profile program execution
-v Show current Goby version
3. Docker imageを取得して環境まるごとインストール
Gobyには公式のDocker imageもあります。
私のMacbookではなぜかDocker for Mac自体がどうしても動いてくれない(泣)ので、Homebrewで素のDockerをインストールして動かしました。Dockerのインストール方法は省略します。

# bash
$ docker pull gobylang/goby
$ docker run -it gobylang/goby

転載元その2:
https://techracho.bpsinc.jp/hachi8833/2018_04_14/55052
Goby: Rubyライクな言語(2)Goby言語の全貌を一発で理解できる解説スライドを公開しました!

コミュニティにつぶやきを投稿

loading

参加メンバー 4人
開設日
2019年5月26日

1829日間運営

カテゴリ
学問、研究
関連ワード
関連ワードを登録しよう

編集から関連ワードを登録すると、コミュニティがmixiワードに表示されるようになります!