- 1 名前:デフォルトの名無しさん mailto:sage [2009/11/14(土) 16:23:56 ]
- The Go Programming Language
ttp://golang.org/
- 55 名前:デフォルトの名無しさん mailto:sage [2009/11/14(土) 20:41:04 ]
- GCなしのnew deleteなことはできる?
- 56 名前:デフォルトの名無しさん mailto:sage [2009/11/14(土) 20:47:22 ]
- もう新言語なんてまともなIDEついてなきゃ試す気にもなれない。
PowerShellですら高機能なエディタついてんのに。
- 57 名前:デフォルトの名無しさん mailto:sage [2009/11/14(土) 20:48:02 ]
- 俺は!
イデよりも! りぷるが欲しい!
- 58 名前:デフォルトの名無しさん mailto:sage [2009/11/14(土) 20:50:45 ]
- そろそろFizzBuzzは解けたかね
- 59 名前:デフォルトの名無しさん [2009/11/14(土) 20:51:51 ]
- 馬鹿避けだろ
emacsのモードは付いてるんだから問題ない windows無視も同じ戦略
- 60 名前:デフォルトの名無しさん mailto:sage [2009/11/14(土) 20:52:01 ]
- >>48
MonaOS
- 61 名前:デフォルトの名無しさん [2009/11/14(土) 20:54:53 ]
- 悪いけどemacsとかviとか死ねよって感じ。
現代的なIDE使ったことあるなら当然そう感じるだろうね。 emacsで10万行とかどこが生産的なんだかw あり得んだろ。
- 62 名前:デフォルトの名無しさん mailto:sage [2009/11/14(土) 20:56:30 ]
- VIMはちょっとした作業するときに役に立つけど
Emacsはないな
- 63 名前:デフォルトの名無しさん mailto:sage [2009/11/14(土) 20:57:03 ]
- ま、ema糞対応が一番コストが低いからな。
やる気のない言語はそれだけに対応して終わる。
- 64 名前:デフォルトの名無しさん [2009/11/14(土) 21:00:40 ]
- 馬鹿避けなんだってばw
ide欲しいよおおおなんてのは要らないだろ 初期は特にね
- 65 名前:デフォルトの名無しさん mailto:sage [2009/11/14(土) 21:00:49 ]
- >>60
現代のMINIXって感じか… 大昔と違って今じゃ書籍や技法(さらにGCとか手厚い言語サポート)が確立してるからそんなに凄いってほどじゃない。 ちゃんと動くものを作ったというヤマト根性は認めるが。
- 66 名前:デフォルトの名無しさん mailto:sage [2009/11/14(土) 21:02:38 ]
- >>60
Linuxと違って時代の要請があったわけでもUnix互換でもないし 完全に新しいOSだから開発者も集まらないし 厳しいわな
- 67 名前:デフォルトの名無しさん mailto:sage [2009/11/14(土) 21:03:51 ]
- >>65
だまされるなC++だ
- 68 名前:デフォルトの名無しさん mailto:sage [2009/11/14(土) 21:04:33 ]
- >>66
C++なんで念のため
- 69 名前:デフォルトの名無しさん mailto:sage [2009/11/14(土) 21:09:51 ]
- 完全に独立してるってのがいいとは思うよ。
とくにlinuxとかストールマンとか宗教臭いしがらみがないよね。 今ならPS3とかpspで動くようにハックすると完全にマイ・システムの完成(ソフト的なものは全てjvmにまかせて)になるんじゃないか? 進路としてはvmwareみたいなアプローチで仮想マシンというより汎用仮想OS(カーネル部)ってところには需要があるかも。 OS作成とかまったく知らないけど、そういう活用ならすぐ思い浮かぶ。
- 70 名前:デフォルトの名無しさん [2009/11/14(土) 21:15:33 ]
- >>56
言語には新機能はライブラリに回すわけでいらな新機能なんかいらないし、まして高機能エディタなんてまったくいらないと思うよ。
- 71 名前:デフォルトの名無しさん mailto:sage [2009/11/14(土) 21:17:08 ]
- >>56
俺もPowerShell2.0使いたいんだけどVistaはいつ対応してくれるんだろ?
- 72 名前:デフォルトの名無しさん [2009/11/14(土) 21:20:58 ]
- 対応してんじゃん
- 73 名前:デフォルトの名無しさん mailto:sage [2009/11/14(土) 21:28:21 ]
- >>58
package main import fmt "fmt" func main() { for i := 0; i < 100; i++ { if i % 3 == 0 && i % 5 == 0 { fmt.Printf("%2d FizzBuzz\n", i); } else if i % 3 == 0 { fmt.Printf("%2d Fizz\n", i); } else if i % 5 == 0 { fmt.Printf("%2d Buzz\n", i) } else { fmt.Printf("%2d\n", i) } } }
- 74 名前:デフォルトの名無しさん mailto:sage [2009/11/14(土) 21:31:17 ]
- goroutineつかえよ
- 75 名前:デフォルトの名無しさん mailto:sage [2009/11/14(土) 21:41:02 ]
- >>74
言われると思ったw まだよくわかってないけどやってみる
- 76 名前:デフォルトの名無しさん mailto:sage [2009/11/14(土) 21:43:40 ]
- >>72
あんがとインストしてきた
- 77 名前:デフォルトの名無しさん mailto:sage [2009/11/14(土) 21:45:22 ]
- 翻訳プロジェクトはじまった
ttp://go.shibu.jp/
- 78 名前:デフォルトの名無しさん [2009/11/14(土) 21:45:41 ]
- IDEがないと新言語触れません
- 79 名前:デフォルトの名無しさん mailto:sage [2009/11/14(土) 21:46:50 ]
- こんなん言うのもあれだけど
翻訳読まにゃダメなひとは 情報少ない新言語なんか使えんだろ
- 80 名前:デフォルトの名無しさん [2009/11/14(土) 21:47:17 ]
- >>78
google面接担当「帰っていいよ」
- 81 名前:デフォルトの名無しさん [2009/11/14(土) 21:49:55 ]
- 翻訳が揃っててIDEが対応してて便利なライブラリが揃ってないと新言語触れません
- 82 名前:デフォルトの名無しさん mailto:sage [2009/11/14(土) 21:54:08 ]
- 並列処理遅いです
早くなんとかしてください
- 83 名前:デフォルトの名無しさん mailto:sage [2009/11/14(土) 21:55:12 ]
- 要望はコミュニティーで出そうぜ
でできたばっかなんだし 聞いてもらえる可能性もあるんだし
- 84 名前:デフォルトの名無しさん [2009/11/14(土) 21:57:10 ]
- >>81
ハローワーク職員「帰っていいよ」
- 85 名前:デフォルトの名無しさん [2009/11/14(土) 22:01:03 ]
- IDEのオペレータに堕ちたら終わりだな確かに
- 86 名前:デフォルトの名無しさん [2009/11/14(土) 22:03:39 ]
- >>47
「Cみたいなポインタ演算がない」だけであってポインタはあるみたいよ。 sourceforge.jp/magazine/09/11/12/0454226
- 87 名前:デフォルトの名無しさん mailto:sage [2009/11/14(土) 22:05:45 ]
- 泥仕事はこれでやるようだね
golang.org/doc/go_spec.html#Package_unsafe
- 88 名前:デフォルトの名無しさん [2009/11/14(土) 22:06:01 ]
- emacs使いになってもide使いの方が給料(報酬)が良かったりする今日この頃
- 89 名前:デフォルトの名無しさん mailto:sage [2009/11/14(土) 22:09:00 ]
- 新言語のキーワードはgo++とか亜種のことも考えると
func -> functional chan -> channeling と現代風にするべきかと
- 90 名前:デフォルトの名無しさん mailto:sage [2009/11/14(土) 22:09:57 ]
- チャネリング (英: channeling, channelling) とは、常識的な通信手段では情報をやりとりできないような相手(何か高次の存在・神・死者(霊界人)・未来人・宇宙人など)から、特別な能力によって情報を交信すること。
- 91 名前:デフォルトの名無しさん [2009/11/14(土) 22:12:07 ]
- 未来人って何?w
- 92 名前:デフォルトの名無しさん mailto:sage [2009/11/14(土) 22:12:53 ]
- 禁則事項らしいよ
- 93 名前:デフォルトの名無しさん [2009/11/14(土) 22:13:10 ]
- >>90
ja.wikipedia.org/wiki/%E6%B6%BC%E5%AE%AE%E3%83%8F%E3%83%AB%E3%83%92%E3%82%B7%E3%83%AA%E3%83%BC%E3%82%BA#.E6.9C.AA.E6.9D.A5.E4.BA.BA.E9.96.A2.E9.80.A3
- 94 名前:デフォルトの名無しさん [2009/11/14(土) 22:15:02 ]
- つうかチャネリングって昔流行語になったよなw
元ネタ覚えてないけど 若いヤツは知らないのか・・・
- 95 名前:デフォルトの名無しさん [2009/11/14(土) 22:15:27 ]
- こういうネタについてこれるのか・・・・・(笑)スイーツ
- 96 名前:デフォルトの名無しさん mailto:sage [2009/11/14(土) 22:22:44 ]
- しらんけど「僕の地球を守って」だっけ
- 97 名前:デフォルトの名無しさん mailto:sage [2009/11/14(土) 22:27:18 ]
- チャタリングなら知ってる
- 98 名前:デフォルトの名無しさん mailto:sage [2009/11/14(土) 23:09:52 ]
- 正式Go
headlines.yahoo.co.jp/hl?a=20091113-00000029-oric-ent
- 99 名前:デフォルトの名無しさん mailto:sage [2009/11/14(土) 23:13:50 ]
- いつの間にか2スレ目になってたのか
前スレで何か生産的な会話あったん?
- 100 名前:デフォルトの名無しさん mailto:sage [2009/11/14(土) 23:13:56 ]
- ハードタブが気に入らないんだけど
- 101 名前:デフォルトの名無しさん mailto:sage [2009/11/14(土) 23:22:04 ]
- >>99
生産性を求めるなら2chに来てはならない。
- 102 名前:デフォルトの名無しさん mailto:sage [2009/11/14(土) 23:34:09 ]
- libgoがビルドでこける
- 103 名前:デフォルトの名無しさん mailto:sage [2009/11/14(土) 23:54:37 ]
- >>99
非生産的な議論があった
- 104 名前:デフォルトの名無しさん mailto:sage [2009/11/14(土) 23:58:39 ]
- 生産性も止めるなら
要望が受け入れてもらえるかもしれない公式コミュに行けばいい まぁ大差ないだろうけど
- 105 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 00:02:05 ]
- >>104
カスが公式コミュで暴れて生産性が止まるってかwww
- 106 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 00:05:29 ]
- 暴れてるところを見てみたい
- 107 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 00:27:39 ]
- goroutineで0から99まで生成した(する)値を
チャンネル経由で一つずつ読んでは出力するコードを書いたんだけど 実行すると何も出力せず単に終了してしまう どこが悪いか教えてちょ package main import fmt "fmt" func genInt(dest chan int) { for i := 0; i < 100; i++ { dest <- i; } } func foo(src chan int) { for { i := <- src; fmt.Printf("%d\n", i); } } func main() { ch := make(chan int); go genInt(ch); go foo(ch); }
- 108 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 00:37:56 ]
- >>107
何か出力するより先にmainの終わりに達してしまうからだろ
- 109 名前:デフォルトの名無しさん [2009/11/15(日) 00:46:31 ]
- >func genInt(dest chan int) {
ファンキーなゲニントはデストちゃんとインドなんですか?
- 110 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 00:51:42 ]
- goのコードを一目見てとってもなつかしい感じがした。
C++やJavaにうんざりし、LispやHaskellのほうがすごいと 思っていた自分がはずかしい。これでいいのだ。
- 111 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 01:02:27 ]
- でも obj.foo() って書きたい...
- 112 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 01:05:13 ]
- 誰かも言ってたけど REPL が欲しい
- 113 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 01:10:16 ]
- cygwinにインストールするには
どのようにすればよいですか?
- 114 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 01:19:47 ]
- cygwinは、まだpatch待ち
ttp://code.google.com/p/go/issues/detail?id=107 FreeBSDは、パッチがあるようだ。 ttp://code.google.com/p/go/issues/detail?id=166
- 115 名前:107 mailto:sage [2009/11/15(日) 01:29:52 ]
- >>108
サンクス。mainの最後にSleep置いたら99まで出力してくれた
- 116 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 01:32:42 ]
- fooのgo外すだけでいいんじゃない?
空のforは無限ループかな。fallthroughといいエッチな機能満載だな
- 117 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 01:47:16 ]
- >>113-114
javascriptとか javaappletで web上で試せる環境 誰か作らないかな
- 118 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 01:51:36 ]
- はやくHMDとかコンタクトレンズ型ディスプレイが普及して
ディバイスの小型化が進んでほしい
- 119 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 02:21:55 ]
- AndLinux って初めて聞いた。coLinux を使ってるのか。
こういう時に Windows しか無い人は色々と大変だな。
- 120 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 02:23:30 ]
- どんなOSでもVM上でさっと動かせる時代に何を言ってるんだ
- 121 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 02:30:48 ]
- >>120
イチイチ仮想環境を用意するのマンドクセって事じゃないの。 手順がどうとかじゃなくて、普通は余計な事はしたくないもんでしょ。 俺は Mac ユーザだから、こういうマイナー言語は何もしなくても サポートリストに入ってる事が殆どだけどね。
- 122 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 02:37:37 ]
- >>116
go genInt(ch); // go foo(ch); foo(ch); にしてコンパイルして実行したところ出力が [...] 98 99 throw: all goroutines are asleep - deadlock! panic PC=0xbfc01ebc throw+0x46 /home/name/go/src/pkg/runtime/runtime.c:74 [...] どうやってgoroutineの終了を待てばいいんだろ うまいパターンがあるのかwaitやjoin相当の機能でもあるのか
- 123 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 02:55:25 ]
- >>122
コンパイルしてないけどたぶんこんな感じじゃね func genInt() <-chan int { ch := make(chan int); go func { for i := 0; i < 100; i++ { ch <- i; } close(ch); }(); return ch; } func foo(src <-chan int) { for !closed(src) { i := <-src; fmt.Printf("%d\n", i); } } func main() { foo(genInt()); }
- 124 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 02:56:21 ]
- >>122
そりゃdeadlockするよ、fooのループで来ないメッセージを待ち続けてるんだから チャネルの送信側は送信が終わったらclose(c)、受信側は<-の前にclosed(c)でチェックとかするんじゃないのかな wait, join相当のものはそれこそチャネルで実現出来るよね
- 125 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 03:01:41 ]
- >>123
[main] ch <- 99; [sub] closed(src); [main] close(ch); [sub] <-src; こういう順番で実行されるとデッドロックするな。 goroutineがファイバーで実装されてるなら起こらないが、スレッドだとこうなる可能性がある。 ファイバーだとしてもチャネルの読み書き以外でコンテキストスイッチが起きると怖いが
- 126 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 03:15:18 ]
- 手元に何もないから試せないけど
ch <- ... ってデフォでブロックするんじゃなかったっけ? 確かmakeの第二引数に1以上を指定すると非同期になるとか仕様書に書いてあったような 標準ライブラリではイテレータとしてチャネルを>>123っぽく使ってた気がするから多分大丈夫かと
- 127 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 03:29:37 ]
- そりゃ、closedをチェックしてからrecvするまでに割り込まれたり、
最後の要素をsendしてからcloseするまでに割り込まれたりすると やっかいなことが起きるわな。
- 128 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 03:48:11 ]
- 既にcloseされたチャネルを読むのは合法なの?
- 129 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 07:05:38 ]
- >>121
Windowsでも簡単に試せる環境用意しようか?
- 130 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 07:20:15 ]
- おながいしまつ
- 131 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 07:32:06 ]
- 返り値を複数返せない言語は糞だ
- 132 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 08:30:57 ]
- プログラミング言語 Go ドキュメント
go.shibu.jp/
- 133 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 08:46:50 ]
- deadlock検出すると例外出すのか
かっけーな
- 134 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 10:22:32 ]
- 言語の歴史
------------------------ Fortran Lisp C C++ Perl Prolog COBOL Java Python Ruby JavaScript C# PHP Scheme Haskel Erlang Ocaml F# Clojure Scala Noop Go 最近は関数型言語が注目されて、 いままであった関数型言語と 新しい言語をつくってしまえっていう流れがあるな
- 135 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 10:32:49 ]
- 関数型言語の機能、概念を
手続き型、オブジェクト指向に取り入れだしている。 純粋な関数型言語は人間の思考にあわない。 人間の思考は手続き的。
- 136 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 10:56:34 ]
- プログラマーが新しい言語・技術を待ちわびてる
古い言語で業界や職場をしきっているやつらをだしぬいて、体制や地位をひっくりかえせるからな プログラマーの世界は技術次第だから、いつまでも古い技術にしがみついている上司を見限って 一旗あげようという気心がうずまいてる 逆に一定に地位についているやつらはその言語を使い続けるしかない。そこは強みであるが、逆に弱みでもある
- 137 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 11:07:19 ]
- 99%のレスがマ板かN速で事足りるな
無内容なのになぜか上から目線w
- 138 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 11:10:20 ]
- VIPで流行の兆しがあるな
- 139 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 11:18:24 ]
- >>137
ありえないくらい読解力がないなw
- 140 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 11:28:21 ]
- なるほどclose, closed あたりを使うのか
チュートリアル以外のコードも読も あと>>123を試してみた。コンパイルは // go func { go func() { にするだけで通った。実行結果は $ ./8.out 0 1 [...] 98 99 0 # ママ $ 0 ってなんだろ genint の closed0 の返り値が 0 で、それを foo が受信して出力してるとしても >>123からはそうなるようには読めない・・・
- 141 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 11:28:54 ]
- 並列処理が遅いのですが
- 142 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 11:34:58 ]
- 並列処理指向で作られた言語って遅いのばっかだよな
Erlangも遅いんじゃなかったか。Scalaくらいだな。
- 143 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 11:37:42 ]
- Scalaはめっちゃ速い
Goは糞すぎるScalaの半分も出ない フィボナッチ数列計算するのにErlangよりやや速いぐらいだぞw
- 144 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 11:40:23 ]
- フィボナッチ数列を生成するgeneratorをgoで書いてみてください
- 145 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 11:51:58 ]
- >>143
Cの10%〜20%遅いくらいなら 流石にそれはないんじゃね?
- 146 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 12:40:16 ]
- >>145
遅いからやってみてよw
- 147 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 12:42:36 ]
- 比較に使ったコード貼って
- 148 名前:123 mailto:sage [2009/11/15(日) 13:15:29 ]
- >>140
サンクス。 たぶん>125の問題かもしれん。 close済みのchan intを読んだら0が帰ってくるんだろう
- 149 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 13:35:33 ]
- golang.org/doc/go_spec.html#Channel_types
golang.org/doc/go_spec.html#Close_and_closed golang.org/doc/go_spec.html#For_statements 読んだ?
- 150 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 13:46:41 ]
- C (4) の置き換えを狙ったから、go (5) って、つけたの?
- 151 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 13:56:06 ]
- >>149
ありがとう。いま読んだ。 でも、chanから帰ってくる最後の0がsendされた値なのかそうでないかを判別する方法がわからない
- 152 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 14:04:29 ]
- そのためのclosed
- 153 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 14:26:33 ]
- >>152
closedを見たときにはまだ閉じられてないけど、 その直後にreceiveしたときには既に閉じられているということが起こりうるんだよ。
- 154 名前:デフォルトの名無しさん [2009/11/15(日) 14:30:22 ]
- >>150
前スレで外出
- 155 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 14:34:34 ]
- 受信した後にさらにclosedを見ればいいんじゃね
|

|