Go言語、GCCのメインラインに取り込まれる 18
ストーリー by hylom
Goは普及しているのだろうか 部門より
Goは普及しているのだろうか 部門より
ouyama 曰く、
GCC 4.6ではGo言語コンパイラ「Gccgo」がサポートされる見通しだ。
今月初め、GCCのメンテナの1人であるIan Lance Taylor氏が、GCCのメインラインにGo言語のフロントエンドであるGccgoをコミットしたと述べている。これは来年初めにリリースが予定されているGCC 4.6がGo言語をサポートすることを意味している。しかし、Go言語はまだ開発中の段階であるため、GCCがサポートするGo言語は(仕様的に)古いものになってしまう可能性がある。これは将来的に問題となるかもしれない。
GNU Go (スコア:3, おもしろおかしい)
GNU Goと間違える人多発の予感。
ややこしいので改名すべきか、はっきりと白黒つけて欲しいね。
Re:GNU Go (スコア:1, おもしろおかしい)
しろ‐くろ【白黒】
〘名〙スル
1 <<親コメに全く関係ないので省略>>
2 <<親コメに全く関係ないので省略>>
3 物事の是非。善悪。正しいか正しくないか。また、罪がないか罪があるか。
4 <<親コメに全く関係ないので省略>>
Re:GNU Go (スコア:1, おもしろおかしい)
ヒント: Gnu 碁
Re: (スコア:0)
GNU碁の意味オセーロ
Re: (スコア:0)
イヤーゴ。
# 註:シェイクスピア
Re: (スコア:0)
ネタにマジレスするネタなの?
Re: (スコア:0)
正直、ikotomのネタが無理矢理すぎるんじゃないかなぁ。
オモオカがついて欲しいけど、さっき見たらすば洞だったわw
Re: (スコア:0)
ん〜、指摘にすば洞を否定する気は全くないんだけどね。
ネタが無理矢理すぎるから「分かるように」おもおかをつけてあげてってことよ。
# ネタとしても文章的におかしいからツッコミコメには多少同情してしまうよ
Re: (スコア:0)
こんなネタ、分からないなら、分からなくたっていいじゃん。
なんで「分かるように」してあげる必要があるの?
C++で書かれています (スコア:2, 興味深い)
GCCのsvnのtrunkのここ [gnu.org]ですね。
WikipediaのGo (プログラミング言語) [wikipedia.org]には
「Gccgo(再帰下降パーサを持つC++フロントエンド、バックエンドに標準GCC)」
って今のところ書いてあるけど、
「C++で書かれたGCCのフロントエンド」
のほうがよいかなぁ。
love && peace && free_software
t-nissie
Re:C++で書かれています (スコア:2, 興味深い)
gccgo 自体も C++ で書かれてますが、
> 「Gccgo(再帰下降パーサを持つC++フロントエンド、バックエンドに標準GCC)」
これは、「Gccgo は、goコードをC++コードに変換するフロントエンドである」って意味ですから「C++で書かれた」と書き換えてしまうと意味が変わってしまいます。
goのサイト [golang.org]にある「The Go frontend for GCC」(注:PDF) [golang.org]によると
とあります。
go言語のソースコードはまず「GOGO」というC++ クラスライブラリを用いた中間フォーマットに変換されて、最後にGOGOからGENERIC(gccの内部表現フォーマット)に変換してからgccのミドルエンドに渡してるわけです。
かつてのC++ コンパイラのようにCコードの形で一旦外に出すわけではなく、GOGO自体は内部フォーマットに過ぎないようです。
なんか微妙に回りくどさを感じますが、既存の言語に似た新言語のコンパイラを作る場合は、この方が手間削減にはなるってことでしょうか。
Re:C++で書かれています (スコア:1)
>「Gccgo は、goコードをC++コードに変換するフロントエンドである」
いや、そのりくつはおかしい
goコードをC++のクラス(文クラス、式クラス、型クラス等)で表現された構造に変換するって(当たり前のことを)言ってるだけ。
その理屈だとgccはどんなフロントエンドでも最終的にCの構造体で表現するから「Cコードに変換する」ことになるの?
Re:C++で書かれています (スコア:1)
重箱の隅に反応しますが「ミドルエンド」(真ん中の端)って気持ち悪いですね
Re:C++で書かれています (スコア:3, 参考になる)
気持ち悪いかどうかはともかく、コンパイラの内部の話ではミドルエンドって表現は普通じゃね。
心配になってぐぐってみたら普通に英語版Wikipediaにもmiddle endって書いてあって安心した。
Re:C++で書かれています (スコア:1)
おお、そうなのか。勉強になりました。
ローマ字 (スコア:0)
gogengo。略して3G?
Goo (スコア:0)
って空目した。