1 名前:デフォルトの名無しさん mailto:sage [2009/11/14(土) 16:23:56 ] The Go Programming Language ttp://golang.org/
321 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 00:14:10 ] >>282 displaypostscript
322 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 00:14:17 ] >>320 >これでようやっとmany coreマシンの時代? VSのマルチコアサポートの方が40倍くらい現実的だろ
323 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 00:15:41 ] お前がわかる=現実的
324 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 00:16:31 ] >>318 ネストが少なくなるかな classで囲まなくていいし、obj.fooと書かずにfooと書ける
325 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 00:16:40 ] VSの全部入りすげえ高そうじゃんw
326 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 00:21:36 ] 並列化は興味あるんだけどこれGCなしもあり? ゲームだとGCは扱いにくくて
327 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 00:26:23 ] GCは外せない。いついかなる時もチャネルが使えるから。 ミドル寄りのシステムプログラミング言語だね
328 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 00:27:11 ] いまどきのゲーム作成は、GCと仲良く付き合っていきながら作るものだと思うよ。 ファミコンのスーパーマリオレベルなら、マップとか全リソース込みで3-10MB程度newしてプールしてれば済む話だし。 ましてGCの起動がゲームに影響があるようなら、設計から見直し他方がいいだろうけどスレ違い。
329 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 00:27:49 ] GCあるお >>320 公式の文書でちょくちょくCSPって出てくる そういうのから触ってきた人はGoも楽しいだろうなー
330 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 00:31:27 ] unreal scriptとかもGCありでしょ つうかあっちも試しておきたいんだけど 今月はすげえな 若かったら鼻血出てたよ
331 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 00:34:13 ] 郷のCSPって全然速くないじゃん 眉唾もいいところじゃん 老害爺共が集まって懐古技術で 遊んでるだけだろ
332 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 00:34:22 ] >>328 GCのタイミングの制御はともかく有限メモリのシステムでGC使うほうが面倒。
333 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 00:37:22 ] Streamsも遅かったしな。 でも今回はベル研じゃなくてグーグルだ。 V8エンジンを書いたスピードマニアも参加してるから期待しよう
334 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 00:41:56 ] v8とかchromeとか市場シェアどのくらいか知ってるの?w
335 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 00:42:37 ] その頑張り方がちょっと良くわからない
336 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 00:43:47 ] 10万行w
337 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 00:45:27 ] いまどき、OOPだのGCだの関数型だの、とりあえず全部扱えて当然だろう。 状況に応じて最適な言語を使えばいいだけの話で、 一つの言語に執着して他の選択肢を排撃する姿勢ほどばかばかしいものはないと、 最近特に思うようになった。 というわけで、まともに関数型で組んだ経験もない拙者は切腹してくるでござる。
338 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 00:46:40 ] 使いやすくて市場シェアを占めてくれるなら使いたい
339 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 00:46:53 ] 青春のすべてをjava&eclipseに賭けたんだ 自発的にFUDもするさ まだまだ大丈夫だと思うけどなあ 本人にとっては違うんだろうな
340 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 00:49:48 ] >>322 一度もCSPの論文よんでないと言うのは凄くもったいないぞ
341 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 00:51:04 ] >>337 とりあえずemacs + common lispはなしな。 それもIDEすら使えないイマクシスト(emacsist)なんかだと、周りから白い目で見られるよ。かなり。
342 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 00:51:07 ] InfoQ: Googleの実験、新しい言語Go www.infoq.com/jp/news/2009/11/Go-Google-New-Language この言語の作者によれば、Goの目標のいくつかは以下の通りである。 * 静的言語の効率性と動的言語の記述しやすさを組み合わせること。事実、開発者は静的にするか動的にするかを選択することが可能である。 * 安全性。Goは型安全であり、暗黙のキャストを許容せず、明示的なキャストのみを許容する。 また、ポインタ演算を提供せず、ガベージコレクションを提供するため、メモリ安全である。 * 並行性と通信に対する優れたサポートの提供。 * 効率的で遅延のないガベージコレクションを持つこと。 * 高速なコンパイル。 次のような興味深い特徴を持っている。 * ポインタを持っているが、ポインタ演算はない。 * インターフェースを持つ。 * 同期チャネルを持つ。このチャネルはスレッド間の通信に使われ、並行処理の基礎となっている。 Goはそれをやりとりすることでメモリの共有を促進するが、共有メモリを通じて通信はしない。ある時点ではただ1つのスレッドだけが共有値に対するアクセスを持つことができ、チャネルを通じてスレッド間でのその値の受け渡しが行われる。 * ゴールーチン(Goroutines)。これは並行処理のために利用されるもう1つの構造である。 ゴールーチンは単に“go”キーワードを接頭辞として持つ関数あるいはメソッドである。ゴールーチンはスレッドと結びついていて、チャネルを通じて別のゴールーチンと通信する。 * 並列化。ゴールーチンとチャネルは計算を複数のCPU上で動かすために利用することができる。 * リフレクション。全ての型とチャネルに対してリフレクションが使える。 * エンベッディング(Embedding)。シンプルな継承の仕組みである。
343 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 00:54:11 ] >>339 Java&Eclipseがメインだが、普通にGoには期待してるぞ。 やりたいことを最適にサポートしてくれるなら、道具はなんでもいい。
344 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 00:56:06 ] >>341 slimeはいいもんだろw あれについてはjava、eclipseが見習って欲しいくらいだw
345 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 01:02:09 ] >>342 >gccgoはガベージコレクタを持っていない。 あ、そうなんだ >>326 はむしろ喜びそうだな
346 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 01:02:57 ] どちらかといえば、javaをやってる方が長かったからnetbeansの方が好み
347 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 01:04:28 ] >>345 選択できるべきだと思うんだよね
348 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 01:08:07 ] >>347 じゃ、縁がなかったということで
349 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 01:08:14 ] Lispは知らない奴ほど騙りたがる不思議な言語だな。 見ていて恥ずかしいから話題に上げるのを止めて欲しいわ。
350 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 01:08:53 ] >>348 え?
351 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 01:12:08 ] >>347 Goにこだわる事もないだろう。 Kenが書いたPlan9版のCなんかどうよ 無名構造体が使える
352 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 01:14:49 ] マイナー言語を使うメリットってなによ
353 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 01:15:15 ] 意味の分からない優越感
354 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 01:16:50 ] 趣味だよ
355 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 01:18:29 ] >>352 マイナーだからではない。 未開拓だからだ。
356 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 01:19:50 ] >>345 GCはIBMのこの技術を基に開発中だって ttp://www.research.ibm.com/people/d/dfb/papers.html
357 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 01:20:39 ] >>352 『言語の能力=プログラムの表現力の限界』だから、マイナーだろうとなんだろうと 色々使えた方が良い。
358 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 01:21:53 ] 一人で勝手にやるなら別にいいだろうけど…
359 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 01:23:22 ] もう何年も 達人プログラマーに書いてあった事を実践してるから 目に付いた言語は試してみるようにしてる
360 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 01:23:32 ] これ、LLVM版はやらないのかな?
361 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 01:24:03 ] >>352 VBなんか使えないのに雰囲気でわかるよねって仕事を根絶するために 最強の言語を流行させるための草の根活動の一環
362 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 01:28:42 ] ぶっちゃけ、最近の流行はJVMか.NETのバイトコードを吐ければ言語は何でもおk、なんじゃないの。 そこに加えて、C/C++の担ってきた仕事をGoが良い形でリプレースしてくれるならそれは普通に歓迎。
363 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 01:33:10 ] GoにC++の置き換えは無理 pythonの置き換えくらいが精一杯
364 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 01:37:25 ] >>360 公式はLLVMとかWindowsサポートする気ないようだから やるならオープンソースだし誰か勝手にやってってことだろう 上でゲームの話が出てるけどサーバ向けのようだから少し茨の道かも?
365 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 01:39:51 ] >>363 C++ の置き換えは無理だけど、C++ の領域を狭める事は出来る。 C が出来ても ASM は無くならなかったけど、確実に適用範囲が 狭まったのと同じ。
366 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 01:51:10 ] GC 付き言語でゲームなんか余程リアルタイム性が求められていないか ストップ・ザ・ワールドを楽しめる余裕のあるゲームなんだろうな
367 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 02:22:09 ] >>342 >* リフレクション。全ての型とチャネルに対してリフレクションが使える。 aClass methodDict とか Smalltalk allBehaviorsDo: [...] みたいなのと同じ事が出来るなら良かったんだけどな。 静的型付け言語には望むべくも無い事だが。
368 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 02:23:25 ] 何か上でメリットを並べているみたいだけど 他の言語でも出来ることだしむしろ他で出来てGoで出来ないことが多すぎ
369 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 02:25:22 ] Go++とかが出るんだろ
370 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 02:27:59 ] 確かに出来て当たり前のことを誇らしげに掲げている節があるよなGoって
371 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 02:37:11 ] どんな言語でもできることは一緒 問題はやりやすいかどうかだ
372 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 02:41:25 ] どう読んでもチューリング等価という話ではないと思われ
373 名前:デフォルトの名無しさん [2009/11/18(水) 02:51:24 ] ラムダ算法があればイスラム数字がなくてもWindowsをかける。 でもゲシュタルト心理学的には文字の見やすさも重要。
374 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 02:59:32 ] >>370 たとえば「オブジェクト指向対応」 という項目があったとして、 オブジェクト指向のための機能は最近の言語では持っているものも多いから 別段珍しいことではないけど、どうやって実現しているかというのはこの一文では分からない。 いかに使いやすく、抽象化しやすく作られているかが重要だと思うよ。 「できる」だけじゃないんだよ。
375 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 03:01:11 ] Goってそんなに作り易いの?
376 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 03:02:12 ] 何気にここ数年は C++ が人気だったりする。LLVM とか V8 とかも実装言語は C++ だし、 OpenOffice.org とか FireFox とか大きめのGUI アプリの多くは C++ で書かれている。 それらを Go で置き換えるのは、まぁ難しい。ウェブ系は Java と LL が染め上げているし、 Mac OS X や iPhone は Objective-C 一択。これらも Go が入り込む余地は少ない。 C++ を使うには大袈裟すぎるプログラムとか、C だと面倒くさいプログラムには Go は 良いだろうね。エディタとかメールクライアントを作るには丁度良さそう。
377 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 03:05:05 ] たぶんgoogleはGo限定でプログラミングコンテスト開催するぞ…しかもすごい賞金。お前らGoやっとけよ
378 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 03:23:58 ] >>331 gcc版じゃないほうでコンパイルして、GOMAXPROCS=1にしても遅い? 理由は以下。 ・Segmented Stackがgoroutineのスイッチ速度に効きそう ・コア2つ以上にするとコア間の通信のために遅くなる可能性がある (基本的な演算能力は上がるけども) ちなみにまだgo触ってない。
379 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 03:30:21 ] >>374 Objective-C, Smalltalk, Java みたいな壮大なクラスライブラリがある訳じゃないもんな。
380 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 03:37:16 ] googleの名前がなかったら見向きもされないレベル
381 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 08:42:24 ] 取り敢えず今日は Lisp について頓珍漢な事を書くのは控えてくれな。 イチイチ突っ込みは入れんけど、こんな所で知ったかぶりする必要は無いんだから。
382 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 08:43:11 ] これいけるのかw package main type 文字列型 string; func メッセージ表示(メッセージ 文字列型) { println(メッセージ); } func main() { メッセージ表示("This is 日本語"); }
383 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 08:57:50 ] >>382 今時できない処理系の方が少ないだろ。
384 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 08:57:55 ] 2ちゃんで知ったかぶりなくしたらレス数10分の1くらいだろ
385 名前:デフォルトの名無しさん mailto:これでいいですか? sage [2009/11/18(水) 11:14:47 ] >>382 すげーーーーーーーーー!!!
386 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 11:28:46 ] >>382 なでなでしこしことかもういらないんじゃねw
387 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 11:29:52 ] >>381 そんなに上から目線したいなら、せめてLispとgoがどう関係してる説明してくれないか?
388 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 11:35:46 ] どうせlispしか知らない昭和のおっさんなんだろ スルー推奨
389 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 11:36:54 ] あはれ
390 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 11:44:13 ] 関数型言語のかの字も知らない奴らがLispを語っているように見える
391 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 11:50:59 ] とりあえず博士号持ってるやつ以外は書き込むなw 紛らわしいわw
392 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 11:53:53 ] >>391 修士ですがだめで宇sか
393 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 11:55:48 ] >>390 で、その関数型言語とやらがGoとなにか関係してるんですか? たぶんすれ違いなのはあなたの方だと思いますよ。
394 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 11:56:52 ] 博士Go こういうことですか?わかりません><
395 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 12:04:58 ] >>379 言語仕様の巧みさとライブラリの大きさは関係ないよ。 ライブラリはやる気がある指導者がいれば勝手に大きくなる。
396 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 12:05:34 ] クロージャで少し関係ありそうだけど、クロージャはjava,c#とかjavascriptで普通に使われてるからな関数型言語の売りって感じじゃない。 カリー化とかハスケルっぽいなるならgoも少しは現代的な関数型言語と関係あるかもしれない。 前スレでD,C++と比べてるゆとりがいたけど、今回沸いてきたのはそれと同レベルのなんちゃってだろ。上から目線の昭和おっさんであることに間違いはないが。
397 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 12:07:09 ] クロージャなんて次のC++でも入るからどうでもいい
398 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 12:07:52 ] >>393 最近の理論的研究はほとんど関数型言語絡みなんだよ。 だから関数型言語に興味がある=プログラミング言語に詳しい、着眼点が良い人ということになる。
399 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 12:13:20 ] この世で最先端の言語はHaskellだもんなw 何しろHaskellは元々最先端技術を集めて作るのを目標にしていて、 人が集まってくると言語仕様が荒らされるからわざと目立たないように 使いやすさよりも研究用言語としての立ち位置を取ってきた言語なんだから。
400 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 12:17:15 ] プログラミングとは、理想美を追求することではなく、泥臭い作業を自動化することですよ。 そのための理論であり学問でしかありません。 goはmitやbellでなく一企業内の研究員が開発し、さらに学問のために開発したわけでもありません。 変な期待を抱かない方がいいと思いますし、これからは議論についていくためにもOOPとかちゃんと勉強しといた方が未のためですよ。
401 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 12:18:51 ] なんかよくわからん荒れ方してるな
402 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 12:19:08 ] >>400 プログラミング言語について詳しいと自称する奴がオブジェクト指向を知らないわけがないだろw
403 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 12:19:51 ] goは最近流行りの並列・平行処理をやりやすくした言語というだけだよ。
404 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 12:22:31 ] OOPってつくづく勉強するほど深いものじゃないよなぁと思う
405 名前:デフォルトの名無しさん [2009/11/18(水) 12:24:52 ] >>398 (x+y)^2 = 3/2 x^2 + 2 y^2 = 1 この連立が解けません。解法おながいします。
406 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 12:26:03 ] 関数型言語ってどの程度押さえておけばいいのん? なんか抽象度が高いから云々とか聞いたことあるが それって読みにくい言語ってことじゃないのか? LLのラムダ式とかよく使うけどしばらくたって読み直すと訳わからなくなるぞ
407 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 12:29:33 ] >>402 なら、GoとLispはどのあたりが関係あるんですか?
408 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 12:33:13 ] >>406 言語を利用する上では大して難しくないが、 ・高階関数 ・forループじゃなくて再帰ループ ・再代入禁止 ・リストを活用しよう(リストは関数型言語だけの特徴じゃないけど、関数型言語ではたいてい使いやすくなっている)
409 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 12:36:11 ] >>408 どう考えてもgc必須な資源食いまくり言語ですなw
410 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 12:39:01 ] >>406 関数型って言っても高階関数が扱える程度で関数型と名乗ってるのから本当の純粋関数型までいろいろあるぞ。 たとえばschemeなんかは純Lispの子孫だから関数型って言われるけど実際のところ本質は命令型と何ら変わらない。 Concurrent CleanやHuskell(とかその子孫のとかCurry)がどのようにして副作用をどのようにして隠蔽しているかを 知っておくのは無益なことではないだろう。 ラムダ式や高階関数なんての関数型から輸入してきた要素だけど、 最近の手続き型言語は大体持ってるから使えないのはまずいだろう 後で読めなくなるってのは書き方が汚いだけで別の問題
411 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 12:42:03 ] また馬鹿なLisperが暴れているのか
412 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 12:45:45 ] そのうちセクハラ(痴漢)で逮捕されるから放っとけw
413 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 12:46:54 ] 関数型言語もまともに扱えない低知能が何を言っているんだ
414 名前:デフォルトの名無しさん [2009/11/18(水) 12:47:43 ] >>410 そこまで「lisp命」になっちゃうのは何でですか?
415 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 12:47:49 ] >>409 関数型言語の関数呼び出しって内部的にはgotoと同じだから、 C言語の関数呼び出しとは根本的に違うんだよ。 だから再帰でもforと同等。 リストは言語仕様に組み込んでしまえば最適化しやすい。 高階関数はクロージャがあればどの言語でもできる。
416 名前:デフォルトの名無しさん [2009/11/18(水) 12:48:55 ] 低知能に使えない言語ってのは要らない気がするがw
417 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 12:49:04 ] OOとOOPを混在して書くからややこしい 考え方が違うのだからOOPもどのOOPか明示して書いてくれ >>396 Javaってクロージャなくない?
418 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 12:50:13 ] >>413 lispperの戯言はもうお腹いっぱい goのネタはないの?w
419 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 12:52:10 ] >>417 Javaにはネイティブクロージャがないから匿名オブジェクトで模倣する。C#と同じ。
420 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 12:52:38 ] >>415 でも肝心のLISTがヒープでしょ。 それじゃsentenceがgotoでも結局gc必須だよね…
421 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 12:53:01 ] 高階関数って引数に関数が取れるって理解でOK?