グーグル、C/C++に代わる新言語「Go」をOSSで公開
1 :
たかちゃんψ ★:
グーグルは2009年11月10日、Cのようにシステム記述に適したプログラミング言語「Go」をBSDライセンスの下に公開した。
C++ようなC言語の拡張ではないが、Cに似た構文が特徴で、ガベージコレクタ(GC)や並列プリミティブ、イテレータ、
実行時リフレクションなどを備えた新しい設計が目を引く。
Goはグーグルの社員7人が「20%の自由時間」を利用して開発した。
設計・実装を行っているのが分散OS「Plan 9」の創案者であるロブ・パイク氏や、Unix、Cの生みの親、ケン・トンプソン氏、
Google ChromeのV8エンジンを開発したロバート・グリースナー氏など錚々(そうそう)たるメンバーで、こうした点でも注目を集めそうだ。
Goにはクラスや継承といった概念はないが、「GoはJavaやC++よりも、ずっとオブジェクト指向的な言語だ」(パイク氏)という。
実際、ドット記法によるメソッドの呼び出しに似た文法で、特定の型に紐付いた関数を呼ぶことができる。
Goには“インターフェイス”と名付けられた仕組みがあり、パイク氏自身は「おそらくGoの中で、もっとも斬新なアイデア」だとしている。
Goのインターフェイスは、C++でいえば、純粋仮想関数に似ているという。
データメンバがなく、すべての関数が仮想関数であるようなクラスだ。
Goでは、あるインターフェイスが定義するメソッドをすべて実装した型は、そのインターフェイスを実装しているものと見なされる。
こうして個々のメソッドという実装をクラスという概念でまとめるよりも、より柔軟な型とメソッドの対応付けが可能になるのだという。
http://www.atmarkit.co.jp/news/200911/11/go.html
D言語でいいじゃん
Dを皆でブラッシュアップしてよ
いい加減にフリーフォーマットはもうやめろよ
>Goには“インターフェイス”と名付けられた仕組みがあり、パイク氏自身は
>「おそらくGoの中で、もっとも斬新なアイデア」だとしている。
記事読んだ限りではJavaやC++のインターフェイスとまったく同じっぽいけど?
クラスなしでインターフェイスだけなのが斬新なのかな?
C++じゃなかったC#
機能よりデバッガ
7 :
名無しさん@お腹いっぱい。:2009/11/11(水) 23:31:28 ID:T+evF8Rz
マルチコアの時代だし並列プリミティブを言語仕様で標準サポートされるのはうれしいな。
8 :
名無しさん@お腹いっぱい。:2009/11/11(水) 23:46:55 ID:T+evF8Rz
String型のとこ見たけど、マルチバイト文字のことは考えられていない?
10 :
名無しさん@お腹いっぱい。:2009/11/12(木) 00:47:39 ID:su570Bue
アセンブラはどこ行ったんだ・・・
11 :
名無しさん@お腹いっぱい。:2009/11/12(木) 00:57:15 ID:rRpafAM/
言語仕様と処理系をごっちゃにするのは
この俺が許さない
プログラムってよくわからないんだけど
開発言語を作るときって何言語でプログラムするの
>>12 それは上から指示されるから心配ないよ
次のプロジェクトはGoでやると言われたらGoでやるだけ
Go見た事ありませんとか、そういうのは無し、プロならね
プログラマはどれか一つ言語を理解していれば未知の言語も70%は理解できてるのよ
初めて見るGoのサンプルコードにも見覚えあるだろ?、そんなもんなのよ
暗記では話にならないし、概念レベルで理解していれば未知の言語を怖がる必要は無い
だいたいさ、既存の言語よりもっと簡単お手軽にしようって趣旨で新しい言語が登場してくるんだから
新言語を怖がるのは変だって
きっとcやJavaより楽に違いないと期待しないと
どれかの言語による天下統一は絶対にありえないんで、この先ずっとこんな感じで次々と新種が出てくる
それに対応できないプログラマは転職するしかない
それをGoで記述してみよう
>>13 12の質問への答えは「たいていはC/C++。理由は速いから」じゃないの?
>次のプロジェクトはGoでやる
こう要求してくるクライアントがいるのか、
クライアント関係なくこう発言したプロジェクトリーダーの机が翌日以降も存続出来るのか
難しいところだね
>>17 なぜ色々な言語が有るのか理由が分かっているなら愚問
言語は適材適所だし、古い言語は陳腐化していく
アッセンブラの代用としてcは残るけどね
上から目線で言えば兵隊には色々な言語を叩き込みたいのもある、開発環境も色々やらせる
お勉強は無意味で経験させないとならない
適材適所以前に、Goがこの先生きのこるのかが問題。
20 :
名無しさん@お腹いっぱい。:2009/11/12(木) 03:13:22 ID:LGFSQMLi
郷ひろみ
21 :
名無しさん@お腹いっぱい。:2009/11/12(木) 05:09:14 ID:6HShhEF8
↓以後Goで記述してくらさい
>>4 クラス(Goには無いらしいが)にインターフェイスを実装する記述が必要無いというのがポイントなのかも。
形さえ合えば何でも呼び出せるというのは、メリット/デメリットありそうだけど、柔軟だとは言えると思う。
>>13 > Go見た事ありませんとか、そういうのは無し、プロならね
でもまあこれは気にすることないよ。
多くの人が使っている言語を上から指示されるので、
特に理由がないのなら、現段階でGoを使えと指示されることはまずない。
多くの人が使える言語を選ぶのがプロだから。
>>18 > 上から目線で言えば兵隊には色々な言語を叩き込みたいのもある、
それはない。流行るかどうかもわからない言語(Go含む)を
勉強させるぐらいなら、他の仕事になる・金になる言語を勉強される。
それどころか言語よりも重要なものはたくさんあるので、
(いまちゃんと仕事できているのなら)言語は勉強させないかもしれない。
時間の無駄だからね。
現段階ではGoは仕事用の言語ではなく、趣味用の言語だな。当たり前だけど。
言語で遊びたいのなら勝手だけど、仕事の話をするのならGoが生き残るとわかってから
勉強しても遅くはない。言語なんてすぐ覚えられるし、特に出た初めはいろいろ仕様が変わる可能性もあるので
勉強したことが無駄になる可能性も高い。
>>18 > 言語は適材適所だし、古い言語は陳腐化していく
それは違うなぁ。
新しい言語が普及するまではかなりの時間がかかるよ。
適材適所ってのはそうだが、もうすでに必要とされている言語は存在しているので
新しい言語が入り込む隙はない。言語なんてどれもたいして変わらないしね。
Goは便利かもしれないが、すでに他の言語があってノウハウもプログラマも
多くの資産がある。それをすててGoを選ぶ理由はないので、5年、10年後に
生き残ることがGoを含めた新しい言語の乗り越えなければならない壁の一つだな。
26 :
名無しさん@お腹いっぱい。:2009/11/12(木) 10:47:17 ID:KNo54WRx
PSPといい
なんでもGoGoいってればいいもんじゃねえぞw
go の検索結果 約 2,740,000,000 件中 1 - 10 件目 (0.12 秒)
ほらみて、もうこんなに普及している
>>12 DelphiはDelphi自身で作ったというのが売りだったな
そのDelphiはいまや・・・
>>29 2010使ってるけどやっぱり慣れているせいかさくさく作れる。
コミュニティ縮小のせいで使い方を模索せにゃならんコンポネも多いけどね・・・。
gotoまで読んだ
33 :
名無しさん@お腹いっぱい。:2009/11/12(木) 13:01:46 ID:PN3k/UdG
Cさわってりゃぁ、どの言語大体一緒だわ
>>25 そうはいってもしょぼいPHPがここまで普及したんだから、
壁なんてのは案外脆いか錯覚かもしれないよ。
>>27 C言語最大の欠点が改良されてないじゃねーか!!
>>34 しょぼいPHPが普及したのには理由があるんだよ。
でもそれは、言語が優れていたからじゃない。
言語のよしあしなんて、普及するかどうかに関係ないんだよ。
Goは優れている? 言語が? だけどそれは意味がないの。
それ以外の何かがないと普及しないし、
普及しない言語は覚えるだけ時間の無駄なんだよね。
だって、他の言語でも作れるじゃん。
だから、Goも様子見。Goよりも優れた(普及した)言語はいくらでもあるから。
>>37 つまりあなたは阿諛迎合して生きていくだけだと。
>>36 アルファベット一文字とか一般の名詞と同じとか
ホント検索しにくい
素人は出来の良し悪しを一瞬で正確に見抜くからな
そして最悪のものに迷わず突撃していく
>>38 それ自分のこと?w
俺は使えるものなら使い、
使えないものは使わない。
使えるかどうかもわからないものに時間を使わない。
俺に使って欲しければ、使えるものになれ。
それだけの話。
他力本願
なんで俺が試用してみないといかんのだってことだなw
給料出るわけでもあるまいし。
画面にHello Worldって表示するだけの試用のプロフェッショナルが言うことだから
まあ、使いたい奴が使ってればいいよ。
C/C++と同系統の言語なんて数時間やればマスターできる。
使う必要性ができたら勉強するだけ。今までと同じこと。
レビュー楽しみに待ってますw
47 :
名無しさん@お腹いっぱい。:2009/11/12(木) 17:23:01 ID:LGFSQMLi
Goの出来具合は置いといて、GoogleはGoをどういう風に普及させるんだろ?
最初はAndroid中心に展開していくのかな?
>>47 GoはGoogleが力を入れて作った言語じゃないよ。
社員が勝手に作った言語。
普及させるに値するかをGoogleは今から評価する・・・かもしれない。
Dで十分いいと思うがなあ。なんでこんな似たようなもん作るのかわからん。
開発者がみんな言語ヲタらしいから「ちょと趣味で作ってみました」くらいのもんじゃないかな。
一応Googleが公開と銘を打っているから、それなりにGoをどうにかしていくのかと思った
DはDでいろいろと・・・
>>47 発想が変だぞ
Goを普及させてもGoogleには得はないだろうに、売るわけじゃないんだから
cやらJavaやらの生産性の悪さにうんざりしてるからGoをやる事にしただけだよ
Googleは自分の為にGoをやる
Gpogleの成果次第では他社が一斉に追従するけどな
>>49 その発想も変
今は次々と新言語が登場するので、今ある言語で一番いいやつを使えばいい
どれかの言語で統一するってのがありえないしな
> cやらJavaやらの生産性の悪さにうんざりしてるからGoをやる事にしただけだよ
やることにしていない。
社員が自分の趣味で作っただけ。
はっきり言って言語で生産性に大差は出ない。
重要なのはライブラリの数。Goにはこれがかけている。
これを整えないと生産性はがた落ち。
プログラム板にもGoのスレはできたが、
プログラマの間でも評価は保留。
まだ何もできてない状態だからね。
できたばっかりのものに考えなしにほいほい手を出すと馬鹿を見る。
>>53 > 今は次々と新言語が登場するので、今ある言語で一番いいやつを使えばいい
流行に流される奴は、本当のプログラマじゃないな。
新言語はに手を出している人は、こんなやり方ができるんだねって勉強が目的であって、
使うために手を出しているわけじゃない。
あー、Googleの中の人の為の言語なのか。
Goを使ったらAndroidのアプリ開発が超絶楽になるよ!
だからみんなGoでジャンジャン開発しよ!
みたいな事になるのかと想像してた。
てst
システム開発やってるやつらってみんな自信家なんだな
ここ見てると「俺が正しい」いや違う「俺が正しい」みたいなレスの応酬なんだけど
やっぱり自分に自身がないと開発なんてやってられないのかな
いつもの人がいるだけだよw
根拠なく、Googleやオープンソースを持ち上げる
あいつがいるだけ。
>>56 そうすると思うよ、Google遊びでGoやってるんじゃないから
アップルがObjectiveC使ってる理由は理解できてる?
iPhoneアプリは10万本を突破した、この生産性の高さは何だよ?って話にならないと嘘だよ
Javaなら近い生産性が可能かもしれないけどね(なにせ人口が違う)
>>55 言語を流行り物と誤解している時点で素人ですw
ともかく、ある言語に統一される事は絶対に無いからね
万能無敵な言語など存在しないし、現存している言語は全て不完全だから次々と新しい概念に基づく言語が登場する
61 :
56:2009/11/12(木) 19:41:19 ID:???
>>60 大変申し訳ないが、プログラミングについてはド素人なのでApple云々や専門的な事はよく分からなひ…
> そうすると思うよ、Google遊びでGoやってるんじゃないから
信じれないと思うかもしれないけど、遊びだよ。
Googleには勤務時間の20%は自分の好きなことをするというルールがあるだよ。
Goはこれで生まれたもの。
ここから正式なものになる可能性はあるけれど、
現時点では、自分の好きなことをしただけに過ぎない。
本当のプログラマじゃないとか大口叩いた割りに
否定されたら、すぐに遊びでやってるって言い出した
>>62がいつもの人なんじゃないのか
ま、Googleに幻想を抱くのは止めようねって話。
Googleの知られざる「失敗サービス」について振り返る
http://markezine.jp/article/detail/3417 2ページ
失敗サービスその1「Google X」
失敗サービスその2「Google Answers」
3ページ
失敗サービスその3「Google Related Links」
失敗サービスその4「Whois Seaches」
4ページ
その他Googleが停止した(と思われる)サービス(一部)
まとめ
しかし仕事の合い間に開発言語なんか作れちゃうんだな
googleぐらいになるとすごいやつがいるもんだな
>>13 コボラーがJavaでコボルプログラミングしたとかいう話があるよね。
結局は習得した言語に適合させる形で他の言語を利用するだけ。それが職業プログラマー。
>>39 だからGoogleのソースコード検索を使えって話じゃね?
>>68 まあ、仕事時間の20%を自由に使っていい会社だからね。
>>13 まあ、Go見たことありませんってのが大半なら、
上からGo使えという指示はでないからw
別にGoじゃなきゃできないプロジェクトなんか無いしね。
>>72 効率だから
同じマンリソースなら言語が生産性を決める
ともかく自然淘汰が結論を出すので楽しみに待て
ぶつちゃけJavaは失速してる、言語には寿命がある事も忘れずに
後発の方が旧式言語より優れているのは必然で、そうでないなら存在意義がない
C#は脇役で主役はCLIな事がバイリンガルの必要性も教えてくれる
> ともかく自然淘汰が結論を出すので楽しみに待て
何年待てばいいのさw
5年たっても「とにかく普及するまで待て」じゃ困るんだよ。
期限つけてもらわなきゃな。何年後までに普及すると。
5年も待ったら俺たちゃ中華人民共和国日本自治区の住人になってる
76 :
名無しさん@お腹いっぱい。:2009/11/13(金) 00:07:00 ID:RSYj5jXm
>>73 COBOLみたいなのもあるわけで。
まぁ、Javaは今は言語として利用するよりそのVMを環境としてってのが多そうだよね。
77 :
名無しさん@お腹いっぱい。:2009/11/13(金) 01:43:53 ID:woZMie78
奴隷レスの多さに泣いた
この板、計算機科学専攻とか読んでないの?
読んでいるお前がなんか偉そうなことをいえば済む話。
一つ二つの言語しか経験の無いプログラマは平均より劣っている事に気づくべき
どの言語かではなく複数言語の経験の有無を問われる
知識ではなく対応できる能力を問われる
社会では実務経験が要求され、お勉強は評価されない
で?
>>74 cが地位を確立するのに15年以上かかってる
当初は誰も見向きもしなかった
MacOSはcではなくPascalで書かれた、84年(c登場から10年経ってる)当時はまだcはオタ向けのゲテモノ言語だったから
BASICはゲイツが発掘しなければ全く普及しなかったろう
じゃあ、Goも実用レベルになるのは10年後だな。
お前、一つの言語マスターするのにどれくらいかかった?
たいして時間がかからなかったのなら、
何が言いたいかわかるだろう?
必要になってから勉強すればいいんだよ。十分間に合う。
>>82 そういう人はわざわざこのスレに書き込む意味がないじゃん。
84 :
名無しさん@お腹いっぱい。:2009/11/13(金) 07:58:55 ID:7lEgINhW
85 :
名無しさん@お腹いっぱい。:2009/11/13(金) 08:05:20 ID:N0QGHLMm
>>67 失敗の多さは問題じゃないよ
Googleはとりあえず公開してみて、支持の多かったサービスだけ存続していくというやり方だから
その背後に多くの失敗があっても、むしろあたりまえ
86 :
名無しさん@お腹いっぱい。:2009/11/13(金) 08:33:49 ID:vBSg8bIF
言語の生き死には、ウェブサービス以上にそれを後押しする組織の努力に左右される。
単にそれ自体が以下に優れていても
豊富なドキュメントやライブラリ、扱いやすい開発環境、
短すぎず長すぎないバージョンアップとその互換性、
協力してくれるサードの確保など
Googleがバックアップし続けなければ死ぬ。
87 :
名無しさん@お腹いっぱい。:2009/11/13(金) 12:29:32 ID:MzLhqTZs
今猛烈にFirefoxの調子が悪いんだが、俺だけ?
全然、どこもまともにアクセスできない(泣
Googleすら「サーバが見つかりませんでした」って…
88 :
名無しさん@お腹いっぱい。:2009/11/13(金) 12:39:40 ID:zLanWwZ2
>>87 調子悪いのはFirefoxじゃなくてお前の脳
おー脳ー
>>29 糞が生き残って、良い物が滅亡する良い例だ。
滅亡したものが、悔しくて言うセリフかw
MFCの亡霊にすがる位ならVCLの方が幸せだと思うけどな
VCLはPascalで書かれているので糞
Pascal はいい言語だぞ。
一流の脇役言語だとは思うよw
教育言語だよ。
それにプログラミング言語自体縁の下の存在だし。
たまにはADAを思い出して下さい
開発者が年取りすぎだろ