1 名前:デフォルトの名無しさん mailto:sage [2009/11/14(土) 16:23:56 ] The Go Programming Language ttp://golang.org/
166 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 22:04:23 ] ファイル分割するときはどうするの? package hoge とかして、使いたいところで import "hoge" ってやればいいだけ?
167 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 22:06:38 ] >>163 そのコード、OOP関係ない。 従来からあるただのCの手続きコードと同じ。
168 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 22:10:18 ] >>162 実装を継承することは出来ない インターフェイスは共有できる
169 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 22:15:21 ] >>167 ごめん端折りすぎた >>163 は上でやってたGoroutineの終了を チャンネルの向こうにいる受信側にどう通知するかって話
170 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 22:20:17 ] >>168 実装の継承、出来ますよ kwskは仕様書のSelectorの項目に書いてあったはず 型情報の継承は出来ませんが、 かわりにinterfaceを使えばいいことなので、OOPに求められる要素は全て揃っていると思われます
171 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 22:24:30 ] 昨日うpしたOOPの機能を使った例: seiga.nicovideo.jp/bbs/sg351/1- もしよかったらみんなのデスクトップも見せてね!
172 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 22:27:11 ] >>169 OOPなのができるとは、計算終了の通知をどうするかじゃなくて、その場合は相互のmessagingを言語としてはどう表現するかですよ。 計算終了ならなにも並列じゃなくwaitでいいわけでして。 OOPは並列計算とかlisp的な考え方とはまったく関係ないんでこの際OOP概念を勉強してみてはどうですか。
173 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 22:28:17 ] Kenがついにスペルミス直したぞ hg log -r3956 -p
174 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 22:39:46 ] >>163 closed()かrangeを使えばいいんでわ import "fmt" func genInt(start int, stop int) chan int { c := make(chan int); go func() { for i := start; i < stop; i++ { c <- i; } close(c); }(); return c; } func main() { c := genInt(1, 20); for { i := <-c; if closed(c) { break; } fmt.Printf("%d\n", i); } // もしくわ for i := range genInt(1, 20) { fmt.Printf("%d\n", i); } }
175 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 22:51:11 ] >>170 これ? golang.org/doc/go_spec.html#Selectors
176 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 22:56:45 ] >>174 ああそうか、>>123 のように 1. closedか確認する 2. 1でclosedでなければチャンネルから読む だと、1と2の間にclosedされた場合に問題が起きるけど、 1. ひとつ読む 2. closedか確認して閉じてたらもうrecvせずに抜ける ならclosedされたチャンネルから0を読み込むようなことが起こらないわけだ >>124 ,125他で指摘されてたことがようやく飲み込めた。どうもありがとう
177 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 23:04:39 ] OOPすら関係ねーじゃん。 おまえが構造化プログラムを一度も書いたことも無いってのが露見しただけw
178 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 23:15:50 ] >>177 >>163 が>>162 氏へのレスになっていると勘違いされているのでは? >>176 氏の文脈は>>107 から続いているもので、OOPの話題とは関係ないように見えますが(参照:>>169 )
179 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 23:16:06 ] OO=クラスだと思ってるアホが暴れてますね
180 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 23:18:28 ] >>176 goを使うには修行が足らん まずはCからやれ
181 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 23:40:27 ] ニコ動久しぶりに見たけど見るまでの手続き色々面倒なのに変わってるね
182 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 23:51:10 ] ごめん。>>111 は普通に出来た。
183 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 23:59:19 ] GC とクロージャがあって、 OOP が出来て、ネイティブコンパイルできて コンパイル速度が暴速の C だと思えば割と良いもんじゃん。
184 名前:デフォルトの名無しさん mailto:sage [2009/11/16(月) 00:05:00 ] 並列処理が遅くて看板に偽り大有りです 食品なら食品偽装レベル 電化製品なら製造物責任法で書類送検レベルの大問題です
185 名前:デフォルトの名無しさん mailto:sage [2009/11/16(月) 00:08:49 ] なんで for each にしなかったんだろう
186 名前:デフォルトの名無しさん mailto:sage [2009/11/16(月) 00:09:06 ] cythonよりpsycoの方が速いんか
187 名前:デフォルトの名無しさん mailto:sage [2009/11/16(月) 00:57:50 ] クラスが無いからC++系ライブラリをそのまま流用出来ないんですけど
188 名前:デフォルトの名無しさん mailto:sage [2009/11/16(月) 01:15:23 ] 逆に考えるんだ。クラスが無いから恥ずかしくない。 クラスがあるのに流用出来なかったら最悪だろ。
189 名前:デフォルトの名無しさん mailto:sage [2009/11/16(月) 01:19:25 ] 斬新な発想の転換だな。
190 名前:デフォルトの名無しさん mailto:sage [2009/11/16(月) 04:09:22 ] やっぱ派生クラス100個あったらswitch文とかで100個 new class CXXX(); とかしないとダメなのかな。 簡単に言うとコンストラクタをオーバーライドしたい。
191 名前:デフォルトの名無しさん mailto:sage [2009/11/16(月) 06:42:02 ] MacOSX で試してるんだが、UniversalBinaryは吐けないのかな?
192 名前:デフォルトの名無しさん [2009/11/16(月) 07:48:37 ] 「Emacsは馬鹿避けのためにある」ってホント名言だったなw
193 名前:デフォルトの名無しさん [2009/11/16(月) 07:54:49 ] 隔離ソフトwww
194 名前:デフォルトの名無しさん mailto:sage [2009/11/16(月) 10:26:52 ] visualstudio系はともかくなぜかeclipseと自己同一化してるヤツはなんかひどいの多いな 「車に乗ると性格が変わるヤツ」というか、IDEのパワーと自分のパワーをごっちゃにして威張るw 「新言語を評価する」の類のイレギュラーな事象に対応可能にしておくためにIDE依存度をあまり上げすぎないようにするくらいの知見もなく、 IDEのオペレーション自体は「技術」の範疇じゃなくて、入れれば誰でも使えるアプリの一つでしかないのに
195 名前:デフォルトの名無しさん mailto:sage [2009/11/16(月) 11:14:09 ] >>191 たぶんGoogle内部的にPPC(笑)だと思われ 10.6的な意味で でもそれとは別にGoがPPC環境でどれくらいの早さで動くかは興味ある バックエンドgccのgccgoならその筋の人がいろいろいじればなんとかなりそうだったり?
196 名前:デフォルトの名無しさん mailto:sage [2009/11/16(月) 13:19:00 ] 週末暴れてた人はアク禁喰らったのか?
197 名前:デフォルトの名無しさん [2009/11/16(月) 13:25:29 ] visualstudioとeclipseを区別す理由がいまいち不明だな
198 名前:デフォルトの名無しさん mailto:sage [2009/11/16(月) 14:52:17 ] >>194 セルシオとかポルシェとか運転したことあってそういうこといってるの? おれは幾人かの友達が持ってるから運転させてもらったことあるけど。 それと同じで、君は偉そうなことをいっちょまえにいうけどそれぞれのIDEを使いこなせるようになってるわけでもないでしょ。
199 名前:デフォルトの名無しさん mailto:sage [2009/11/16(月) 15:08:38 ] 自分のクルマじゃないトコがかわいくてワロタw
200 名前:デフォルトの名無しさん mailto:sage [2009/11/16(月) 15:17:39 ] いいね package main import "fmt" func main() { a := 1; f := func() int { return a }; fmt.Println( f() ); a = 2; fmt.Println( f() ); }
201 名前:デフォルトの名無しさん mailto:sage [2009/11/16(月) 15:50:44 ] >>200 最近の言語なら普通じゃない?
202 名前:デフォルトの名無しさん mailto:sage [2009/11/16(月) 15:51:24 ] >>173 あれはジョークだと思ってたから(間違えるはずがない) 直したことに違和感がw
203 名前:デフォルトの名無しさん mailto:sage [2009/11/16(月) 15:56:58 ] >>202 さらなるジョーク
204 名前:デフォルトの名無しさん mailto:sage [2009/11/16(月) 20:29:36 ] まるで静的型付けの JavaScript みたいだな これが普及すると嬉しいな 2,000 行未満の小さなプログラムを書くには もってこいの言語だと思う
205 名前:デフォルトの名無しさん mailto:sage [2009/11/16(月) 20:38:18 ] ネイティブ言語だから実際はあまり普及しないよ。 それにどちらかといえばCと同じく関数型言語の延長で、lispに制御構造をくっつけたような設計だし、並列用途でこの言語をベースとし亜種の言語は出てくるんじゃないか? 組み込み用の小型プログラムやIOのところとかバリバリネイティブなら必要なんだろうな。 x86(x64)は既に大規模だしide(gui)あるし、java,dotnetのvmで会話するって感じなんだろう。 つまりこれからはx86じゃなくてARMなのかなって思う。googleがwebのプラットフォームをどこまで考えてるかによる。
206 名前:デフォルトの名無しさん mailto:sage [2009/11/16(月) 20:40:52 ] どこから突っ込んでいいか分からんなw
207 名前:デフォルトの名無しさん mailto:sage [2009/11/16(月) 20:43:41 ] >>206 >>205 に対して?
208 名前:デフォルトの名無しさん mailto:sage [2009/11/16(月) 20:47:57 ] うん
209 名前:デフォルトの名無しさん mailto:sage [2009/11/16(月) 20:50:01 ] >>195 x86 x64 のユニバーサルは吐きたいと思うのよ GUIをどうするか悩むよりは、Javaから呼び出して使いたいなぁ・・・
210 名前:デフォルトの名無しさん mailto:sage [2009/11/16(月) 20:59:04 ] Javaみたいに活躍の場を見つけるまでが大変かもな Javaも最初の発表とは全然違うエンタープライズ分野に居場所を見つけて定着したし
211 名前:デフォルトの名無しさん mailto:sage [2009/11/16(月) 21:03:52 ] ほんとにそうだね Cの置き換えとか狙ってたら 中の人が中の人だし面白いんだけどなー
212 名前:デフォルトの名無しさん mailto:sage [2009/11/16(月) 21:04:30 ] このスレを見ている少年少女の為に一応正しておくけど、 Lisp には制御構造は沢山あるからね。もし興味があったら ここら辺を読んでみてください。 www.lispworks.com/documentation/HyperSpec/Body/c_data_a.htm www.lispworks.com/documentation/HyperSpec/Body/c_iterat.htm www.cs.cmu.edu/Groups/AI/html/cltl/clm/node76.html www.cs.cmu.edu/Groups/AI/html/cltl/clm/node235.html Lisp は Go とは傾向の全然違う言語なのであしからず。
213 名前:デフォルトの名無しさん mailto:sage [2009/11/16(月) 21:07:37 ] evalがあるのがふしぎ
214 名前:デフォルトの名無しさん mailto:sage [2009/11/16(月) 21:08:20 ] >>212 そりゃマクロでいくらでも作れる<lisp
215 名前:デフォルトの名無しさん mailto:sage [2009/11/16(月) 21:15:39 ] マクロでどうとかじゃなく、規格上の話だよ
216 名前:デフォルトの名無しさん mailto:sage [2009/11/16(月) 21:21:57 ] Common LispとりあげてLispには制御構文がたくさんあるとか言われても
217 名前:デフォルトの名無しさん mailto:sage [2009/11/16(月) 21:23:15 ] >>210 Java は最初から仕事で使える事を強く意識して作られていたから 途中色々あったけど、自ずと道が開けてきた感がある
218 名前:デフォルトの名無しさん mailto:sage [2009/11/16(月) 21:27:25 ] >>216 ちゃんと理由を言わないと誰も賛同しないよ?
219 名前:デフォルトの名無しさん mailto:sage [2009/11/16(月) 21:29:37 ] それと、C は関数型言語じゃないから気をつけて
220 名前:デフォルトの名無しさん mailto:sage [2009/11/16(月) 21:30:18 ] やっぱ、google凄いなぁ。反応が沢山ある。
221 名前:214 mailto:sage [2009/11/16(月) 21:35:17 ] >>216 common lisp の制御構造って、実際的にはマクロで記述されているんじゃないのかな。lisp のマクロって強力だからね。 common lisp を取り上げてlispには制御構文がたくさんあるといわれてもねえ。
222 名前:デフォルトの名無しさん mailto:sage [2009/11/16(月) 21:36:03 ] 無理するなよw
223 名前:デフォルトの名無しさん mailto:sage [2009/11/16(月) 21:43:56 ] >>214 =>>205 か? 正直 >それにどちらかといえばCと同じく関数型言語の延長で が面白すぎて後は目が滑ってしまったw
224 名前:デフォルトの名無しさん mailto:sage [2009/11/16(月) 21:44:00 ] ここで見栄はっても仕方ないのに
225 名前:デフォルトの名無しさん mailto:sage [2009/11/16(月) 21:44:51 ] >>221 Lispは史上最強の言語だ。知らないなら勉強する価値はあるよ ただ、一生仕事で使う事はないだろうからどうでもいいが そんなことより、Goは規格化しないのかなISO標準とかに PythonやRubyと違って明らかにGoogle社の所有物な言語って怖くもある
226 名前:デフォルトの名無しさん mailto:sage [2009/11/16(月) 21:53:03 ] >>225 オープンソースだから所有に関してはRubyとかと大差ないんじゃないか
227 名前:デフォルトの名無しさん mailto:sage [2009/11/16(月) 22:00:02 ] >>223 ちゃいます。ちっぽけなlispインタープリタなら読んだことあります。
228 名前:デフォルトの名無しさん mailto:sage [2009/11/16(月) 22:04:20 ] >>227 >>212 にはマクロで実装される物とそうでない物がきちんと分類されてるよ
229 名前:214, 227 mailto:sage [2009/11/16(月) 22:23:41 ] >>228 んー、cond もマクロかいな。前に読んだのは c で書いてあったなあ。 いやね、lisp のプリミティブな制御構造って少ないと思ってるんですよ。ただそれだけ。
230 名前:デフォルトの名無しさん mailto:sage [2009/11/16(月) 22:25:27 ] Ubuntuのリポジトリに入ったら本気出す
231 名前:デフォルトの名無しさん mailto:sage [2009/11/16(月) 22:29:32 ] >>229 実際は色々ある事が分かったでしょ。 そもそもマクロで実装されていたところで何の問題も無い訳だし、 おかしな事は何も無い。
232 名前:229 mailto:sage [2009/11/16(月) 22:44:33 ] >>231 まあ、そうですね。
233 名前:デフォルトの名無しさん mailto:sage [2009/11/16(月) 22:45:01 ] NTRも悪くないと思う
234 名前:デフォルトの名無しさん mailto:sage [2009/11/16(月) 22:48:00 ] ライブラリをがんばって欲しいなぁ リッチな標準ライブラリがあるならCでも構わない
235 名前:デフォルトの名無しさん mailto:sage [2009/11/16(月) 22:52:51 ] そういう意味ではやっぱり GUI かな C でオブジェクト指向するのが嫌で VALA とか作っちゃう様な事が必要なくなれば 嬉しい人はそれなりに多そうだ
236 名前:デフォルトの名無しさん mailto:sage [2009/11/16(月) 23:47:36 ] >>220 Googleの名前とあの製作陣を見たら、やはり心ときめく
237 名前:デフォルトの名無しさん mailto:sage [2009/11/16(月) 23:52:44 ] ちょっと親しみ易くした Limbo なんだよな
238 名前:デフォルトの名無しさん mailto:sage [2009/11/17(火) 00:00:27 ] こんな仕様じゃ大規模なものが作れないという苦情に対して 「設計が悪いから、バベルの塔を作る羽目になってるだけじゃないの?」と ロブ・パイクは答えるんだろうな。 結局、BSDソケット や X をいつまで前提してるんですかという話になる。 Goは Plan9 の入口にすぎんのであって、後者が布教されれば本懐。 Go自体が多機能のてんこ盛りになる「進化」は望んでいないだろう。
239 名前:デフォルトの名無しさん mailto:sage [2009/11/17(火) 00:01:02 ] >>237 ja.wikipedia.org/wiki/Limbo 名前だけは知ってたけど 特徴を見るとGoといっしょだね 中の人もかぶってるし
240 名前:デフォルトの名無しさん mailto:sage [2009/11/17(火) 00:10:37 ] Limboオセェし糞言語だったろw
241 名前:デフォルトの名無しさん mailto:sage [2009/11/17(火) 00:25:42 ] なにかが足りないと思ったらacmeだったか
242 名前:デフォルトの名無しさん mailto:sage [2009/11/17(火) 01:08:00 ] >>240 Limboっての自体知らなかったけど遅いの? 知ってるだけ偉いと思った。
243 名前:デフォルトの名無しさん mailto:sage [2009/11/17(火) 01:18:17 ] LimboはInferno上で使うのね。調べたら比較があった。 redgenes.com/PerfJavavsC.html 単純なコードは(JITありでも)倍ぐらい遅いけど、ネット系はやや速いとなってる。 まあでもJIT系はオーバーヘッドあるから、ベンチ以上に遅く感じることはあるかもね。
244 名前:デフォルトの名無しさん mailto:sage [2009/11/17(火) 01:42:34 ] Microsoft Visual StudioがVisual Goを開発しないと初心者は使わないよ^^; 文系の授業でもあるようなC言語のプログラミングに置き換わるなんてまず無理
245 名前:デフォルトの名無しさん mailto:sage [2009/11/17(火) 01:45:23 ] >>244 んなことない そこまでMS系統でもないだろ今の時代 GoでAndroidアプリを作れるようにするという最終兵器がGoogleにはあるからな.... Objective-C市場がiPhoneがどれだけのびたかを考えるとあり得るシナリオだと思う
246 名前:デフォルトの名無しさん mailto:sage [2009/11/17(火) 02:06:35 ] 自演にしか見えない
247 名前:デフォルトの名無しさん mailto:sage [2009/11/17(火) 02:07:28 ] 見る目ないな
248 名前:デフォルトの名無しさん mailto:sage [2009/11/17(火) 02:21:30 ] 今のGoの日本語のまともな解説サイトを作ったら結構広告料貰えるんじゃね 関連書籍とかまだまだでしょ
249 名前:デフォルトの名無しさん mailto:sage [2009/11/17(火) 02:52:02 ] golang.jpがうさんくさい件 翻訳はもうやってる人がいる -users.jpはまだだな
250 名前:デフォルトの名無しさん mailto:sage [2009/11/17(火) 03:56:14 ] クラスじゃなくてもいいけど、 プロパティに当たる物が無いのはちょっと・・・
251 名前:デフォルトの名無しさん mailto:sage [2009/11/17(火) 04:21:22 ] いちお貼っとくか winでmakeしてみたい人はここ code.google.com/r/hectorchu-go-windows/ GOOS は mingw ただ thread まわりとかまだ移植されてなさそう
252 名前:デフォルトの名無しさん mailto:sage [2009/11/17(火) 04:52:16 ] ∧∧ ( ・ω・) 完全になったら起こしてくれ _| ⊃/(___ / └-(____/  ̄ ̄ ̄ ̄ ̄ ̄ ̄ <⌒/ヽ-、___ /<_/____/
253 名前:デフォルトの名無しさん mailto:sage [2009/11/17(火) 06:01:42 ] 永眠することになりそうだな
254 名前:デフォルトの名無しさん mailto:sage [2009/11/17(火) 08:20:59 ] ちょこっと見てみたけど、キモい言語だな。 だめだわこりゃ。 てか、Pikeは自分の名前付けたPike言語の失敗反省してないなwww センス無さ過ぎわろすwww
255 名前:デフォルトの名無しさん mailto:sage [2009/11/17(火) 08:44:35 ] 戦う君の歌を戦わない者たちが笑うだろう
256 名前:デフォルトの名無しさん mailto:sage [2009/11/17(火) 08:49:30 ] ふつう、何か頂けそうでも辞退する(考える)ところだが、褒章はふつうではないため、すぐに返事をした
257 名前:デフォルトの名無しさん mailto:sage [2009/11/17(火) 09:42:16 ] >>254 Pikeは北欧系のマルチパラダイム言語。Robともベル研とも関係ない。 もっとも、Robはアレフというもっとキモい名前の言語を作ってるが。
258 名前:デフォルトの名無しさん mailto:sage [2009/11/17(火) 10:50:06 ] aleph自体は何もキモくねーよ
259 名前:デフォルトの名無しさん mailto:sage [2009/11/17(火) 12:35:07 ] アレフ?毒ガスをまきそうな名前だな
260 名前:デフォルトの名無しさん mailto:sage [2009/11/17(火) 12:53:09 ] どうもlisp信者がいるようだけど、マクロがあれば何でもアリって言うのは時代遅れ。
261 名前:デフォルトの名無しさん mailto:sage [2009/11/17(火) 12:59:31 ] >>258 Alefだよ en.wikipedia.org/wiki/Alef_programming_language
262 名前:デフォルトの名無しさん mailto:sage [2009/11/17(火) 13:00:15 ] いまlispが再評価されてるのは、30年前のハードが対象だったのに強引にgcを搭載し、クロージャを実現してる(scheme)ってことだけ。 lispで10万行のプログラミングなんか絶対無理だから。
263 名前:デフォルトの名無しさん mailto:sage [2009/11/17(火) 13:27:38 ] Lispの思想は、VMの上に好きな言語を乗せられると考える.NETに似てる。 仕様変更は上の層だけで発生するからVMは歪みねぇと思い込んでる。 現実は、VMの更に下にあるCが歪みない地位を確立してるんだが。
264 名前:デフォルトの名無しさん mailto:sage [2009/11/17(火) 13:32:41 ] >>260 無内容な長文書くおっさんを召喚するのはやめてくれ
265 名前:デフォルトの名無しさん mailto:sage [2009/11/17(火) 14:04:13 ] lispはfortrunと同じで原始人が使うツールだからな。 2009年現在で通用している概念や言葉が通じるわけがない。 そういうおっさんは脳みそとか汗臭そうだし。
266 名前:デフォルトの名無しさん mailto:sage [2009/11/17(火) 15:03:56 ] >>262 関数型言語に行数なんて無意味だと何度言ったら・・・