1 名前:デフォルトの名無しさん [2009/11/11(水) 15:23:15 ] Google発の新言語go The Go Programming Language golang.org/ グーグル、C/C++に代わる新言語「Go」をOSSで公開 www.atmarkit.co.jp/news/200911/11/go.html
2 名前:デフォルトの名無しさん [2009/11/11(水) 15:30:01 ] Let's go!
3 名前:デフォルトの名無しさん mailto:sage [2009/11/11(水) 15:30:59 ] FAQをばーっと見てるけど、結構シンプルな言語になりそうだな。Cみたいな。 簡潔な文法にしてパースを簡単にしてツールを使いやすくするみたいなことも 書いてあるし
4 名前:デフォルトの名無しさん mailto:sage [2009/11/11(水) 15:31:58 ] このスレッドは天才チンパンジー「アイちゃん」が 言語訓練のために立てたものです。 アイと研究員とのやり取りに利用するスレッドなので、 関係者以外は書きこまないで下さい。 京都大学霊長類研究所
5 名前:デフォルトの名無しさん mailto:sage [2009/11/11(水) 16:00:47 ] 検索しやすい名前にして欲しいわ
6 名前:デフォルトの名無しさん mailto:sage [2009/11/11(水) 16:08:30 ] Rob Pike Ken Thompson Rob Griesemer か、すごい面子だな。 >>1 の記事はグリース"ナ"ーになってるな。
7 名前:デフォルトの名無しさん mailto:sage [2009/11/11(水) 19:09:53 ] ogle ?
8 名前:デフォルトの名無しさん mailto:sage [2009/11/11(水) 19:10:46 ] D言語終了のお知らせ
9 名前:デフォルトの名無しさん mailto:sage [2009/11/11(水) 19:26:27 ] こんなに次から次に言語つくりやがって、さすがの俺でも覚えきれねぇよ
10 名前:デフォルトの名無しさん mailto:sage [2009/11/11(水) 19:50:38 ] plan9にもCの拡張みたいな言語あったね パッケージが結構充実してるし、いいかも cygwinで動くのかな
11 名前:デフォルトの名無しさん [2009/11/11(水) 19:56:42 ] へー そうなんだー。 > Googleは米国時間11月10日、オープンソースのプログラミング言語「Go」を発表した。 > Goは、主席ソフトエンジニアRob Pike氏やUNIXの共同開発者のKen Thompson氏らで構成されるチームにより開発された。 > 現在、Goプロジェクトは、プログラミング言語、コンパイラ、Goで書かれたプログラムに多くのビルトイン機能を与える > ランタイムパッケージプログラムで構成されている。Pike氏によると、Goは、CおよびC++と類似しているが、最新の機能を > 採り入れ、ウェブブラウザ内でも使用可能にするなどの汎用性を備えているという。 > Goは、ソフトウェアをマルチコアプロセッサで実行する場合に発生する問題に対処するよう開発されている。 > またオブジェクト指向プログラミングが持つ問題点を緩和するためのアプローチが取られているほか、 > 同社はオープンソースブログで、Pythonのようなダイナミック言語で作業する場合の開発速度とCやC++といった > コンパイラ型言語のようなパフォーマンスと安全性を兼ね備えていると述べている。
12 名前:デフォルトの名無しさん mailto:sage [2009/11/11(水) 20:13:31 ] Webプログラミングでコンパイラ言語を! って話を前にGoogleが言ってた気がするが 結局独自言語か…
13 名前:デフォルトの名無しさん mailto:sage [2009/11/11(水) 20:18:40 ] >>12 いや、これ勤務時間の20%は自由に使っていい、 その時間でやった仕事でGoogle社の意向とは無関係。 ただしGoogle内でも便利な仕様にしたらしいが。
14 名前:デフォルトの名無しさん [2009/11/11(水) 21:08:17 ] やっと勃ったか。
15 名前:デフォルトの名無しさん mailto:sage [2009/11/11(水) 21:12:43 ] また言語の乱造かと思いきや、C++の代替ってことはネイティブコード吐くってこと?
16 名前:デフォルトの名無しさん mailto:sage [2009/11/11(水) 21:15:32 ] >>15 処理系が二つあって片方はgccのbackendを利用してる。 だからかなり多くのCPUとOSをサポートしてる。 LLVM backendの計画もあるらしい。
17 名前:デフォルトの名無しさん mailto:sage [2009/11/11(水) 21:23:32 ] なら活路はあるかもね。D言語には裏切られた感があるが、 Googleなら資金力的に普及させられるか?
18 名前:デフォルトの名無しさん mailto:sage [2009/11/11(水) 21:55:44 ] 資金力はほとんど関係ない。D言語はセンスが悪すぎる。 C#くらいでしょ、設計悪くても金の力で流行ってるのは。
19 名前:デフォルトの名無しさん mailto:sage [2009/11/11(水) 21:57:42 ] マスコットのセンスの悪さはGoも負けてない
20 名前:デフォルトの名無しさん mailto:sage [2009/11/11(水) 22:06:32 ] ゴルーチンw
21 名前:デフォルトの名無しさん mailto:sage [2009/11/11(水) 22:24:44 ] バージョン2にはgotoが実装されます
22 名前:デフォルトの名無しさん mailto:sage [2009/11/11(水) 22:27:10 ] 検索屋が付けたとは思えない名前だな
23 名前:デフォルトの名無しさん mailto:sage [2009/11/11(水) 22:30:12 ] Cがベースだからサンプルがスラスラ読め・・・ないw
24 名前:デフォルトの名無しさん mailto:sage [2009/11/11(水) 22:36:15 ] CとObjectPascalとLuaを足して割ったような感じだね
25 名前:デフォルトの名無しさん mailto:sage [2009/11/11(水) 22:49:51 ] キャラクターデザインはPlan9と一緒の人かな? plan9.bell-labs.com/plan9/glenda.html
26 名前:デフォルトの名無しさん mailto:sage [2009/11/11(水) 22:50:15 ] あとJavaScriptか
27 名前:デフォルトの名無しさん mailto:sage [2009/11/11(水) 22:56:54 ] ifとかforとかにカッコはいらないのに、ブレース(中括弧)はいるという のにすごい違和感を感じる
28 名前:デフォルトの名無しさん mailto:sage [2009/11/11(水) 23:03:24 ] いち、に、さん、C、Go
29 名前:デフォルトの名無しさん mailto:sage [2009/11/11(水) 23:24:41 ] 「コンパイルスピードが速い」を最優先事項にしてるとこがすごいな
30 名前:デフォルトの名無しさん [2009/11/11(水) 23:37:31 ] もうスレ立ってるのか、はえーなwヲイw >>5 あぁ、それは激しく同意だ。
31 名前:デフォルトの名無しさん mailto:sage [2009/11/11(水) 23:39:20 ] ゴゴゴゴゴゴゴゴゴゴゴゴゴゴゴゴゴゴゴゴゴゴゴゴゴゴゴゴゴゴ
32 名前: ◆wRUAlDL/UQ mailto:sage [2009/11/12(木) 00:03:56 ] これがあると何が出来るの? Open Janeみたいなアプリつくれるわけ?
33 名前:デフォルトの名無しさん [2009/11/12(木) 00:10:31 ] www.youtube.com/watch?v=L5zGG_zioXU
34 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 00:15:22 ] テンプレートみたいな事も出来るんだな C++涙目
35 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 00:22:09 ] Hello Worldが560KBか・・・ まぁ、言語が高機能になれば、ランタイムもでかくなるわな
36 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 00:22:38 ] 何か思いのほかガッカリだなwクラスが無いとか大胆すぎるだろw オブジェクト指向を謳っているけど紐付けも関数に限定されているしアクセサビリティの制御も不十分だなw コレクションの概念も盛り込まれていないし標準ライブラリもインタフェースで統制されているわけでもなくバラバラ 正直まだD言語の方が遙かにマシだわw まあGoogleが運用するってことなんで数年後に期待ですね。でも普及するときにはGo++みたいな別の言語になっていると思うけどねw
37 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 00:26:21 ] なんで"Hello, 世界\n"なんだろ
38 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 00:32:49 ] 例外がないのもGoogleらしいのかな。コーディングルールで禁止しているぐらいだし。 まだまだPythonとC++を適所に使う方が勝つる。
39 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 00:59:06 ] まさかGoの登場によって再びD言語が脚光を浴びようとは
40 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 01:04:47 ] Googleの新しいプログラミング言語Go == Python(開発が速い)+ C++(実行速度が速い) jp.techcrunch.com/archives/20091110google-go-language/
41 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 01:27:25 ] Plan 9のみで使われて、Plan 9とともに消えていくんじゃなかろうか
42 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 01:41:09 ] JavaやC#には勿論のこと D言語やC++にすら程遠い完成度だな
43 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 01:41:13 ] エロイ人interfaceについて教えて
44 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 01:43:53 ] 何か微妙だな… 普及する言語というのは何かをハックする為の言語だ と言う話があるけど、ゴーは何をハックする為の言語 なんだろう? C には UNIX が、C++ には Windows が、JAVA には ウェブが、Perl には CGI があって、Smalltalk には ダイナブックがあり、Lisp や ML にはプログラミング 言語そのものをハックするという目的があったけど、 ゴーはどうなんだろ。
45 名前:デフォルトの名無しさん [2009/11/12(木) 01:46:06 ] どうせだったらMacとiPhoneをハックするobjective-Cも加えてくれ
46 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 01:46:36 ] anchorage.2ch.net/test/read.cgi/bizplus/1257950853/ 関連
47 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 01:51:56 ] >>44 え?マルチコアの並列アルゴリズムでしょ?
48 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 01:56:46 ] >>27 まったく同じことを自分も感じた
49 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 02:05:54 ] 中括弧はブロックだからいるだろ ifやforは関数じゃないから括弧なんていらねーんだよ元々 この記述が本来正しい
50 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 02:06:40 ] 相変わらずボーガスニュースは軽薄でつまんねえな bogusne.ws/article/132657950.html
51 名前:デフォルトの名無しさん [2009/11/12(木) 02:09:10 ] >>50 Newsサイトとして使えないうえにとくに面白くもない このサイトになんの目的で行ってるんだ?
52 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 02:15:44 ] >>47 調べてないけど GC はまだシングルスレッドなんじゃないの。 並列化が容易な筈のソートのサンプルコードも並列処理を 使ってないっぽい。それに goroutine という名前は co-routine から取ってるんだろうからグリーンスレッドを念頭に置いてると思う。 ホントにマルチコアでスケールするのかな?
53 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 02:19:23 ] swtch.com/~rsc/thread/newsqueak.pdf Newsqueak とは何が違うの? 詳しい人教えてチョ。
54 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 02:21:40 ] >>52 GCはIBMの並列型に入れ替えるって書いてあったよ Goroutines are multiplexed onto multiple OS threads so if one should block, such as while waiting for I/O, others continue to run.
55 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 02:34:14 ] 結局この言語ならではの突出した点はないってことか?
56 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 02:40:48 ] >>54 ホントだ。ネイティブスレッドを起動しているみたいね。 https://go.googlecode.com/hg/src/libcgo/darwin_386.c せっかく新しい言語なんだし、組み込みの並列コンテナとか 自動並列化機構とかがあったりはしないのかな。
57 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 02:45:31 ] だれか独自拡張してObjective-Goとかいう言語作る事に期待w
58 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 02:58:40 ] >>5 >>22 検索すれば先頭にくるだろ。
59 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 03:08:50 ] このキーワードで検索: goo って出るんだが
60 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 03:58:10 ] package main import "os" import "flag" var nFlag = flag.Bool("n", false, `no \n`) func main() { flag.Parse(); s := ""; for i := 0; i < flag.NArg(); i++ { if i > 0 { s += " " } s += flag.Arg(i) } if !*nFlag { s += "\n" } os.Stdout.WriteString(s); } ; があったりなかったりするのは Pascal の影響?
61 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 04:21:45 ] ここまでのまとめ Go ttp://golang.org/ Tutorial ttp://golang.org/doc/go_tutorial.html Effective Go ttp://golang.org/doc/effective_go.html 【プログラム】グーグル、C/C++に代わる新言語「Go」をOSSで公開:超高速なコンパイル、GC、並列プリミティブ [09/11/11] anchorage.2ch.net/test/read.cgi/bizplus/1257950853/ 超高速なコンパイル、GC、並列プリミティブ グーグル、C/C++に代わる新言語「Go」をOSSで公開 ttp://www.atmarkit.co.jp/news/200911/11/go.html Googleの新しいプログラミング言語Go == Python(開発が速い) + C++(実行速度が速い) ttp://jp.techcrunch.com/archives/20091110google-go-language/ Google、新言語「Go」発表─2倍のスパゲティ生産効率実現 ttp://bogusne.ws/article/132657950.html
62 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 05:05:33 ] >>44 基本的にミドルウェア向け言語だと思われ。 ドライバを触れる程度に生っぽいが、ドライバを書けるほど生ではない。 当初目的どおりサーバとかクラウド基盤技術用になるんじゃないか? あと他言語との組み合わせは比較的容易だと思う。 特にD言語は非常に似通っているので、DとGoがお互いに呼び出しあうのは難しくはないと思う。
63 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 05:41:11 ] Do programming language
64 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 05:59:05 ] まぁ、OSに依存せずに並列処理を書けるのはいいな
65 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 06:03:00 ] 最近の言語で並列・分散を意識してるのなら大体書けるだろ。 環境差をライブラリが吸収するか言語が吸収するかの違いだけ
66 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 06:04:46 ] >>60 C的にするなら、そこに一定の理由はあるにせよ、いちいち文法の細目を変えるなよという感じだな。 エスペラント語みたいなもので。 流行って慣れてしまった(自然)大流通言語があるのなら、多少簡単だろうが論理的だろうが、大幅の利得があるのでなければ 新造の(人工)言語に乗り換える理由はない。それが大勢となるに三千点。
67 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 06:16:15 ] >>65 あほですね。
68 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 08:20:40 ] で、理由は?(ニヤニヤ)
69 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 08:53:26 ] Cには似てない Pascal+Javascriptに見える
70 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 08:56:04 ] Pascalの文法の美しさにはにてもにつかないな
71 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 08:57:09 ] C に似せようとしたとも思えないね
72 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 09:05:16 ] C++ map<string, int[]>* X; Go: var X *map[string][]int; D: int[][string]* X;
73 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 09:09:28 ] 覚えたいと思ったがそれほど使いやすくもなさそうだよなぁ 変数の宣言なんてCと同じで良いのに
74 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 09:10:23 ] こう書きたかった C++: map<string, int*> X[]; Go: var X []map[string]*int; D: int*[string][] X; int*[string] Y[]; int* Z[][string];
75 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 09:18:34 ] >>74 そうみるとなんか合理的な気がしないでもないな…
76 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 09:25:19 ] 区切り記号なしで識別子を並べていくってのは明らかにCの悪いところを継承してるよね
77 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 09:29:14 ] 最近のgoogle&社員の新しい試みはgoogleが名前貸しただけに見えて、 会社として推す気が見えない(実際そうだろってツッコミは無しで) 非20%プロジェクトについてはgoogleのβ版主義のせいもあるけどついていきにくいね emacs用の設定くらいは公開されてるのかな?
78 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 09:35:26 ] Dも微妙だけどDより洗練されてるとも言い難いな
79 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 09:44:22 ] >>77 go-modeならgoのソースの中に入ってるよ
80 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 09:56:37 ] マスコットふざけんな およねこぶーにゃんだろコレ
81 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 10:07:09 ] C++ www2.research.att.com/~bs/Bjarne.jpg Go golang.org/doc/logo-153x55.png D www.digitalmars.com/d/d3.png
82 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 10:09:42 ] 言うと思ったが既に出てた>>8
83 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 10:13:48 ] go.jp
84 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 10:19:42 ] >>82 言語の良し悪しよりも知名度とか会社の後押しで決まってしまう部分はあるね JavaもSunが付いてなかったら成功しなかったと思う
85 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 10:21:33 ] Goは見れば見るほどダサさが目に付く Dは負けてないよ これからも頑張って欲しい しかしGoってネーミングセンスひどいな
86 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 10:22:15 ] >>85 それはなんちゃらポータブルの新型のことですね
87 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 10:24:04 ] OOP的にはデバドラとかシステムの基幹部分を書くような下位層向けなんだよな その割には生ポインタを隠蔽してデバドラ書くには向いていないし 目玉機能のはずの並列処理も特にフレームワークが組み込まれているとかでも無いんだよね せめて並列処理をC#のLINQやラムダ式みたいに大胆な手法で言語仕様として吸収されていれば評価出来たんだけど
88 名前:デフォルトの名無しさん [2009/11/12(木) 10:26:12 ] ホント名前がひどいJavaとかScalaみたいな名前にすればいいのに Programing goで検索してもGo以外のものが出ちゃうし
89 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 10:41:35 ] ・Operands of string type are compared byte-wise (lexically). ・os.Stdout.WriteString(s); ・var s string = ""; Pascalっぽい?
90 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 10:43:29 ] >>84 本当にそうだよな あと言語専用のライブラリがどれだけ充実しているかも重要だと思うね D言語は言語仕様は洗練されているけど D専用のライブラリが不十分で結局Cのライブラリを流用しなきゃいけないってところなんだよね .NETやJavaクラスライブラリみたいな統制された強力なライブラリはバックに巨大な団体がつかないと供給されないんだよね
91 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 10:46:53 ] ・os.Stdout.WriteString(s); これ Java っぽくて嫌だな
92 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 10:48:18 ] この命名はひどすぎるだろ。センス以前の問題 どうしてググれば簡単に出てくる既存の言語と同じ名前つけるんだ
93 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 10:50:54 ] >>88 もしかして:Programming
94 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 10:53:25 ] コンピュータプログラミングのことなら最近はprogramingの綴りもあり
95 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 10:56:23 ] 命名は別にいいだろ これで問題があるならCやDやJはどうなる?
96 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 11:02:46 ] ttp://itpro.nikkeibp.co.jp/article/Watcher/20091106/340160/ OSは変わった
97 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 11:09:19 ] オフィシャルのサンプルが "Hello, 世界\n" なのか 国際化対応済みのアピールかね
98 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 11:09:38 ] まあC#1.0も出たときはウンコだってボコボコに叩かれたのに 3.5になってJavaに並ぶ洗練された言語仕様だって絶賛されているからな 5年後にどうなっているかは分からん
99 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 11:18:16 ] kenはB設計したときから進歩してるんかいな
100 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 11:24:22 ] 普及してから勉強すればいいよね? せっかく勉強したのに、普及しなくて無駄に終わる可能性高いし。 早くからやるメリットってなんかあるのかな?
101 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 11:25:28 ] >>100 設計に口出しできる