1 名前:デフォルトの名無しさん mailto:sage [2008/03/10(月) 22:40:17 ] The Scala Programming Language ttp://www.scala-lang.org/ チュートリアル日本語訳 ttp://homepage.mac.com/takashi_miyamoto/scala/ScalaTutorial.pdf どう書く?org Scala ttp://ja.doukaku.org/lang/scala/
369 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 09:50:53 ] def, fun は飽きた。df, fn とかしてほしい。
370 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 10:54:52 ] ディスク残量の表示をファンクションキーに割り当てたいんですね。わかります。
371 名前:デフォルトの名無しさん [2008/06/15(日) 10:58:37 ] Scala の関数プログラミングが理解できません。 ScalaTutorial.pdf を読んでみました。Martin Odersky は scala で OOP language と functional programming を統合して compose program を目指 していると理解しています。 でも tunctional programming は状態を持たないこと、変更できるデータが 存在しないことが特徴です。関数呼び出しに side effect がないことが特徴 です。 Python は、既存の関数に side effect があることから本格的な functinal programming には踏み込もうとしません。Scala では関数の side effect をどうやって防いでいるのでしょうか? 私には Scala の関数プログラミングは side effect を許しているとしか思 えません。もしそうだとすると、scala の関数プログラミングは偽関数プロ グラミングだとも言えると思います。
372 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 11:07:44 ] tunctional programmingと言われても… Scalaは関数型言語じゃないよ。
373 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 11:34:45 ] 機能として見た場合、参照透明自体はそんなに重要じゃないでしょ 並列処理とか遅延評価のときに都合がいいだけで それに純粋な関数型言語っていわゆる関数型言語の中でも一部分であって 純粋じゃなかったら偽というのも極端な気がするけど
374 名前:デフォルトの名無しさん [2008/06/15(日) 13:27:32 ] 371 です。 >純粋じゃなかったら偽というのも極端な気がするけど 同意します。 でも、side effect 使いまくりの pattern match: match .. case ... を書 いていたら、それは偽関数プログラミングと言っても良いでしょう。そして scala は、それを許しているように思えます。Stateless, immutable にす るのはユーザーの努力に委ねられているように思えます。違いますでしょう か。
375 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 13:59:00 ] それはプログラミングスタイルの話で、言語がどうかって話とはちょっと違う気がする。
376 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 13:59:56 ] ん?よくわからん パターンマッチと副作用がどう関係してるんだ?
377 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 14:16:17 ] >>374 >それは偽関数プログラミングと言っても良いでしょう。 誰にも会わずに一人で呼ぶ分には別に良いんじゃない? >Stateless, immutable にするのはユーザーの努力に委ねられているように思えます。 という言語は別にScalaが最初という訳じゃないというか歴史に何度も登場したものに思われ。 ttp://user.ecc.u-tokyo.ac.jp/~tt076524/onlispjhtml/functionalProgramming.html >関数的プログラミングとは,副作用ではなく,値を返すことで動作するプログラムを書くことだ. >副作用とはオブジェクトの破壊的な変更(rplacaの使用等)や変数への代入(setqの使用等)を含む. >副作用を使う数が少なく,その影響範囲もローカルなものであれば, >プログラムの読み取り,テスト,デバッグは簡単になる. >Lispのプログラムが必ずこの方法で書かれてきた訳ではないが, >時を追ってLispと関数的プログラミングは次第に分かち難いものになってきた.
378 名前:デフォルトの名無しさん [2008/06/15(日) 14:20:10 ] 371 です >パターンマッチと副作用がどう関係してるんだ? Pattern match は functional programming の機能だと思います。ここで書 かれるコードは副作用のないものに限定されるべきだと思います。クラス・ データ・メンバーを設けて、それを操作するなんてしてはならないと思いま す。そうでなかったら、compose program なんて実現できないでしょう。
379 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 14:22:31 ] >>378 > Pattern match は functional programming の機能だと思います なこたーない
380 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 14:22:50 ] >>378 マッチングのときに副作用が起きるのがいけないということ? それともマッチングの後の話? compose programというのもよくわからんな
381 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 14:24:26 ] >>379 パターンマッチって関数型由来じゃないんだっけ?
382 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 14:28:51 ] >>378 要するにMartin Oderskyの謳い文句が煽りっぽくて気に入らないなら本人に言った方が良いよ。 副作用なしでプログラミングを行うという意味論的なテーマと、 単なるシンタックス(Pattern match)の議論がごっちゃになってる気がする。 「条件分岐の意味論」と「条件分岐が楽に書けるか」は全然別の話。 意味論の定義については偉い人に任せる。 ttp://d.hatena.ne.jp/soutaro/20080530/1212163155
383 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 14:35:32 ] >>369 そこで defun ですよ。Lisp 的に。
384 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 14:50:53 ] join計算では破壊的変数操作は許されるのですか?
385 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 15:09:24 ] >>381 由来は知らんがPrologとかにもあるだろ だいたいパターンマッチングで副作用を否定したらawkの立場はどうなるんだよw
386 名前:デフォルトの名無しさん [2008/06/15(日) 15:15:20 ] 371 です >マッチングのときに副作用が起きるのがいけないということ? >それともマッチングの後の話? cast ... ==> の後に書かれるコードで副作用があるものを呼び出さないの意味です。 >compose programというのもよくわからんな 下の Martin Odersky 自身の説明から持ってきました。彼はプログラムの部 品化を本気で可能にしようとしています。 video.google.com/videoplay?docid=553859542692229789 lampwww.epfl.ch/~odersky/talks/google06.pdf >パターンマッチって関数型由来じゃないんだっけ? 関数型由来由来でしょう。switch case 文で置き換えられる代物ではないでしょう。
387 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 15:24:02 ] Pattern match は functional programming の機能 と Pattern match は functional programming に由来 は別物だぞ 関数型言語以外でもパターンマッチングが見られるから前者は間違い wikipediaによるとKen Thompson(Unixの作者)が作ったエディタや SNOBOLが由来だから後者も間違い
388 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 16:01:39 ] なんちゃって知識を抱えて、新規言語に刃向かいに来たボクちゃんってことで決着ですか?
389 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 16:24:50 ] >381 『由来』と『機能』は別物。 Lispみたいにパターンマッチ前提にしていない関数型言語は普通にあるよ。 逆にC++のオーバーロードとかだって一種のパターンマッチだし。 >378 そんなつまらん理由で『べき』なんて断定するもんじゃないよ。 ・Pattern Matchに失敗したときの挙動が複雑すぎて制御不能 ・追加したパターンマッチの影響が他の関数に波及するリスクがある。 状態の管理が困難になる とか具体的な理由ぐらい書いたら? 状態(副作用)の本質についてはガウディ本が詳しいので、一回読んでみたら。
390 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 16:24:56 ] >>386 だったら、通常のifとパターンマッチを区別して、パターンマッチを特別視する理由は? パターンマッチって便利なifみたいなもんだと思っているんだけど
391 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 16:50:12 ] なんか不毛な議論になっとるなー >>374 の言っているのに合致するのって、HaskellとCleanくらいじゃね? あと、パターンマッチについては強力なif文という認識くらいで良いと思うなー
392 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 18:18:32 ] パターンマッチ>判定にパターンのみ使用可>判定に副作用無し Scalaのクラスフィールドは暗黙のゲッタ・セッタ呼び出し> ゲッタ・セッタの明示定義でもフィールド名のみで呼び出し> 意図せざる副作用はそれらで相殺可
393 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 19:56:33 ] OCamlだとパターンマッチ使って、 let (x,y) = mouse_point in printf "%dだお, %dだお" x y とかできるけど、scalaだとどんななんだろ。
394 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 20:01:40 ] scala> val (a, b) = (1, 2) a: Int = 1 b: Int = 2 こんなのなら動くよ
395 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 00:39:39 ] Tuple以外でも使えるけど、なんか違和感があるな case class TypeA(val a:Int,val b:Int) val TypeA(a,b)=TypeA(10,20) println(a) println(b)
396 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 01:48:47 ] >>395 違和感あるってのは単にパターンマッチ自体に慣れていないという 事じゃないかなあ。Scalaに限らず、SML,OCaml,Haskellなどでも同様の 事はできるわけだし
397 名前:デフォルトの名無しさん [2008/06/16(月) 02:36:04 ] ちなみに1行目caseつけるならvalは要らない。
398 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 03:02:29 ] case関係なくval要らなくね?
399 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 10:28:28 ] >>398 いや、要るでしょ。case classにしなきゃパターンマッチの 対象にできない。もちろん、別途unapply定義したobjectを 定義すれば別だけど
400 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 10:50:05 ] あ、ごめん、意図を取り違えていた。case classじゃなきゃ、そもそも valのあるなしに関わらずパターンマッチできないわけで、確かに 必要ないわな。
401 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 11:37:31 ] 細かいことだが、unapplySeqでもおk val s = "([0-9]*)(.*)".r val s(x,y) = "123いちにさん" println(x) // 123 println(y) // いちにさん
402 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 20:00:45 ] case classでは暗黙にvalだが、case以外でもvalやvarで コンストラクタ引数もメンバ化できるのだだだだだだ
403 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 03:44:07 ] Javaでは String.class のように書くと、対象のクラスのインスタンスを作成せずに Class型のオブジェクトを取得することができますが、 scalaで同様のことをするにはどのように書けばよいのでしょうか?
404 名前:デフォルトの名無しさん [2008/06/18(水) 04:35:06 ] つ type
405 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 05:15:02 ] つ classOf[String]
406 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 06:13:01 ] >>405 ありがとうございます。探していたのは正にこれでした。 >>404 type a = b で型の別名が作れるんですね。 今回探していたものとは違いましたが、参考になりました。
407 名前:デフォルトの名無しさん mailto:sage [2008/06/19(木) 12:55:22 ] def getFunc(fun:Option[String => _ <: AnyRef]) = { fun match { case None => null case Some(f) => (i:String) => f(i).notify() } } 上記のコードをコンパイルすると notify() の部分でエラーになりました。 fがStringを引数に取る関数であるというところまでは推論できているのに、 fの戻り値がAnyRefを継承した型である事を推論できないのはなぜなのでしょうか?
408 名前:デフォルトの名無しさん mailto:sage [2008/06/19(木) 16:08:45 ] Existential Type周りの推論の仕組みは正直よくわかっていないので 確定的な事は言えないのですが、推論できていないというより、どうもバグな気がします たとえば、上記のコードを def getFunc(fun:Option[String => _ <: AnyRef]) = { fun match { case None => null case Some(f) => (i:String) => val a: AnyRef = f(i); a.notify() } } とすると、コンパイルが通ることから、少なくともf(i)の返り値が AnyRefのサブタイプであることは(コンパイラによって)認識されている ように見えます。色々試してみたところ、以下のようなコードの場合 val fun: Option[String => _ <: AnyRef] = Some((s: String) => s) val Some(f) = fun コンパイラが error: fatal error: bad type: ?(class scala.tools.nsc.symtab.Types$WildcardType$) というメッセージを吐いて落ちるようです。この辺の事から推測すると、 Existential Typeとパターンマッチを組み合わせたときのバグのような気がしますが、 本当のところはわからないので、本家ScalaのMLで聞いてみるのが良い気がします
409 名前:デフォルトの名無しさん mailto:sage [2008/06/19(木) 16:10:42 ] 回避策ですが、Function Typeは、返り値についてcovariant annotationが付加されているので、わざわざExistential Typeを使わずに、単純に def getFunc(fun:Option[String => AnyRef]) = { fun match { case None => null case Some(f) => (i:String) => f(i).notify() } } とすれば良いです。これで、ちゃんと getFunc(Some((s: String) => s)) などのコードをコンパイルできます
410 名前:デフォルトの名無しさん mailto:sage [2008/06/19(木) 23:16:10 ] >>408-409 いろいろと試して頂き、ありがとうございました。 Existential Typeを使わないようにすることで、無事、動くようになりました。 英語は苦手なのですが、 そのうち、本家ScalaのMLでの質問にも挑戦してみようと思います。
411 名前:デフォルトの名無しさん [2008/07/09(水) 08:47:29 ] ScalaのEclipsePluginは、Eclipseのどのバージョンで動きますか?
412 名前:デフォルトの名無しさん mailto:sage [2008/07/09(水) 23:33:30 ] ttp://www.scala-lang.org/tools/eclipse/index.html
413 名前:デフォルトの名無しさん mailto:sage [2008/07/31(木) 19:30:46 ] プログラミングしりとり game14.2ch.net/test/read.cgi/575/1010948472/l50
414 名前:デフォルトの名無しさん [2008/08/21(木) 01:19:30 ] Webサイトが変わった
415 名前:デフォルトの名無しさん mailto:sage [2008/08/21(木) 09:21:03 ] Renewal ですな NetBeans 用プラグインも追加されてる > ヘルプも含めて IDE 本体のオール 日本語化は NetBeans の方がダンゼン速いので日本人にとっては良い知ら せか ただし 6.5 以上だけど (現在日本語はまだ GUI のみか日本語開発版のみ)
416 名前:デフォルトの名無しさん [2008/08/22(金) 02:27:02 ] Scala本5月には出版っていってたのにまだプレプリントか。
417 名前:デフォルトの名無しさん mailto:sage [2008/08/22(金) 14:10:17 ] Scala本待てない人は、単なる個条的抜き書き程度のしろものですが それまではこちらをどーぞ ttp://www.h7.dion.ne.jp/%7Esamwyn/Scala/scalaindex.htm
418 名前:デフォルトの名無しさん mailto:sage [2008/08/22(金) 15:00:49 ] うはw こういうのうれしい。 英語のリファレンス読むのメンドくさくて、いまいちちゃんと理解できてなかったんで、 すげーうれしい。
419 名前:デフォルトの名無しさん mailto:sage [2008/08/22(金) 21:31:43 ] >>417 これ、ただの機械翻訳じゃないの?
420 名前:デフォルトの名無しさん [2008/08/22(金) 21:51:13 ] >>416 www.artima.com/shop/programming_in_scala そろそろ出るんじゃないの?
421 名前:デフォルトの名無しさん mailto:sage [2008/08/22(金) 21:51:42 ] 機械翻訳はこういう文章を吐かないと思う なんていうか、プログラマというよりは人文系の方が書いたような文章
422 名前:417 mailto:sage [2008/08/22(金) 23:32:47 ] プログラマ向け、でなくJavaとJavaScriptならわかる、という人を想定したら こんな文章に。 Scalaは、そんな人たちの(関数型言語)入門学習用に向く言語仕様である ように思われたので。 (つーか私自身にとっても最新の関数型言語の入門学習目的で言語仕様 原文から外せない部分を抜き出す形でまとめました(直訳はおろか意訳で すらねぃです、でも原文読む参考程度にはなるはず)。ちなみにコンカレント 云々はまだわからない程度のレベルな私)
423 名前:417 mailto:sage [2008/08/22(金) 23:37:07 ] あーあといちばん最初に訳した言語仕様要約は直すべき部分が最多ですが 今はいろいろあって直すヒマがないのであしからず(私自身によるコメント部分 に集中してるので、そこの変なのは無視してくだされ。要約でない解説諸ペー ジの方のが正しいです)。
424 名前:デフォルトの名無しさん mailto:sage [2008/08/22(金) 23:42:12 ] >If you purchase just the PDF eBook for $27.50, you will be entitled to receive periodic updates as the authors >complete the book, as well as the final PDF when the book is finished, for no additional charge. If you purchase PDF >+ Paper Book combo for $59.99, you will be entitled to the PDF eBook updates, and we'll ship you the paper book >when it is published, on or around August 30, 2008. (Once the book has been printed, you'll be able to purchase just >the paper book here for $49.99.) すいません。これ訳してください。
425 名前:デフォルトの名無しさん mailto:sage [2008/08/22(金) 23:55:28 ] こんな感じか? $27.50でPDF買ったら、本が完成するまで 追加料金なしでPDFのアップデート受けられるよ。 $59.99でPDFと紙の本買ったら、PDFのアップデートできるし、 10月30日くらいに出版されたら紙の本も送るよ。 出版後は$49.99で紙の本買えるよ。
426 名前:デフォルトの名無しさん mailto:sage [2008/08/22(金) 23:57:21 ] August 30 8月30日、ですね
427 名前:デフォルトの名無しさん mailto:sage [2008/08/23(土) 00:05:59 ] >>425-426 ありがとうございます! もうすぐ発売日じゃないですか!
428 名前:デフォルトの名無しさん mailto:sage [2008/08/23(土) 15:41:22 ] >>417 ひさびさに電波ぽい文章を見た
429 名前:デフォルトの名無しさん [2008/08/23(土) 16:48:38 ] >>428 だなw 頑張ってくれたのに悪いが、行間びっちりな上にろくに段落を区切ってないから、 文章ではなくなんかの模様に見えてしまう。そんなだから最初の一文すら読む気が起きない。
430 名前:デフォルトの名無しさん mailto:sage [2008/08/23(土) 17:34:52 ] >417 むむむ……典型的な『頭の良い人が書いた難しい文章』だな。 ・文が長すぎ/意味詰め込みすぎ ・読者に必要な前提知識が多過ぎ ・話が発散しすぎ ということでおいらもムリ。 自分も素人なんであんまり偉そうなことは言えないけど、 ・一文の意味/意図が一つになるように文を解体する。 - ()の解説は多用しない。注釈で飛ばした方が良い。 - 直前の文までに出てきた言葉だけで文章を組む。新規の言葉は解説する。 ・段落の基本構造(序破急)を意識して文章を構築する ・文章の基本構造(起承転結)を意識して段落や章を構成する あたりだけでも注意すればずいぶん違うんじゃない?
431 名前:417 mailto:sage [2008/08/23(土) 20:41:20 ] いちばん最初のページの水平線から下は「言語哲学的意味論」なのでいわゆる リファレンスとしては読む必要はまったくないです (つまり、この水平線は、ここから 下は「Scalaという言語に対する(個人的)注解」である、という意味です) 水平線から上の部分にザッと目を通したあとはそのまま「1階受付」へとお進みく ださい (そこからはいくらかでもマシになってるかと)
432 名前:417 mailto:sage [2008/08/23(土) 20:47:00 ] あと行間は、私は逆に空いてると読みづらい方なので、直すかどうかは微妙です Firefoxなら「スタイルシートを利用しない」すればほんの少しだけ行間が空いて字 ももう少しだけ大きくなるよーですが ...
433 名前:デフォルトの名無しさん mailto:sage [2008/08/23(土) 21:11:55 ] 行間以前の問題だろ>読みづらさ
434 名前:デフォルトの名無しさん mailto:sage [2008/08/23(土) 21:27:38 ] >>417 論文ではなく、仕様書を書くようになればみんなの気持ちが分かるようになるよ。
435 名前:デフォルトの名無しさん mailto:sage [2008/08/23(土) 21:47:37 ] >>430 頭がよいのとおかしいのと狭間くらいだと思う
436 名前:デフォルトの名無しさん mailto:sage [2008/08/23(土) 21:59:18 ] これで難しいって、どれだけ土方なんだよ。 スタイルシートは変更したけど。
437 名前:417 mailto:sage [2008/08/23(土) 21:59:54 ] 読みづらさについては申し訳ないですが、いずれこのScalaページは6月頃に 書いたもので (必要な人はググって自力で見つけるだろうと思いこちらでとく には宣伝しませんでした; まだいろいろと不完全であるためもありますが)、今 はほかにやるべきことができてしまって当分私自身による修正は無理っす ぬか喜びさせてしまって申し訳なひ、おのおの方
438 名前:デフォルトの名無しさん mailto:sage [2008/08/24(日) 00:56:07 ] スタイルは俺も無効にしたw これぐらい特殊な文体でもいいんじゃないかな。もちろんわかりやすいほうがいいが、 クセがあって読みにくいぐらいの文章でも、Scalaの雰囲気としてはあってるような気がする。
439 名前:デフォルトの名無しさん mailto:sage [2008/08/24(日) 06:34:46 ] >>430 序破急! うーーーーん。
440 名前:デフォルトの名無しさん mailto:sage [2008/08/24(日) 10:14:48 ] 序破急 > 導入・展開・参考 起承転結 > 理由・これまでの過程・話者の新しい意見・新旧の比較 とゆーことではないかな? ちなみに序破急は能の作劇論、起承転結は漢詩の構成論が由来
441 名前:not 439 mailto:sage [2008/08/24(日) 10:33:48 ] 技術文書の段落に序破急はおかしいだろw >>440 の頓珍漢さに苦笑
442 名前:430 mailto:sage [2008/08/24(日) 12:35:13 ] >441 じゃあ導入->展開->結び で良いや。 さすがに段落ごとに全部この構成にするのはムリがあるけど、意識しないで 破綻するよりはマシですな。 >440 起承転結は序章の話になりますな。 各階の説明は概要->詳細の二段構成でも十分かな。 活用例は>440みたいな感じだけど、起の部分は『文章の全体像・説明範囲を規定する』という内容になるかと。 読者にまず「この文章は何について言及するのか?」というスコープを提示するわけですな。 ちなみに、序破急は能じゃなくて雅楽から来た言葉らしいよ(Wikipedia)
443 名前:デフォルトの名無しさん mailto:sage [2008/08/24(日) 13:25:36 ] >>434 それは論文に対して失礼だw >>417 には悪いが、少なくとも、コンピュータサイエンス系の論文で>>417 くらい読みづらい 文章は見た覚えがないよ
444 名前:デフォルトの名無しさん mailto:sage [2008/08/24(日) 13:34:09 ] 417のサイトは他のページの方が電波ゆんゆんでいい感じだ
445 名前:デフォルトの名無しさん mailto:sage [2008/08/24(日) 15:15:12 ] Programming in Scalaって本当に8月30日くらいに発売されるの? アマゾンとかに全然来てないんだけど・・・
446 名前:デフォルトの名無しさん mailto:sage [2008/08/24(日) 15:47:49 ] 417は括弧部分をごっそり削ると、ちょっとだけ読みやすくなるぞ。 ちょっとだけ、だけどな。
447 名前:デフォルトの名無しさん [2008/08/24(日) 22:04:48 ] Amazonとかの普通の流通に乗るのかなあって気も。
448 名前:デフォルトの名無しさん mailto:sage [2008/08/25(月) 00:06:02 ] え!?そんな立ち位置なの・・・ Scalaのサイトでしか発売されないのかなあ・・・
449 名前:デフォルトの名無しさん mailto:sage [2008/08/25(月) 19:44:46 ] >>417 とか人によませるブログとか一度書いてみた方がいいと思うよ
450 名前:デフォルトの名無しさん mailto:sage [2008/08/25(月) 21:29:39 ] ところでProgramming in Scalaってどんな内容なの? PDF読んだ人いますか?
451 名前:デフォルトの名無しさん mailto:sage [2008/08/25(月) 22:45:57 ] pdf読める携帯買ったんで突っ込んでみたが、読みにくくて読んでないな
452 名前:デフォルトの名無しさん mailto:sage [2008/08/26(火) 08:18:39 ] >>450 > どんな内容なの? 読め
453 名前:デフォルトの名無しさん mailto:sage [2008/09/02(火) 12:51:20 ] Programming in Scalaって結局出版されたんですか?
454 名前:デフォルトの名無しさん mailto:sage [2008/09/02(火) 14:36:35 ] 日曜に本屋で見た。
455 名前:デフォルトの名無しさん mailto:sage [2008/09/02(火) 21:47:42 ] マジで? 日本の本屋?
456 名前: mailto:sage [2008/09/02(火) 22:14:25 ] うそだろ。ホームページ見たら when it is published, on or around September 30, 2008. ってなってた。また延期です。
457 名前:デフォルトの名無しさん mailto:sage [2008/09/07(日) 10:06:41 ] この言語、groovy, jython, jrubyなどに対する利点は?
458 名前:デフォルトの名無しさん mailto:sage [2008/09/07(日) 11:10:24 ] >>457 一つは速度
459 名前:デフォルトの名無しさん mailto:sage [2008/09/07(日) 12:02:40 ] おお、それは凄い! 残りの二つ目以下26項目も挙げてくだされ。
460 名前:デフォルトの名無しさん mailto:sage [2008/09/07(日) 12:04:16 ] jython > 本家にかなり遅れている jruby > 元来 Rails と Java の共用が目的で、それ以外にあえて使う理由がない groovy > Java 版 Rails のための言語だが失敗。Rails 利用者は Java を要せず、 Java 利用者は Rails を要せず scala > 関数型パラダイムを Java に持ち込むための言語で、上 3 つとの類似は あくまでその結果 (Python と Ruby が関数型パラダイムの影響を非常に 強く受けているため) つーわけで利点云々以前に、もともとの存在理由がまったく異なります
461 名前:デフォルトの名無しさん mailto:sage [2008/09/07(日) 12:40:59 ] え その逃げはないっしょ
462 名前:デフォルトの名無しさん mailto:sage [2008/09/07(日) 12:52:26 ] 都合の悪い展開になったから逃げ呼ばわりするという逃げは どうかと思います。
463 名前:デフォルトの名無しさん mailto:sage [2008/09/07(日) 13:04:26 ] は?俺に都合のいい展開って何?各言語信者の醜い貶しあい?
464 名前:デフォルトの名無しさん mailto:sage [2008/09/07(日) 14:11:14 ] 結局Scalaのアドバンテージは特に無い、という展開。
465 名前:デフォルトの名無しさん mailto:sage [2008/09/07(日) 14:45:10 ] Scalaの利点ねえ。 あえて挙げるならきちんとした型システムがあるとことかかな。
466 名前:デフォルトの名無しさん mailto:sage [2008/09/07(日) 15:21:49 ] >>464 Javaで書くより100倍楽だけど、性能はJavaと同等。 でもEclipseのScalaプラグインはもうちょっとがんばって欲しい。 今だとまだEmacsのscala-modeの方が使い易い。
467 名前:デフォルトの名無しさん [2008/09/08(月) 11:36:23 ] メッセージ駆動並行なコード書くのに JMSとJMXでMDBと、ScalaのActorどっちが楽? 俺は断然Actor派
468 名前:デフォルトの名無しさん mailto:sage [2008/09/08(月) 22:20:42 ] Erlang派
469 名前:デフォルトの名無しさん mailto:sage [2008/09/13(土) 08:13:33 ] プログラミングしりとり schiphol.2ch.net/test/read.cgi/575/1010948472/l50