[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2chのread.cgiへ]
Update time : 05/09 22:44 / Filesize : 191 KB / Number-of Response : 1002
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

Go part2



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を見ればいいんじゃね






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<191KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef