パスワードを忘れた? アカウント作成
163496 story
プログラミング

Google、C/C++に代わる言語「Go」をBSDライセンスで公開 120

ストーリー by hylom
ゴー?もしかして「碁」? 部門より

あるAnonymous Coward 曰く、

すでに各所でニュースになっているが、Googleが11月10日、新たなプログラミング言語「Go」をBSDライセンスで公開した(@IT日経ITproCNET Japan)。

Goはご多分にもれずC風の構文を持つが、ガベージコレクタや、「チャネル」および軽量プロセス「ゴールーチン」といった並列プログラミング対応、イテレータ、クロージャ、リフレクションなどの特徴を持つ。設計と実装にはかつてベル研UNIXチームに在籍した Ken Thompson、Rob Pike、Russ Coxの3人や、Google Chromeの高速JavaScriptエンジン開発で知られるRobert Griesemerなど、Googleならではの超豪華キャストが名を連ねている。

タレコミ子の乏しい知識では、ベル研が開発した分散OS、Plan 9 をJava風にアレンジしたInfernoに搭載されていたLimbo言語にそっくりな感じがします。Sunに負けっぱなしだったベル研チームがGoogle移籍で逆襲なるか、という所でしょうか? かつて./のインタビューでオブジェクト指向の隆盛に嫌悪感を示していたRob Pikeが「JavaやC++よりもオブジェクト指向的」と積極的にぶち上げてるのも気になります。

また、プログラムサンプル内に日本語があるというのも目を引く。あるAnonymous Coward 曰く、

Go公式サイトのプログラム例

package main

import "fmt"

func main() {
  fmt.Printf("Hello, 世界\n")
}

で、なぜ「Hello, world」ではないのか不思議に思った方はおられないだろうか。2バイト文字の代表格漢字だから、と思ったがGo公式サイトのチュートリアルページにあるプログラム例が

05    package main

07 import fmt "fmt" // Package implementing formatted I/O.

09 func main() { 10 fmt.Printf("Hello, world; or Καλημέρα κόσμε; or こんにちは 世界\n"); 11 }

と、漢字ではなく日本語(とギリシャ文字)であることが分かる。そしてyoutubeにアップされた一時間のデモの18分5秒のところで「This is a 日本語 string」なるconst strが扱われている(おそらく他にもあるだろう)。

日本語処理はプログラム言語開発の上でマイルストーン的な何かなのでしょうか?それともGo開発者の皆様が日本萌え?

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • 言語名がちょっと…… (スコア:2, すばらしい洞察)

    by Anonymous Coward on 2009年11月12日 13時21分 (#1670433)
    もう少し検索しやすい名前にしてくれればいいのに……。
  • by Anonymous Coward on 2009年11月12日 14時29分 (#1670504)

           / ̄ ̄\
         (⌒ヽ    ヽ⌒)
          |:::: ̄       ̄l 
        . |:::        |
         |:::: (● ) (●)|
         .|:::   (_人__) |  やらないお 萌えに決まってるだろ
          |:::    `⌒´  |   マスコットキャラ的に考えて
          |:::  __  |_
          |::: ノ__)  |_)  The Go Programming Language
          |:::       |     http://golang.org/ [golang.org]
          |:::       |
          \___、⌒i___ノ⌒ヽ
            (_ノ  ヽ_ノ

  • by Tellur52 (36331) on 2009年11月12日 19時10分 (#1670804) 日記

    取り敢えずFAQ [golang.org]とLanguage Design FAQ [golang.org]とLanguage Specification [golang.org]を飛ばし読みした感想。

    例外は無いか・・・まあKenさんが想定していそうな用途(for systems programming)だと実装の優先度を下げてもいいかもね。

    Generic Typesがまだないのはちょっと残念だな。でもまあ、変なキャスト変換も無いから、JavaのObjectのようにフリーダムな事にはならないかな。

  • by 90 (35300) on 2009年11月12日 21時24分 (#1670914) 日記

    http://www.youtube.com/watch?v=wwoWei-GAPo [youtube.com]
    ビルドデモのオプションに見える"-ldarwin/amd64"って何でしょう?
    64ビットAMDマシンをHackintoshで動かしてるんですかね?

    • by yug (32253) on 2010年12月07日 21時42分 (#1870202)

      4GB 以上のメモリを搭載した x86_64 アーキテクチャの macbook で実行しているだけでは?
      もしくはブートオプションで 64bit モードで起動するようにもできますし。

      amd64 は x86_64 と同義です。OSによっては amd64 と表記されるものもあります。
      AMD が先行して実装し、後に Intel が互換命令を実装したため、いち早く amd64 に対応した OS
      では x86_64 にアーキテクチャ名を変更するメリットが無いと、今でも amd64 として扱っています。

      Linuxx では x86_64 になっていますが、FreeBSD では今(8-STABLE)でも、amd64 のままです。
      ユーザランドが FreeBSD ベースの MacOSX が amd64 と表示されるのはあたりまえかと。

      # mac mini もあるのだけど電源入れに行くのがめんどくさいので mac では確認してません。

      親コメント
  • >日本語処理はプログラム言語開発の上でマイルストーン的な何かなのでしょうか?それともGo開発者の皆様が日本萌え?

    英語アレルギーの人が多い日本人に早く普及させれば、世界的にも普及させやすいから…とか?

    #んなわけない

    --

    /* Kachou Utumi
    I'm Not Rich... */
    • Re:えーと… (スコア:5, 参考になる)

      by flutist (16098) on 2009年11月12日 13時45分 (#1670457)

      故石田晴久元東大教授の訳した K&R の前書きに、カーニハンからのメール (1988年12月) が引用してあって「日本語勉強してるよ」とあります。

      Beru Ken de Ishida san ome ni kakatta no toki kara
      nihongo wo benkyou shite imasu.

      今どきなら中国語に興味を持つ人も多いでしょうが、当時は全く異文化の言語 (多くの計算機言語の研究者は自然言語にも興味を持っているでしょう) としては日本語が目に留まりやすかっただろう、と想像します。

      で、そういった人たちに影響を受けた人たち (トンプソンもそうじゃないかな) が、この言語の開発に多く関わってる (か強い影響力を持っている) ってことですかね?

      親コメント
      • Re:えーと… (スコア:2, 興味深い)

        by Anonymous Coward on 2009年11月12日 15時23分 (#1670553)

        石田氏だったか、名前を思い出せないけどある日本人研究者が
        ベル研で日本語処理についてしゃべったらずいぶん好評だったらしく、
        翌年ベル研を再訪したら、Dennisがまる一年間、多国語処理の研究だけしていた
        というエッセイを読んだことがあります。誰だったけなあ。
        ベル研の日本語贔屓は日本人にとって有難い話ですね。先達に感謝です。

        親コメント
    • Re:えーと… (スコア:4, 興味深い)

      by firewheel (31280) on 2009年11月12日 13時50分 (#1670464)

      >それともGo開発者の皆様が日本萌え?
      プログラミン言語 『碁』 なのだとばかり。

      囲碁はゲームプログラミング的には今でも最難関だよね?

      親コメント
    • Re:えーと… (スコア:4, 興味深い)

      by naruse (12596) on 2009年11月12日 15時04分 (#1670537) ホームページ 日記

      彼らはUNIXで日本語を通せるようにした人々ですから。
      EUC開発にも絡んでます。
      別に出ている1988年のメールだと、ちょうどUNIXで日本語を扱うニーズが増し、
      一通りのコマンドを8bit cleanにする作業をやっていたころかな。

      親コメント
  • Issue 9 (スコア:1, 参考になる)

    by Anonymous Coward on 2009年11月12日 13時23分 (#1670437)

    Issue 9 [google.com]でi9に?
    Go! [lulu.com]ってのが先にあったらしい

  • by Anonymous Coward on 2009年11月12日 13時39分 (#1670450)
    次バージョンが Goo
    さらに次のバージョンが Goog

    最後にGoogleがつぶれた時には Google
  • で、リンカーとかが le ?

    最初に実行したときに全部リンクしてから最適化をスタートさせる…とかが楽しそうだから、"le" は是非作って欲しい。
    ところが、ライブラリ "og" がへくってしまい、Go..le となってしまい、

    「おねーちゃん、俺たちの間に挟まってくれ」

    とお願いをする事に(それは違う話だっ)

    --
    fjの教祖様
  • by Anonymous Coward on 2009年11月12日 15時20分 (#1670547)
    "G" "O" → 「き」「ら」→ キラ!

    これは殺人者を意味する。
    つまり、これまでのCやC++を
    破壊するために送り込まれたんだよ!
  • 興味持ったのがこれ。

    var omitNewline = flag.Bool("n", false, "don't print final newline")
    flag.Parse();   // Scans the arg list and sets up flags
     
    if !*omitNewline {
     :

    このコマンドラインパース方法は面白いと思った。この発想はなかったっす。# おれが見たことないだけかもしんないけど
    たしかに、プログラム中最初の1回しかパースしないんだから内部でスタティック変数使おうがなにしようが関係ないわけだな。

    まぁこれはこの言語とは関係ないからオフトピだな。

  • プログラムが書きやすいのは重要だけど、それで実行スピードもそこそこ必要とされるプログラムはどこで使われるんだろう……
    サーバー用途だったらBigTableのO/Rマップとか最初から入っていても良さそうな物だし、
    ローカル環境を意識しているわけでも無さそうだし、……
    と消去法的に考えていくと、
    もしかしてAndoroidのアプリをユーザーにGoで作らせるのがとりあえずの目的なのでは。
    そしてAndoroid OS自体もGoで置き換えるつもりなんじゃ。

    と、妄想してみたり。
  • by imaic (31975) on 2009年11月12日 23時50分 (#1671018) 日記

    % 8g foo.go

    - 6g - x86-64bitアーキテクチャのGoコンパイラ
    - 8g - x86-32bitアーキテクチャのGoコンパイラ
    - 5g - ARMアーキテクチャのGoコンパイラ

    エイリアスすればいいとはいえ・・・。

  • by Anonymous Coward on 2009年11月12日 13時20分 (#1670431)
    VisualGOやGO.NETがでてもいいすね。
typodupeerror

普通のやつらの下を行け -- バッドノウハウ専門家

読み込み中...