- 1 名前:デフォルトの名無しさん mailto:sage [2009/11/14(土) 16:23:56 ]
- The Go Programming Language
ttp://golang.org/
- 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?
- 422 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 12:54:27 ]
- >>420
Haskellでは場合によってリストを配列に置き換える場合もあるみたいだね。 最適化次第で制御できないが。
- 423 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 12:54:37 ]
- C++でもHaskellでもなく
Goを選択することが最適な研究分野を1つでも挙げてみて下さい まああなたたちレベルの理解度では無理でしょうけどね
- 424 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 12:56:09 ]
- >>419
馬鹿を晒し出してしまったな
- 425 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 12:57:09 ]
- >>423
だからARMなんだってばww
- 426 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 12:58:21 ]
- >>421
それだけだとC言語でもできるが、スコープを継承できなければ高階関数とは呼べない。
- 427 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 12:59:46 ]
- >>425
何故ARMにGoを選択することが最適だと考えていますか?
- 428 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 13:02:13 ]
- goの最大の特徴はgo文。
大量の鯖アクセスを並列でerlangより高速に捌くのが目的でしょ。
- 429 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 13:04:21 ]
- >>422
配列にするならヒープじゃなくてスタックでよく、結局C/C++系列の言語と何ら変わらない。 ヒープならjavascriptと同じなわけでこれまた構造化言語とおなじ。 つまり、旧来の関数型言語っていう枠組みが、もう構造化言語の一機能(言語機能)でしかないのよ。 ほとんどの関数型言語の機能はクロージャで代用できてしまう。 カリー化はコンパイラの話になるから少し違うけど、ここで吠えてるlisperは何でそんなに上から目線でいられるカワズ君なのかなって感じ。
- 430 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 13:04:45 ]
- >>428
他の言語でも同じことが出来ますが あえてGoを選択する理由は何ですか?
- 431 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 13:07:53 ]
- また今日も私が勝ってしまいました
2ちゃんねる程度では私と対等に議論出来る論客が存在しないことが残念でなりません
- 432 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 13:09:27 ]
- >>430
軽量プロセスを言語仕様レベルで実践している言語はgoのほかにerlangがあるが、 erlangとの決定的な違いはgoはネイティブで動くから速いということ。
- 433 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 13:12:06 ]
- >>432
あなたが考える並列処理を軽量プロセスで行うメリットとは何ですか?
- 434 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 13:12:45 ]
- >>433
>>428
- 435 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 13:13:57 ]
- これでは話しになりませんね
- 436 名前:デフォルトの名無しさん [2009/11/18(水) 13:14:03 ]
- JITも考えるとそうとも言えない。
ネイティブだと静的でしょ。 不変であり変化が多いそういう用途なら、いくらネイティブであれこれ頑張っても動的最適化には勝てないよ。
- 437 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 13:14:16 ]
- 地震だ
京大時計塔倒れた
- 438 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 13:15:45 ]
- >>436
erlangとCを比較してみな。 erlangはクソ遅いから。
- 439 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 13:16:08 ]
- lisperはみんな上から目線だよ
- 440 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 13:17:38 ]
- >>430
Elangとかよりは大抵の人には書きやすくて goするだけで並列に出来るからじゃない? 大抵の言語で出来るけど楽に書けるならそれにこしたことはない
- 441 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 13:19:13 ]
- そもそもこの流れで軽量プロセス軽量プロセスって唱えてる人は
軽量プロセスが何者なのか根本的なところが理解出来ていないと思う
- 442 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 13:20:31 ]
- じゃあ試しに軽量プロセスとスレッドの違いを説明してみろよ
これがまともに出来る技術者なんてほんの一握り
- 443 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 13:22:22 ]
- >>441
お前はVMでしか軽量プロセスが実践できないと思い込んでいるんだろw
- 444 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 13:22:37 ]
- >>429
横槍で申し訳ない スタック or ヒープ → 構造化 の辺りがよく分からないのだけど
- 445 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 13:23:09 ]
- とりあえず、goでリングノードベンチマークでもしてもらおうか
- 446 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 13:24:28 ]
- >>429
Haskellでは、というより、GHCでは、と書かなかったのが誤解を生んでしまったようだ
- 447 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 13:27:20 ]
- みんな新しい言葉が好きなんだよ
既存の物も新しい言葉に置き換えれば違う物に見えてくる そんな誤った世の潮流の特異点に存在するのがGoという言語 これが真相
- 448 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 13:28:21 ]
- IOってよりもプロセスやスレッド(OS)よりのネイティブ・システムに適した言語ってところのようだね。
限りなくソフトに近いから本来はbytecodeでかいてモジュール化しておけるんだけど、速度とかの効率を考えちゃうとハードにべったりだから結局ネイティブ・コードで書いちゃうってところに向いてるようだ。 javaならpublic void nativeのところ、rubyならそのシステムように実装し直した所とか、スレッドとかJITなんかの実装ようの言語なんだろうね。 ハード(ネイティブ)用言語ではあるが、Cとはやっぱり違うところがターゲットか。 gcがついたc99と考えられから汎用大衆向けでもあるが、これから言語仕様で言語依存(D,C++,C#)なのかライブラリ依存(Java,javascript)なのかによって形成されるコミュニティーがかわるだろう。 ただ、動的最適化には勝てないから所詮はjvm,cliよりさらにしたの下請け言語なのかなって思う(objcがあるよねって言う思いはあるが…)。
- 449 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 13:28:59 ]
- 虚像企業Googleが生み出した幻想
- 450 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 13:30:03 ]
- 軽量プロセスっていうかcoroutineってLisperが大好きなSICPでも載ってなかったっけ。
SICPがいま手元にないから確認できないけど。
- 451 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 13:33:01 ]
- 質問です
N個のノードを作り、1番目のノードに送られたメッセージは2番目のノードに、 2番目のノードに送られたメッセージは3番目のノードに、・・・、 N番目のノードに送られたメッセージは1番目のノードに送られるようにリングを形成し、 そのリング上を一つのメッセージがM回まわるのにかかる時間を計測してください。
- 452 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 13:33:09 ]
- Lisper呼ぶな
- 453 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 13:33:35 ]
- >>444
jsを引き合いに出したんだから、スロットといった方が通じたか。 これで理解出来ないなら根本的なところから分かってないってこと。
- 454 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 13:34:29 ]
- 馬鹿が唐突に質問してるぞ
誰か答えてやれ
- 455 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 13:34:43 ]
- >>444
そりゃ関数型言語も構造化言語だけど何か? ちなみにオブジェクト指向言語も構造化言語だけど何か?
- 456 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 13:36:48 ]
- 関数型だのオブジェクトだの、そんな言葉の違いに意味は無いと知るのに10年かかった。
- 457 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 13:43:27 ]
- >>454
いいからお前も手を動かせw
- 458 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 13:44:11 ]
- cygwinでインストールして失敗した奴多すぎワロタ
- 459 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 13:45:44 ]
- >>451
で、これをネットワーク上でやるんだよな P2Pじゃないけど、昔流行ったWebRingみたいにGoのプログラムでリングつくって パケットをただ回すだけってのはやってみたいな。
- 460 名前:451 mailto:sage [2009/11/18(水) 13:49:12 ]
- >>459
ネットワークでも良いですが、今回は並行処理だけで実現してみてください。 元々はリングノードベンチマークっていうerlangの優位性を誇示するためのベンチマークなんです。
- 461 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 13:51:17 ]
- >>460
自分の手を動かせボケ
- 462 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 13:52:50 ]
- >>460
誌ねカス
- 463 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 13:54:34 ]
- >>460
Erlang使いなら自分でやったほうがたぶん早いぞ このスレでコードが載るのは稀だ あとなぜErlang版のコードを示さない
- 464 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 13:55:38 ]
- >>458
そんなに顔真っ赤にして自己紹介しなくいいからw
- 465 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 14:03:55 ]
- >>453
ごめんそれで更に分からなくなった JSのスロットってオブジェクトを表現するための方法じゃない? >>455 いやそれは分かってる ただそれがスタック/ヒープとどう関係あるのかが分からないだけ
- 466 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 14:04:32 ]
- どいつもこいつも口先だけだな
並列処理が簡単に書けるとか抽象的な表現で優位性を印象付けているだけ 実は何も証明出来ていない
- 467 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 14:08:31 ]
- >>466
証明って?
- 468 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 14:09:44 ]
- 馬鹿を相手にするな
- 469 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 14:10:16 ]
- >>466
それがグーグルの本性ですよ。 実際にグーグルがやってることはただの著作権侵害のその抽象化ですし。
- 470 名前:デフォルトの名無しさん [2009/11/18(水) 14:20:01 ]
- >>439
- 471 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 14:24:54 ]
- ErlangやっているLisperって
心当たりがあるのだが
- 472 名前:デフォルトの名無しさん [2009/11/18(水) 14:31:22 ]
- >>407
- 473 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 14:39:04 ]
- >>465
バカ乙
- 474 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 14:39:58 ]
- >>471
たくさんいそうなんだが・・・
- 475 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 14:43:40 ]
- たくさんいるけどどいつこいつも上から目線なんだよな
- 476 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 14:50:07 ]
- >>405
x = ±(√6)/3 y = ±(√6)/6
- 477 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 14:53:59 ]
- >>451
宿題は宿題スレへ pc12.2ch.net/test/read.cgi/tech/1257968644/
- 478 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 14:54:10 ]
- いまどきの関数型言語やっている連中はLispなんて相手にしてないよ
- 479 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 14:57:45 ]
- なら、GOといまどきの関数型言語とはどの辺が関係あるんですか?
- 480 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 15:01:57 ]
- ねーよ
- 481 名前:デフォルトの名無しさん [2009/11/18(水) 15:04:53 ]
- >>476
欲しいのは答えじゃなくて解法ですよ 問題文をよく読まないとダメじゃないですか! この板的には「アルゴ」なんっていったりしますが
- 482 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 15:05:53 ]
- 学校にでもいけよ
- 483 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 15:11:59 ]
- >>405
(x+y)^2 = 3/2 ... (1) x^2 + 2y^2 = 1 ... (2) (1) を展開 2x^2 + 4xy + 2y^2 = 3 ... (1') (1') - (2) x^2 + 4xy = 2 ... (3) (3) を y について解くと y = (2 - x^2)/4x ... (3') (3') を (1) に代入 (x + (2-x^2)/4x)^2 = 3/2 ... (4) (4) を x について解くと 9x^4 - 12x^2 + 4 = 0 (3x^2 - 2)^2 = 0 x = ±(√6)/3 ... (4') (4') を (3') に代入すると y = ±(√6)/6
- 484 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 15:14:09 ]
- >>483
ありがとうございました
- 485 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 15:15:12 ]
- >>483
ありがとうございました! やっぱGO!ってすごいですね
- 486 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 15:47:32 ]
- >>483
Goさん、やっぱあんたすげえわ
- 487 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 17:38:49 ]
- >>483-486
2元2次連立なんて基本だろ 行列以前の問題だな 中学からやり直せ
- 488 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 17:49:17 ]
- いや、その、ちょっとGoさんの擬人化してくれる人がいたらいいな、と思って
キャラつくってしまいました・・・
- 489 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 19:13:59 ]
- ところで君たちは何で真っ昼間から2ちゃんで盛り上がれるんだ?
学校はもう冬休みに入ったのか? それだけ時間があるなら関数型言語に付いてもう少し見識を深める事もできるだろうに。
- 490 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 19:21:20 ]
- それを余計なお世話と言う。時間が無くても覚えておいた方が良いよ
- 491 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 19:22:48 ]
- go言語がWebアプリがWEBアプリを高速化できるという理由を説明せよ.
いや,してください!
- 492 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 19:30:17 ]
- 塩化ナトリウムのことか
- 493 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 19:32:35 ]
- >>491
これを読むときっと面白いよ。 groups.google.com/group/unladen-swallow/browse_thread/thread/4edbc406f544643e それと、ウェブアプリと言っても色々あるから一概に速くなるとは言えないよ。
- 494 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 20:14:39 ]
- 言語名がかぶってる問題はいつ決着が付くの
issue9てのも謎っぽくて悪くないと思うが
- 495 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 22:05:49 ]
- おい、コンパイルに時間かかるぞ バイナリ用意しろ
- 496 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 22:14:28 ]
- バイナリ()
|

|