google Go on Mac(buildではまる:-)

まだ1ケ月経っていないのでいまさらシリーズに入れるのは早いのかもしれないと思いつつ。
(というか、Schemeの()に辟易した現実逃避で)
google goをいじってみようかと。
googleの中の人はWindowsにあまり興味がないようで、初回リリースはLinux/Macのみ。
(11/23辺りにWindowsへの移植版が出ていたみたいだけど、さっき見に行ったら
何故かダウンロードできなかった。というか、ダウンロード用のリンクが存在しなかった)
せっかく?Macを使っているのだから、そのメリットを享受しない手はなかろうと。

とはいえ、IDEに慣れてしまった身には純粋CLIはちとつらい
(まぁ、unixをいじって20年近くなるので、最低限viは使えますけど、最低限ですからねぇ)
eclipseのpluginが出るまで待とうかと思っていたのだけど、いっこうに出る気配がない?し、
さっきも書いたけどSchemeの()にはちょいと辟易して来たし、というのもある。
(まぁ、()がやたら多いのはデコレーション記法の変形(なのか?)と思えば理解はできる
のだけど)

で、google go、なかなか手強い。
makeする段でまずはまった。「quietgccがないからwhichで確認せい」なんて言われるし。
そんなコマンド、見たことないよ、と思ったら、goのbuild途中で作成されたらしい。
$HOME/go/binにPATHがうまく通っていなかったのが原因か。

しっかし、buildが時間がかかる。(正確には、テストで時間食ってるっぽい)

      • cd ../test

でやたらと考え込んでいた。
macでbuildしたことがほとんどないので、こんなに時間かかるんですか?
という感じ。
python野良ビルドした時はこんなに時間がかからなかった気がする。
何回か繰り返しているんだけど、一向に終わらない。
何かおかしいのか?
psで確認すると
8.outがやたら長い(現時点で41分とか)んですけど
なんか、無限ループに入っているとか、そういう世界なんじゃないかと。
こんなところでつまづくとは。

XCodeを入れた後でSnow Leopardにアップグレードしているので、これが影響している
のではないかと(かなり考え辛いのだけど)XCodeのパッチ?を当ててみた。

それでも解消しないので、キーワードを変えてググってみた
golang test sonow leopard

Google グループ
Bingo!
やれやれ。

testはすっ飛ばして、勉強にいそしむか、ってわけには行かないのが軟弱ものの悲しいところ。
一気にモチベーションが下がってしまった。

閑話休題
ようやくモチベーションを取り戻したはいいが、今度はエディターだ。
eclipseプラグインが提供されたという話は聞いていない(私が知らないだけ?)
そうなると、unix使いの友、viかemacsだろう。
私が触り始めた頃はマシンも非力でemacsと打った瞬間、すべてが止まったこともざらにあった。
ま、動き出したら遅くはない(速くもない)んだけどね。

とはいえ、今や21世紀、軽快さ(だけ)を理由にviを選ぶ理由はない。
(.profileを修正するのなら迷わずviだが)
emacsと打ったら、lsを打ったのと同じくらいの軽快さでさくさく動いてくれた。
が、キーバインドをすっかり忘れている。
何はともあれ非常脱出のC-xC-cだけは覚えていたのだけど。
webを探しながらポツポツ思い出して来た。
クラッチバッファを見てさらに思い出した。
(というか、書いてあった)
これってlispの実行系だったよねぇ。
うーむ、やはりlispは避けて通れないのか。

関係ないのだけど、ふと気がついた。
マルチOSでのネィティブコンパイラ言語が欲しいなぁ、と思っていて、確かにgoはそう
なんだけど、(現行版では)windowsのバイナリを吐けるわけじゃないのか。
しまった。クロスコンパイラという線はなさそうだしな。
ま、windows版が出るまで気長に待つとしましょう。
その頃には私もgoを使いこなせるようになっているさ(希望的観測)

ps
goroutineとかchanelの考え方ってerlangにかなり影響を受けてる気がする。
とはいえ、erlangと違って手続き型言語の系譜だから若干取っ付きやすいかな?

まぁ、動的すげ替えは実装されていないみたいだけど
(今後入れてくるのか?)