1 名前:デフォルトの名無しさん mailto:sage [2009/12/26(土) 07:24:16 ] The Scala Programming Language ttp://www.scala-lang.org/ リンク集 ttp://sites.google.com/site/scalatohoku/%E5%8B%89%E5%BC%B7%E4%BC%9A%E8%B3%87%E6%96%99 前スレ プログラミング言語 Scala 2冊目 pc12.2ch.net/test/read.cgi/tech/1246289771/
596 名前:デフォルトの名無しさん mailto:sage [2010/05/08(土) 01:51:00 ] NetBeans売却されるからなぁ
597 名前:デフォルトの名無しさん [2010/05/08(土) 01:52:14 ] Eclipseはエディタのカラー替えるプラグインみたいなのなんでないの糞すぎ
598 名前:デフォルトの名無しさん mailto:sage [2010/05/08(土) 01:55:42 ] >>596 ほんとに?そんな話初めて聞いたけど…
599 名前:デフォルトの名無しさん mailto:sage [2010/05/08(土) 02:05:04 ] >>597 とりあえずMoeclipseでググるといいと思うよ。
600 名前:デフォルトの名無しさん mailto:sage [2010/05/08(土) 06:58:23 ] やっぱEclipseが本命か
601 名前:デフォルトの名無しさん mailto:sage [2010/05/08(土) 08:56:10 ] Java, JavaVM, EclipseもMSに潰されるから無問題
602 名前:デフォルトの名無しさん mailto:sage [2010/05/08(土) 11:06:54 ] Summer of CodeにEmacsの開発環境のプロジェクトがあったから期待している
603 名前:デフォルトの名無しさん mailto:sage [2010/05/08(土) 11:38:37 ] traitがclassに対してextendsする場合はそのクラスもしくはサブクラスに対してのみmixinできるという制約で traitに対してextendsする場合はそのtraitを継承するっていう理解でいいですか
604 名前:デフォルトの名無しさん mailto:sage [2010/05/08(土) 13:08:17 ] ◆ueEP8Ean2lqc氏とmatzがやりあってるぞ! と野次馬的に。
605 名前: ◆ueEP8Ean2lqc mailto:sage [2010/05/08(土) 13:55:12 ] >>604 まあ別に見られても構わないんですけど、自分的には別に喧嘩してるつもりはなくて 普通に論争してるだけのつもりなんで。念のため。 # 正直、今回の自分の論については、ショボい例以外で良いのを # 思いつかないのは事実なので、主張としては弱いよなーとか思ってたり。
606 名前:デフォルトの名無しさん mailto:sage [2010/05/08(土) 13:57:47 ] RubyダサいはJavaプログラマの総意だから問題ないよ
607 名前:デフォルトの名無しさん mailto:sage [2010/05/08(土) 15:11:01 ] センス論争は難しいなぁ。 生産性、と言い換えてもいいんだが、これも恣意的に使える言葉だし。
608 名前:デフォルトの名無しさん mailto:sage [2010/05/08(土) 15:20:47 ] JavaからRubyへって本読んだけど過去最高のトンデモ本だったわ
609 名前:デフォルトの名無しさん mailto:sage [2010/05/08(土) 15:28:30 ] Rubyダサいってどんなところ? Scalaと比較して? あのmatzと論争してんのか、すげーなw
610 名前:デフォルトの名無しさん mailto:sage [2010/05/08(土) 15:34:47 ] PerlやPHPやJavaをdisることでしか存在意義を見いだせない言語だから仕方ない
611 名前:デフォルトの名無しさん mailto:sage [2010/05/08(土) 15:36:00 ] あのクソ宗教本のせいでRuby使わされてウンザリしたよ
612 名前:デフォルトの名無しさん mailto:sage [2010/05/08(土) 15:38:21 ] Pythonへの不満はインデントのセンスがないことくらいだけど Rubyはありすぎて書ききれない
613 名前:デフォルトの名無しさん mailto:sage [2010/05/08(土) 15:56:56 ] とりあえずコップ本の次はRuby勉強してみるか。 dev.ariel-networks.com/articles/workshop/ruby/
614 名前:デフォルトの名無しさん mailto:sage [2010/05/08(土) 15:58:35 ] 2002年くらいにJavaやPerlの代替探しててRuby勉強しててこりゃ駄目だと思ったけど まさかRoRが出てきてあの言語が流行るとは思わなかったわ
615 名前:デフォルトの名無しさん mailto:sage [2010/05/08(土) 16:04:05 ] DSLが作りやすいあたりとかは共通点なんじゃないかね、よく知らんけど。
616 名前:デフォルトの名無しさん mailto:sage [2010/05/08(土) 16:08:37 ] Railsやらされてすげー苦痛だった。Rubyしかできない連中とは仕事したくない。 型チェックがないととんでもないアホな単純ミスを見逃したりする。しかもテストは 数が多いがコンパイルチェック以下みたいなレベルのばっかりだったりとか。 Scalaには本当にがんばってほしい。流行すれば同じような境遇の人には福音となるはず。
617 名前:デフォルトの名無しさん mailto:sage [2010/05/08(土) 16:12:01 ] バグが出来るのは作る奴の問題で言語のせいではないと思うぜ
618 名前:デフォルトの名無しさん mailto:sage [2010/05/08(土) 16:14:15 ] タイプミスしても実行するまで検出できないとかは言語のせいだと思うね。
619 名前:デフォルトの名無しさん mailto:sage [2010/05/08(土) 16:15:20 ] >>617 もちろんその通りだが、うみやすい言語とそうじゃない言語はあると思う って昔matzがPHPをdisってる時に言ってました
620 名前:デフォルトの名無しさん mailto:sage [2010/05/08(土) 16:19:04 ] >>618 CでもJavaでも意識してタイプセーフにしないとどっちにしろ意味ないけど もちろんScalaも
621 名前:デフォルトの名無しさん mailto:sage [2010/05/08(土) 16:20:10 ] PHPとRubyは同じようなもんだと思うんだが というかむしろRubyの方が生みやすい気もする
622 名前:デフォルトの名無しさん mailto:sage [2010/05/08(土) 16:24:43 ] >>621 あ、一応補足しとくと>>619 でmatzが言った時は「PHPはセキュリティ的に問題のあるコードを生みやすい」って意味で使ってたから、バグとは厳密には違う まぁ「書く人次第」という主張に対する反論としては大差ないけどね
623 名前:デフォルトの名無しさん mailto:sage [2010/05/08(土) 16:27:22 ] セキュリティ的に問題のあるコードを生みやすいってのがまず意味が解らんけどな PHPで問題出す奴はJSPで書いてもeRubyで書いても同じ事するだろ
624 名前:デフォルトの名無しさん mailto:sage [2010/05/08(土) 16:29:48 ] プログラマの間口が広いか狭いかだけの問題だと思うな Rubyは今まで初心者がいきなり使うことがなかったからセキュリティ問題が発生しづらかっただけで 初心者をガンガン受け入れてきたPHPとはプログラマの質が違うんだから 言語仕様よりコミュニティの方針で絞っただけに過ぎないと思う
625 名前:デフォルトの名無しさん mailto:sage [2010/05/08(土) 17:34:01 ] 自治体なんかでRubyに補助金とか出しているところがあるけどなんの意味があるんだろう Scalaの方が遥かに優れているし、競争力もあがるのに
626 名前:デフォルトの名無しさん mailto:sage [2010/05/08(土) 17:39:29 ] とりあえず他言語disってるだけのやつは全員消えてくれ。
627 名前:デフォルトの名無しさん mailto:sage [2010/05/08(土) 17:40:18 ] >>625 某自治体の職員曰く、国産言語だから 金出すって言ってたなぁ。それ以上よくわからないし 聞かれても、書類のとおりとしか言えないってさ そんなんだから何時までたっても バカITが続くのだろうなぁ
628 名前:デフォルトの名無しさん mailto:sage [2010/05/08(土) 17:52:44 ] クズどもはこっちでやれ pc12.2ch.net/test/read.cgi/tech/1249737531/l50
629 名前:デフォルトの名無しさん mailto:sage [2010/05/08(土) 18:37:07 ] なでしこひまわりの方がマシだな
630 名前:デフォルトの名無しさん mailto:sage [2010/05/08(土) 19:07:32 ] SS本の冒頭にちょうど JavaからRubyへ...そしてScalaへ... っていう節があるね。
631 名前:デフォルトの名無しさん mailto:sage [2010/05/08(土) 19:12:28 ] 適用領域が違うだけだと思うなぁ。 Scalaの立ち位置は「ライトウェイトJava」でしょ。
632 名前:デフォルトの名無しさん mailto:sage [2010/05/08(土) 19:12:45 ] Liftの作者は、そういうノリでしょ? 長いことrails使ってたけど、ありゃやっぱ言語が駄目だわって動機でLift開発に至ると。
633 名前:デフォルトの名無しさん mailto:sage [2010/05/08(土) 19:13:42 ] twitterがscalaに移行しているみたいなこと言ってたけど どの程度移行したんだろう
634 名前:デフォルトの名無しさん mailto:sage [2010/05/08(土) 19:21:44 ] >>632 そういうことってどこに書いてあるさ? >>633 バックエンドを全部。フロントエンドは今もRails
635 名前:デフォルトの名無しさん mailto:sage [2010/05/08(土) 19:21:58 ] >>633 100%書き直し
636 名前:デフォルトの名無しさん mailto:sage [2010/05/08(土) 19:33:58 ] 煽りたいだけの奴がいるな。。
637 名前:デフォルトの名無しさん mailto:sage [2010/05/08(土) 19:37:09 ] >634 本人のblogやインタビュー記事。 本(Beginning Scala)にも書いてたかな。
638 名前:デフォルトの名無しさん mailto:sage [2010/05/08(土) 19:37:59 ] ム板はしょうもないやつが多すぎるからな
639 名前:デフォルトの名無しさん mailto:sage [2010/05/08(土) 21:11:57 ] Scalaスケーラブルプログラミングって本ってどうなの?
640 名前:デフォルトの名無しさん mailto:sage [2010/05/08(土) 21:16:15 ] >>639 上のほうのコップ本でしょ?
641 名前:デフォルトの名無しさん mailto:sage [2010/05/08(土) 21:19:10 ] コップ本は大体理解したんだけど、その後でSS本って読む意味ある?
642 名前:デフォルトの名無しさん [2010/05/08(土) 21:40:12 ] rails経験者でscala/liftに興味持ってるんですが、 liftってubuntuの上にインストールすることってできないんでしょうか?? 色々調べてもWindowsにインストールしてる記事しか見つけられませんでした。 もしかしてLiftってEclipseと一緒に使うものなんでしょうか? 教えていただけると幸いです。
643 名前:デフォルトの名無しさん mailto:sage [2010/05/08(土) 21:43:22 ] 特にないんじゃないかな。 コップ本が難しかったら、SS本に手を出す価値はあると思う。 SS本は名前の通り入門本なので、入門レベルを乗り越えたら不要になるタイプの本。
644 名前:デフォルトの名無しさん mailto:sage [2010/05/08(土) 21:45:20 ] >>642 liftはmavenから使うのが普通だと思うけど
645 名前:デフォルトの名無しさん mailto:sage [2010/05/08(土) 21:46:42 ] >>643 なるほど、ありがとう
646 名前:642 [2010/05/08(土) 22:01:28 ] >>644 レスありがとうございます。 すいません、自分JavaやったことなくてMavenもよくわかってないのですが、gitみたいなもんですかね? ずっとLAMP環境でやってきましたので、ターミナルでvimとか使ってプログラミングするのに慣れてるんですが、 scala/liftではあまりそういうことができない感じなのでしょうか?Windowsで開発している情報ばかり見るもので・・ ちなみにEclipseはC++の開発で使ったことがあるぐらいです。
647 名前:デフォルトの名無しさん mailto:sage [2010/05/08(土) 22:02:29 ] 下手な煽りがまざってるな、だから2chはだめなんだよ
648 名前:デフォルトの名無しさん mailto:sage [2010/05/08(土) 22:10:21 ] >>646 gitはバージョン管理。 Mavenはごちゃ混ぜになっちゃったけど元はライブラリ管理のものだったはず
649 名前:デフォルトの名無しさん mailto:sage [2010/05/08(土) 22:15:46 ] >>646 Railsやってたのなら、Mavenは rake + rubygems みたいなものと思えばいいんじゃないかと。
650 名前:デフォルトの名無しさん mailto:sage [2010/05/08(土) 22:54:42 ] >>646 むしろ Ubuntu/Linux のほうが Windows より簡単にできるよ ターミナルでやるのに慣れてるならなおさら
651 名前:デフォルトの名無しさん mailto:sage [2010/05/08(土) 23:09:13 ] matzと論争してる人、まだ続いてるのか?w 誰かログ残ってる人トゥギャっておいてくれよ
652 名前:デフォルトの名無しさん mailto:sage [2010/05/08(土) 23:29:10 ] 読んでみようと思ったけど、長すぎて断念w IDEも含めれば静的型付けの恩恵はわかりやすいんだけどね パターンマッチを別の問題にしてるのは紳士的だねw 俺なら真っ先に言いたくなるけど
653 名前:デフォルトの名無しさん mailto:sage [2010/05/08(土) 23:50:49 ] 動的型は二酸化炭素をより多く排出するから滅ぶべき
654 名前:デフォルトの名無しさん [2010/05/08(土) 23:52:57 ] IDEを使いこなした経験が無いと静的型言語の恩恵ってあんまりないからなぁ。
655 名前:デフォルトの名無しさん [2010/05/08(土) 23:53:26 ] 動的言語と静的言語のメリットデメリットについてハイレベルな擬論を展開しているようだが、難易度高すぎてサッパリついていけないwww まとめた上で誰か解説たのむw 最近Scalaの注目度高いからやればホットエントリー入り間違いないぞ!!
656 名前:デフォルトの名無しさん mailto:sage [2010/05/08(土) 23:56:40 ] 静的型言語で一般的なレンタル鯖でCGI作れて開発環境や汎用ライブラリも揃ってるとなるとやっぱCしかない?
657 名前:デフォルトの名無しさん mailto:sage [2010/05/08(土) 23:59:34 ] なぜここでその質問w ここのスレ的にはGAE/JをScalaでやるにきまってる
658 名前:デフォルトの名無しさん mailto:sage [2010/05/09(日) 00:01:41 ] いやその分野に食い込めたらRubyやPythonの上行けるよなーって思ったんで
659 名前:デフォルトの名無しさん mailto:sage [2010/05/09(日) 00:37:00 ] たしかに言語がいかによくても気軽に使える環境がないと厳しいな そういう意味じゃPHP/Perlにはもちろん、まだまだRuby, Pythonにも遠く及ばないか
660 名前:デフォルトの名無しさん mailto:sage [2010/05/09(日) 00:40:08 ] Javaなんてかなり古参なのにデフォで使えるようになってないレン鯖が多いのはなんで?
661 名前:デフォルトの名無しさん mailto:sage [2010/05/09(日) 00:42:48 ] >>660 鯖屋のスキル不足
662 名前:デフォルトの名無しさん mailto:sage [2010/05/09(日) 01:03:51 ] 結局Servletありきだからリソース的にもVPSクラスじゃないとまともに使えない (というかVPSでも512MBくらいないとまともに使えない)からじゃないかなぁ CGI的に使うならもっとメモリ少なくても余裕なんだけどねぇ mod_javaの開発が止まったのが悔やまれる 非ServletだとJDK入ってるのは海外のレン鯖でもDreamHostとか一部だけだな
663 名前:デフォルトの名無しさん [2010/05/09(日) 01:16:05 ] Rails3への移行に疲れた・・・ どうせ作り直しならScalaに乗り換えようかな
664 名前:デフォルトの名無しさん mailto:sage [2010/05/09(日) 01:20:44 ] 仕様が固まらんとD言語やPython3みたいな悲劇起きそうだからまだ流石にScalaに移行はできんな メジャーバージョンアップがあってもPHP4→5くらいの修正で済むようにならんと厳しいなやっぱ
665 名前:デフォルトの名無しさん mailto:sage [2010/05/09(日) 01:21:31 ] Parrotっていつ完成するんだろうね。 あれが出来てれば、Scalaもそっちで作られてたかもしれんし。
666 名前:デフォルトの名無しさん [2010/05/09(日) 01:27:14 ] >>664 でも割としっかりしてるからtwitterとかforsquareみたいな大きいとこが採用したんじゃないの?
667 名前:デフォルトの名無しさん mailto:sage [2010/05/09(日) 01:29:09 ] しっかりしてなかったRuby採用したのがtwitterだからな…
668 名前:デフォルトの名無しさん mailto:sage [2010/05/09(日) 01:29:49 ] 大きいところは自分でメンテやるんじゃね? Yahoo!JapanなんてFreeBSDやMySQLですら独自に作り替えちゃってるし
669 名前:デフォルトの名無しさん mailto:sage [2010/05/09(日) 01:50:48 ] Scalaのクラスライブラリは、IO系が手抜きなのが意外。 普通、新しい言語のライブラリって、IO系から固めないか?
670 名前:デフォルトの名無しさん mailto:sage [2010/05/09(日) 01:57:48 ] 関数型言語はそうじゃないよ
671 名前:642 [2010/05/09(日) 02:03:55 ] レスありがとうございます。 とりあえずubuntuにscala/maven入れてhelloWorldのところまではいけました。 これから色々いじってこうと思ってるんですが、ちなみにliftはRailsみたいにRestを意識した感じではないのですかね? 「lift restful」な感じでググってもあまり出てこなかったので。
672 名前:デフォルトの名無しさん mailto:sage [2010/05/09(日) 02:13:29 ] >>669 Javaのライブラリで事足りたからじゃね?
673 名前:デフォルトの名無しさん mailto:sage [2010/05/09(日) 03:06:27 ] scala.io.Sourceとかってコンパイラ用だからあんま使わないでくれ って話無かったっけ?もうOKなのかな?
674 名前: ◆ueEP8Ean2lqc mailto:sage [2010/05/09(日) 03:19:59 ] >>669 コレクションライブラリを一番優先してる、という印象を受けるね。Scalaの場合。 2.8のコレクションライブラリなんか、良くも悪くも特異な設計になってるし。
675 名前:デフォルトの名無しさん mailto:sage [2010/05/09(日) 05:02:59 ] scala-mode.elつかってみたんやけど、 def hoge { val foo = if (boolValue) (x, y) else (x, y) ここ と、末尾が)で終わる式(?)の次行が強制でインデント(「ここ」の位置にくる) されてまう気がするけど、なんとかならないもんかな?
676 名前:デフォルトの名無しさん mailto:sage [2010/05/09(日) 09:04:01 ] 自分で直せば?
677 名前:デフォルトの名無しさん mailto:sage [2010/05/09(日) 09:07:32 ] ScalaのIOは腐ってるから 使えない。だから流行らないんだよ
678 名前:デフォルトの名無しさん [2010/05/09(日) 13:49:16 ] >>とりあえずubuntuにscala/maven入れてhelloWorldのところまではいけました。 教えてくだしあ>< そこまでいけない・・
679 名前:デフォルトの名無しさん mailto:sage [2010/05/09(日) 19:58:59 ] にょろ演算子って タプル作る演算子なんですか?
680 名前: ◆ueEP8Ean2lqc mailto:sage [2010/05/09(日) 20:15:47 ] >>679 たぶんパーザコンビネータの~演算子のことだと思うけど、ちょっと違う ~演算子は、「パーズ結果として~[T, U]を返すパーザ」であるParser[~[T, U]]型のオブジェクトを 返す(Tはレシーバの型で、Uが引数の型ね) ~[T, U]はタプルとは別の型だけど、意味的には(T, U)と似たようなものだと思って間違いない
681 名前:デフォルトの名無しさん mailto:sage [2010/05/09(日) 20:28:36 ] >>680 Parser[~[T, U]]というのは 例えば、a ~ b ~ cって返すと入れ子 になるってことですかね?
682 名前: ◆ueEP8Ean2lqc mailto:sage [2010/05/09(日) 21:05:34 ] >>681 そういうこと。 aがParser[A],bがParser[B],cがParser[C]だったら、a ~ b ~ cの型は Parser[~[~[A, B], C]になる。パーズ結果の値を加工したいときは、 a ~ b ~ c ^^ { case va ~ vb ~ vc => .... } みたいにパターンマッチで取り出せる ちなみに、タプルでなくわざわざ~というデータ型を定義したのは、パターンマッチ でパターンがネストしたときの利便性と、~演算子と同じ記号使いたかったから じゃないかと思う。
683 名前:デフォルトの名無しさん [2010/05/09(日) 23:15:40 ] >>678 d.hatena.ne.jp/hkweb/20100508
684 名前:デフォルトの名無しさん mailto:sage [2010/05/10(月) 00:14:07 ] 新しいscala本はいまいち コップ本があればいらないかな
685 名前:デフォルトの名無しさん mailto:sage [2010/05/10(月) 00:35:49 ] SSいらんみたいな自称玄人の自慢話はもういいから
686 名前:デフォルトの名無しさん mailto:sage [2010/05/10(月) 00:37:21 ] SSサイコー
687 名前:デフォルトの名無しさん mailto:sage [2010/05/10(月) 00:43:52 ] レベルや対象が違うにせよコップ本とSS本の2つは良書で間違いなさそうだけど、他の和書は話にならないレベル? あとこれから出るので期待できそうなのとかあるのかな
688 名前:デフォルトの名無しさん mailto:sage [2010/05/10(月) 00:53:37 ] SSは別に良書じゃないだろ
689 名前:デフォルトの名無しさん mailto:sage [2010/05/10(月) 01:30:42 ] 工学社の方は普通の入門書
690 名前:デフォルトの名無しさん mailto:sage [2010/05/10(月) 21:36:14 ] Scalaで、2つの変数に同時に代入するのってどうやるのだろう? Rubyだったら y0, y1 = x0+1 , x0*x1+2 って感じ。
691 名前:デフォルトの名無しさん mailto:sage [2010/05/10(月) 22:12:37 ] 2つ同時に代入したいなら、こんなんでいいけど、 val (a, b) = (1, 2) これってパターンマッチと同じ仕組みなので、 val Some(a) = Some(1) とかもできる
692 名前:デフォルトの名無しさん mailto:sage [2010/05/10(月) 22:15:47 ] >691 その書き方で正規表現やってるのを見たときは、ちょっと衝撃だった。
693 名前:デフォルトの名無しさん mailto:sage [2010/05/10(月) 22:20:28 ] そして、Extractorを自分で定義できるからね いい言語だよねw
694 名前:デフォルトの名無しさん mailto:sage [2010/05/10(月) 22:23:43 ] >>691 下の例がよくわからない 生成されたSomeオブジェクトにSomeオブジェクトを突っ込んでるように見えるけど… どなたか素人にもわかるように説明してもらえませんか
695 名前:デフォルトの名無しさん mailto:sage [2010/05/10(月) 22:28:08 ] 左のSomeはコンストラクターパターンと言って、パターンマッチの一種なんだよね 詳しくはScalaのパターンマッチについて調べるといいよ
696 名前:デフォルトの名無しさん mailto:sage [2010/05/10(月) 22:41:46 ] >>695 詳しく説明もできない 知ったかは消えろよw
697 名前:デフォルトの名無しさん mailto:sage [2010/05/10(月) 22:47:08 ] はあ、またか 2chって頭がおかしいやつばっかだな
698 名前:デフォルトの名無しさん mailto:sage [2010/05/10(月) 22:53:54 ] RC2が出たみたいだけど、バグフィックスだけかな?
699 名前:デフォルトの名無しさん mailto:sage [2010/05/10(月) 22:59:33 ] >>698 本家でもバグてんこ盛りで使えないだろって 避難が凄いみたい
700 名前:デフォルトの名無しさん mailto:sage [2010/05/11(火) 01:06:53 ] どこにそんな情報が?
701 名前: ◆ueEP8Ean2lqc mailto:sage [2010/05/11(火) 01:16:34 ] >>700 >>701 の言ってるのがRC2のことだとすると、確かにそんな情報は見当たらないので 変だけど(つか、RC2出たばかりだし)、たぶんRC1のことだと思う。RC1では、 specialization絡みでバグがあってLiftのテストケースが失敗するとか、specsの挙動 もなんかおかしいとかそういう話を見かけた覚えがある。RC2はその辺のバグを軒並み フィックスしたバージョンになってる(たぶん)。
702 名前: ◆ueEP8Ean2lqc mailto:sage [2010/05/11(火) 01:17:24 ] アンカーミス。>>701 じゃなくて>>699 ね。
703 名前:デフォルトの名無しさん mailto:sage [2010/05/11(火) 16:43:15 ] IteratorのflatMapはIteratorを受け取るんだなTraversableOnce受け取って欲しいわ TraversableのflatMapも
704 名前:デフォルトの名無しさん [2010/05/11(火) 22:51:59 ] 知人がScala勧めてきた。理由はTwitterが使ってるから。 そんな理由で人に勧めるなんて・・・
705 名前:デフォルトの名無しさん mailto:sage [2010/05/11(火) 23:05:03 ] twitterがscalaを使い始めたのは成功した後 それまではruby railsを使っていたんだから ruby railsを薦めるべき
706 名前:デフォルトの名無しさん mailto:sage [2010/05/11(火) 23:17:37 ] twitterくらいでかくなるまではRubyで十分だな
707 名前:デフォルトの名無しさん mailto:sage [2010/05/11(火) 23:18:09 ] java-jaの人らがこのスレを話題に出しててわろた
708 名前:デフォルトの名無しさん mailto:sage [2010/05/11(火) 23:23:52 ] java-jaってなんだよ
709 名前:デフォルトの名無しさん mailto:sage [2010/05/11(火) 23:52:13 ] SS本の帯にも書いてあるからねw 今、人に進めるのにこれ以上ない宣伝文句じゃね ところでScalaを学ぶ前に知っておくと特に役立つ言語って、Javaは確定として、残りはRubyとかHaskellあたりかな?
710 名前:704 mailto:sage [2010/05/11(火) 23:54:41 ] >>705 >>706 オレもRORについては言及したんだが、そいつもうSS本買っちゃって鼻息 荒いのなんのって・・・ んで、「オマエもやれ」って・・・ この友人には言ってないんだけど、オレプライベートではHaskellerなんだよね・・・
711 名前:デフォルトの名無しさん mailto:sage [2010/05/12(水) 00:03:03 ] あの、駄目な友人の愚痴を披露する場ではないんだけど
712 名前:デフォルトの名無しさん mailto:sage [2010/05/12(水) 00:06:44 ] ビルドツールってなにがお勧め?
713 名前:デフォルトの名無しさん mailto:sage [2010/05/12(水) 00:22:05 ] val xml = <aa>abcd<dd>eeee</dd></aa> であるときに自分の直系のテキストのみ("abcd"だけ)を取得したいんだけど xml \\ "aa" text では abcd<dd>eeee</dd> パターンマッチで xml match { case <aa>{abc}<dd>{dd}</dd></aa> => println(abc) } とタグを全て定義してやれば、取得は出来るんだけど この方法しか無いんでしょうか
714 名前:デフォルトの名無しさん mailto:sage [2010/05/12(水) 00:39:26 ] ビルドツールは、みんなsbtに移行してるのかな
715 名前:デフォルトの名無しさん [2010/05/12(水) 00:50:51 ] >>713 xml.child.filter(_.getClass == classOf[scala.xml.Text])
716 名前:デフォルトの名無しさん mailto:sage [2010/05/12(水) 01:06:27 ] isInstanceOfは使わないのかい?
717 名前:デフォルトの名無しさん mailto:sage [2010/05/12(水) 01:11:40 ] >< ムギュ・・その通り・・・ xml.child.filter(_.isInstanceOf[scala.xml.Text])
718 名前:デフォルトの名無しさん mailto:sage [2010/05/12(水) 01:30:46 ] isInstanceOfの所の角括弧の使い方が何だか奇妙に感じる。 文法的にはどうなってんだ、これ。
719 名前: ◆ueEP8Ean2lqc mailto:sage [2010/05/12(水) 02:07:39 ] >>718 文法的にはAny型に所属している普通のメソッド(単に型パラメータを取る=ジェネリックというだけ)。 内部的にはコンパイラが特別扱いしてinstanceof命令に変換してる
720 名前:デフォルトの名無しさん mailto:sage [2010/05/12(水) 02:19:12 ] あ、そうか。引数無しのメソッドなんだな。 しかし、 List(1).isInstanceOf[List[String]] が true になるのは、やはりダサいな。
721 名前:デフォルトの名無しさん mailto:sage [2010/05/12(水) 02:49:17 ] >>720 ダサい Java との相互運用性を考えれば仕方あるまい
722 名前:デフォルトの名無しさん mailto:sage [2010/05/12(水) 08:11:13 ] それはパターンマッチを使えというご託宣、ってコップ本がゆってた。
723 名前:デフォルトの名無しさん mailto:sage [2010/05/12(水) 18:26:05 ] 守備力age
724 名前:デフォルトの名無しさん mailto:sage [2010/05/12(水) 20:49:19 ] レンタルサーバーで気軽に使えるようにならないと普及はきつい。 エンタープライズはjavaのままだろうし。 schemeやgoなどがもいまいちなのは、サクラインターネット月1000円レベルでwebアプリがかけないから。 皆さんはどう思います?
725 名前:デフォルトの名無しさん mailto:sage [2010/05/12(水) 20:59:03 ] レンタルサーバの時代は終わり GAEやEC2なんかで使えれば無問題
726 名前:デフォルトの名無しさん mailto:sage [2010/05/12(水) 21:01:09 ] それレンタルサーバだから
727 名前:デフォルトの名無しさん mailto:sage [2010/05/12(水) 21:24:21 ] じゃあJava/Scalaもレンタルサーバで気軽に使えるから無問題
728 名前:デフォルトの名無しさん mailto:sage [2010/05/12(水) 21:29:43 ] PHPが普及した要因のひとつもそこだろうけど、GAEってタダだっけ? 値段やホスティングしてるとこの知名度は重要かもね
729 名前:デフォルトの名無しさん mailto:sage [2010/05/12(水) 22:15:55 ] GAEは不安定すぎて実験にしか使えん
730 名前:デフォルトの名無しさん mailto:sage [2010/05/12(水) 23:26:11 ] 月1000円鯖の代替なら十分
731 名前:デフォルトの名無しさん mailto:sage [2010/05/13(木) 09:32:04 ] App EngineでScaleって動くの? App Engineって完全なJVMじゃないから、無理かとおもってた。
732 名前:デフォルトの名無しさん mailto:sage [2010/05/13(木) 09:35:31 ] GAEが不安定だと思わない。 ec2は魅力的だが高くつきそうだね。
733 名前:デフォルトの名無しさん [2010/05/13(木) 09:51:54 ] キーボードからCのソース・プログラム名(fname.c)を入力し、そのプログラムの行番号付 テキスト・ファイルを、別名のファイル(fname.txt)で表示するプログラムを作成せよ。ただし、 ファイル名のfnameの部分は共通にせよ。
734 名前:デフォルトの名無しさん [2010/05/13(木) 09:52:53 ] キーボードからCのソース・プログラム名(fname.c)を入力し、そのプログラムの行番号付 テキスト・ファイルを、別名のファイル(fname.txt)で表示するプログラムを作成せよ。ただし、 ファイル名のfnameの部分は共通にせよ。 上を教えてください。 お願いします。
735 名前:デフォルトの名無しさん mailto:sage [2010/05/13(木) 10:06:30 ] なにそれ宿題?
736 名前:デフォルトの名無しさん mailto:sage [2010/05/13(木) 10:15:47 ] >>732 思う思わないの問題じゃないと思うけどな そこそこのサイトで実運用に耐えられなきゃ単なる技術者のオナニーだし
737 名前:デフォルトの名無しさん [2010/05/13(木) 10:37:00 ] >>735 宿題です。 まったく分からなくて困ってます。
738 名前:デフォルトの名無しさん mailto:sage [2010/05/13(木) 10:39:35 ] Scalaで宿題?スレ間違ってない?
739 名前:デフォルトの名無しさん [2010/05/13(木) 11:37:55 ] >>738 どこのスレにいけば教えてもらえますか?
740 名前:デフォルトの名無しさん mailto:sage [2010/05/13(木) 11:49:24 ] 本当にScalaの宿題ならこのスレでいいと思うけど そんなものを教える学校があったのかと驚いたもので 違うなら該当プログラミング言語のスレへどうぞ
741 名前:デフォルトの名無しさん [2010/05/13(木) 12:05:20 ] Cなので、そこへ行ってみます。
742 名前:デフォルトの名無しさん mailto:sage [2010/05/13(木) 12:09:49 ] わろす
743 名前:デフォルトの名無しさん mailto:sage [2010/05/13(木) 12:24:20 ] とくにageられてたわけでもないのに何でこのスレだったんだw
744 名前:デフォルトの名無しさん mailto:sage [2010/05/13(木) 13:20:08 ] >736 釣られちゃたのだが、不安定の根拠ってある? 思う思わないの話し?
745 名前:デフォルトの名無しさん mailto:sage [2010/05/13(木) 13:36:53 ] twitterで検索すると結構不安定言ってる奴いるな 全員工作員だろうけど
746 名前:デフォルトの名無しさん mailto:sage [2010/05/13(木) 13:48:11 ] >>745 たかだか道具の一つにそこまで思い入れ持つってのも凄い事だよな 今、Scalaとか弄ってる人間で選択肢を増やすって考え方以外は本物だと思うんだが
747 名前:デフォルトの名無しさん mailto:sage [2010/05/13(木) 16:28:42 ] 間違ってるかもしれないけどSS本の7章のクエリビルダのソースだけど いろんなクラスでやトレイトで[MyType <: Table[MyType]]型引数を受け取ってて 本には該当のテーブルで定義されたフィールドだけがクエリーに含まれることを保証しますって書いてあるけど ほとんどTable内で定義されててパス依存型になってるので別につけなくても保証できてない?
748 名前:デフォルトの名無しさん mailto:sage [2010/05/13(木) 16:52:43 ] いやByとOrderByは外にあるからやっぱつけなきゃダメか
749 名前:デフォルトの名無しさん mailto:sage [2010/05/13(木) 18:00:39 ] twitterでのMatzとの論争を見たけど、難しくてわからなかった。 で、古いのを見ると、kなんとかさんのこと書いてあったけど、あれまずいんじゃないかな。 あのひと、今ひがさんのツイートをさらしものにしてるでしょ。 「kなんとかさん」とか書いてるのも見つかると同じようにさらされそうだから、火種になりそうなのは消したほうがいいんじゃない?老婆心ながら。
750 名前:デフォルトの名無しさん mailto:sage [2010/05/13(木) 18:28:52 ] >>746 なんか勘違いしてるだろ 不安定なのはScalaじゃなくGAEだろ 直前の流れも読もうな
751 名前:デフォルトの名無しさん mailto:sage [2010/05/13(木) 19:39:13 ] >>749 言ってる意味がわからないよ婆さん
752 名前:デフォルトの名無しさん mailto:sage [2010/05/13(木) 19:43:22 ] Scala on GAE/Jは、ググればやってみてる人は結構いる。 GAEが不安定の件は、どのレベルの安定性を求めているのかによる。 勘定系に使えないって話か、 データストアが時々タイムアウト例外を投げるのが許せないのか、 もっと根本的に不安定だと言ってるのか。
753 名前:デフォルトの名無しさん mailto:sage [2010/05/13(木) 21:09:30 ] >>750 本物かw どっちが不安定とかでなんでそんなにこだわれるの?ScalaProject参加してんの? お前みたいなの以外で今Scala触ってるのは不安定かどうかなんてのは自分で検証・判断出来るレベルって事が言いたかっただけ。
754 名前:デフォルトの名無しさん mailto:sage [2010/05/13(木) 21:39:27 ] GAEが不安定だとなんか困るのか? 巷の評判が不安定だってんなら別にそれで構わんだろ
755 名前:デフォルトの名無しさん mailto:sage [2010/05/13(木) 21:40:29 ] そりゃ使いたいのに不安定だったら困るだろう。
756 名前:デフォルトの名無しさん mailto:sage [2010/05/13(木) 21:41:53 ] EC2でいいよ
757 名前:デフォルトの名無しさん mailto:sage [2010/05/13(木) 21:46:31 ] どっちが不安定でも良いけど、検証コード、結果、原因だして騒いでんの? あるなら改善要求でも出せばい良いじゃん。
758 名前:デフォルトの名無しさん mailto:sage [2010/05/13(木) 21:58:01 ] GAE大好きスレでも立てろよ Scalaを流行らせるためには安定したクラウド必要だね でもGAEまだまだだねってだけの話なんだから
759 名前:デフォルトの名無しさん mailto:sage [2010/05/13(木) 22:12:26 ] 758=754=750か?どっちが不安定でもいいけど必死だな
760 名前:デフォルトの名無しさん mailto:sage [2010/05/13(木) 22:25:47 ] そうだけどだとしたらなんか問題あるのか
761 名前:デフォルトの名無しさん mailto:sage [2010/05/13(木) 22:33:23 ] そろそろくだらない話は終わりにしろ
762 名前:デフォルトの名無しさん [2010/05/13(木) 22:33:24 ] せっかく下記のスレッドがあるので、そちらでできればよいのだが、 Google AppEngine 3アプ目 pc11.2ch.net/test/read.cgi/php/1267057923/l50 こっちの方がもりあがってるのでこちらに書き込み。 >>752 勘定系に使えない理由を教えていただけないでしょうか。 データストアのタイムアウトはまー色々対処方法があるのでいいが、 根本的に不安定というのがあるならば、教えてほしいです。 社内システムをscala On GAE/Jで作ろうとしてるので どのようなリスクがあるのかあらかじめ知っておきたいのです。
763 名前:デフォルトの名無しさん [2010/05/13(木) 22:34:56 ] やべ。 >>761 の仰る通り、こちらで書くのはおかしいので、 Google AppEngine 3アプ目 pc11.2ch.net/test/read.cgi/php/1267057923/l50 に書きます。
764 名前:デフォルトの名無しさん mailto:sage [2010/05/13(木) 22:36:46 ] Scala.NETの実用度ってどんなもんなの?
765 名前:デフォルトの名無しさん mailto:sage [2010/05/13(木) 22:41:18 ] Scalaって、Rubyみたいに完全な(純粋な?)OOPLなの? それともPHPみたいに不完全?
766 名前:デフォルトの名無しさん mailto:sage [2010/05/13(木) 23:03:59 ] OOとか何言ってるの?
767 名前:デフォルトの名無しさん mailto:sage [2010/05/13(木) 23:06:27 ] >>764 昔見た時(2.7.?)は、Actorなどなかった、 仕組み上JavaAPIはつかえないので、JavaAPI使ってるScalaで書いたライブラリも使えない
768 名前:デフォルトの名無しさん mailto:sage [2010/05/13(木) 23:07:46 ] twitter.com/y_asa/status/9045917806 twitter.com/moyu_w/statuses/13250867964 ameblo.jp/rarapima/entry-10517976394.html わりと評判悪いかもしれん。 かくいう俺もSlim3試して重いなぁって思って放置したけど。
769 名前:デフォルトの名無しさん mailto:sage [2010/05/13(木) 23:22:57 ] >>766 完全なOOPLなのにさらにFPLならすごいなと思って聞いてみた Rubyがでたころは1も+もすべてオブジェクトだよすごいだろ?って登場してきたなぁと
770 名前:デフォルトの名無しさん mailto:sage [2010/05/13(木) 23:26:07 ] tweetが情報元とか怖い世の中になったもんだな・・・ 今日は一人変なのが紛れ込んでますね
771 名前:デフォルトの名無しさん mailto:sage [2010/05/13(木) 23:30:22 ] >>767 ありがとう。 Javaのクラスライブラリが使えず 書き手もJavaをほとんど知らないとなるとあまりうまみがないってことなのかな。 言語が面白そうでJava版をちょっと触ってはいるけど PowerShellの代替にはならないか。
772 名前:デフォルトの名無しさん mailto:sage [2010/05/13(木) 23:40:15 ] >>770 2chが情報源と同レベルだよな
773 名前:デフォルトの名無しさん mailto:sage [2010/05/14(金) 00:03:34 ] >>736 >思う思わないの問題じゃないと思うけどな とか人を見下した発言しておいて、不安定の根拠がtwitter発言かよ。
774 名前:デフォルトの名無しさん mailto:sage [2010/05/14(金) 00:10:21 ] なぜアメブロで詳しく説明してる奴の話はスルーなのか
775 名前:デフォルトの名無しさん mailto:sage [2010/05/14(金) 00:11:20 ] 今もJavaのライブラリまともに 呼び出せないクラスが大量に量産されている 2.8RCは安定しないどころか、どんどんバグが量産されていて もう手がつけられない。 今後どうなるかは自明な状態
776 名前:デフォルトの名無しさん mailto:sage [2010/05/14(金) 00:15:52 ] >>774 え?これの事じゃないよな? ameblo.jp/rarapima/entry-10517976394.html いくら2chでもム板での「詳しく」はさすがにtweetと同じレベルじゃないでしょw
777 名前:デフォルトの名無しさん mailto:sage [2010/05/14(金) 00:17:17 ] amebloだろうがtwitterだろうが、詳しく知りたかったら 発言した本人に尋ねられるじゃん。
778 名前:デフォルトの名無しさん mailto:sage [2010/05/14(金) 00:20:03 ] >>774 不安定じゃないじゃん 重いって言ってるだけじゃん 馬鹿なの?死ぬの?
779 名前:デフォルトの名無しさん mailto:sage [2010/05/14(金) 00:21:45 ] >>774 ってPHP信者だろ? Javaクラウドをけなして普通のサーバで動くPHP最強!って結論づけるのが目的
780 名前:デフォルトの名無しさん mailto:sage [2010/05/14(金) 00:22:50 ] このスレって田舎社会みたいだな
781 名前:デフォルトの名無しさん mailto:sage [2010/05/14(金) 00:24:16 ] >>774 =>>780 相変わらず必死だなw PHP使ってると頭もよわくなるね?
782 名前:デフォルトの名無しさん mailto:sage [2010/05/14(金) 00:27:17 ] Javaクラウドは失敗するよ 全然つかいものにならないし
783 名前:デフォルトの名無しさん mailto:sage [2010/05/14(金) 00:31:13 ] おまえら荒らせればなんでもいいのかよw
784 名前:デフォルトの名無しさん mailto:sage [2010/05/14(金) 00:33:26 ] >>782 PHPより全然マシ
785 名前:デフォルトの名無しさん mailto:sage [2010/05/14(金) 00:34:47 ] >>784 PHPは簡単で高機能な言語だろ Scalaなんて何が出きるのw? バグだらけで何もできないし
786 名前:デフォルトの名無しさん mailto:sage [2010/05/14(金) 00:35:41 ] >>780 むしろ都会だったら 774「GAE不安定なんです。」 上司「何が〜?」 774「まかりません」 上司「まさか調べてないの?おーい○○、GAEおかしいらしいから事象だけ確認してそのままm引き継いで」 774「あのー僕何やれば良いですか?」 上司「辞表でも書いてて」
787 名前:デフォルトの名無しさん mailto:sage [2010/05/14(金) 00:39:30 ] 普通は安定していると言う根拠を出してから 採用を検討するのでは? 最初にGAEありきの会社なんてないよ。
788 名前:デフォルトの名無しさん mailto:sage [2010/05/14(金) 00:39:54 ] >>787 ほら釣れたw
789 名前:デフォルトの名無しさん mailto:sage [2010/05/14(金) 00:43:38 ] GAEが不安定というよりも Scalaが原因でGAEが不安定になることが多いね やっぱりJavaのクラウドなんて無理なんだよ
790 名前:デフォルトの名無しさん mailto:sage [2010/05/14(金) 00:49:03 ] >>789 とうとう我慢できずに本性あらわしたか やっぱScalaアンチじか
791 名前:デフォルトの名無しさん mailto:sage [2010/05/14(金) 01:06:13 ] 戦ってるねぇ、2chの鏡だ
792 名前:デフォルトの名無しさん mailto:sage [2010/05/14(金) 01:08:47 ] 妄想で語ってるやつはいい加減出ていってくれないかな GAEはスレ違いだし
793 名前:デフォルトの名無しさん mailto:sage [2010/05/14(金) 01:09:43 ] でもScalaとGAEの組み合わせは 挙動不明のバグが乱発するんだけど これはGAEの問題じゃないでしょ
794 名前:デフォルトの名無しさん mailto:sage [2010/05/14(金) 01:11:52 ] >>793 頭おかしいのか?
795 名前:デフォルトの名無しさん mailto:sage [2010/05/14(金) 01:13:25 ] かといってGAE以外に現実的に安くて安定して動かせるとこなんて他にあるか?
796 名前:デフォルトの名無しさん mailto:sage [2010/05/14(金) 01:24:49 ] んでScalaとGAEの組み合わせで挙動不明のバグが乱立するtweetはどこよ
797 名前:デフォルトの名無しさん [2010/05/14(金) 01:49:09 ] んでScalaとGAEの組み合わせで挙動不明のバグってどーゆーのだ。
798 名前:デフォルトの名無しさん mailto:sage [2010/05/14(金) 03:37:23 ] 型パラメータにデフォルト値指定できるようにしようぜ! って言ってる人を見かけたんだけど、そういうのってできるもんなのかな もちろん今のScalaでは無理なんだけど、そういう拡張って可能なのかな
799 名前:デフォルトの名無しさん mailto:sage [2010/05/14(金) 07:20:38 ] >>673 関係でこんなん見つけた。 stackoverflow.com/questions/1762843/why-doesnt-scala-source-close-the-underlying-inputstream Scala.io._ はXMLやコンパイラの為のもので、良いデザインではない。 でも2.8では良くなってる、だそうな。
800 名前:デフォルトの名無しさん mailto:sage [2010/05/14(金) 08:08:47 ] GAE不安定って言ってる奴は、まずBASE特性とCAP定理でググっとけ。 まぁ、GAEスレでやれって話だな。
801 名前:デフォルトの名無しさん mailto:sage [2010/05/14(金) 08:19:20 ] 簡単に言うと、GAEみたいなクラウドは、いくつかの特性を犠牲にすることで、 強烈なスケールアウト特性を手に入れる、という選択をしている。 「不安定」なんじゃなくて、最初からアーキテクチャ的なトレードオフがあるだけ。 タダだからレン鯖の代わりに使おう、くらいの心積もりなら、素直にレン鯖を使った方がいいこともある。 この辺は解説してるページや本がいくらでもあるから、後はググれ。
802 名前:デフォルトの名無しさん mailto:sage [2010/05/14(金) 08:30:05 ] だから、そういうトレードオフがあるから、 Scalaの普及に使いづらいよねってのが最初の話じゃね? Javaだって初期は、WebLogicが重いせいでJavaは重いって評価になって 長年不名誉な評価を受ける事になったんだしさ。 なのに、GAEのマイナス評価に過剰反応する奴がいたり、 しまいにはPHPと戦う奴が出てきたり。
803 名前:デフォルトの名無しさん mailto:sage [2010/05/14(金) 08:32:18 ] 現状雑談スレと技術スレをわけるほどトラフィックがないのがつらいところ
804 名前:デフォルトの名無しさん mailto:sage [2010/05/14(金) 08:46:54 ] まぁクラウドなだけに使う側にとっては なんか重いなんか不安定って感じで 終わっちゃうだろうしなぁ確かに 既存のレンタルサーバだってそのサーバが重い原因を調べて使い続けるより みんなすぐ乗り換えちゃうし
805 名前:デフォルトの名無しさん [2010/05/14(金) 09:15:52 ] まとめると「GAEは不安定で使えない」というのは妄想発言ということでいいね。 となるとGAEでScaleを使いやすくしてやれば、普及させることができそうだね。 Googleを宣伝したい訳ではなく、このご時世、無料というのはかなり利点だと思う。 豊富な、日本語の事例や技術情報が必要ですね。事例はともかく、技術情報ならこれから頑張れば俺にも出せそうだ。
806 名前:デフォルトの名無しさん mailto:sage [2010/05/14(金) 09:26:15 ] なんかピントずれてるな だから荒れるのでは
807 名前:デフォルトの名無しさん mailto:sage [2010/05/14(金) 09:45:39 ] だいたいあってる Scala(Java)って気軽に使えるレン鯖ないからたぶん普及しないよね ↓ GAEでいいじゃん ↓ 不安定じゃん ↓ はぁ?クラウド系はそういうもんだろ ↓ じゃやっぱGAEでいいね。で、普及させるにはScala+GAEの日本語情報が必要だね ←イマココ
808 名前:デフォルトの名無しさん mailto:sage [2010/05/14(金) 10:09:27 ] GAEより、ワンコインVPSの狭小メモリでどうにかしてservlet動かすテクニックでも 開発した方がいいんじゃない?
809 名前:デフォルトの名無しさん mailto:sage [2010/05/14(金) 10:44:19 ] 近道、コスト、実用性のバランスで決めればどちらでもいいがなー
810 名前:デフォルトの名無しさん mailto:sage [2010/05/14(金) 10:45:59 ] >799 へー。 今後は、これを使えばいいって感じになりそうなのか。 github.com/scala-incubator/scala-io 現時点での完成度はどんなもんなんだろ?
811 名前:デフォルトの名無しさん mailto:sage [2010/05/14(金) 11:30:26 ] クラウド系はそういうもんではないだろ 既存のレン鯖のように、より高い金払えばもっといいプランを選べるってのならともかく GAE用に作っちゃうと移転時には修正が必要になる 研究者やサンデープログラマ増やしたいならGAEでいいかもしれんが ビジネスユーザを意識するからVPSでTomcatの方が現実的
812 名前:デフォルトの名無しさん mailto:sage [2010/05/14(金) 13:25:25 ] 最近話題のGoとどっちが強いですか?
813 名前:デフォルトの名無しさん mailto:sage [2010/05/14(金) 13:39:05 ] 安いレンタルサーバーでservletコンテナが使えないよね、ってとこから話が始まってるのに。 あと、サンデープログラマーも少ないマイナーな言語をエンタープライズで採用しないよね。保守やる人が限られてくるからね。 これは主観だけど今のところエンタープライズは考えなくていいんじゃない。目標はベンチャー事例狙いへの啓蒙で。 意外とApp Engineやったほうがエンタープライズへの近道かもよ。
814 名前:デフォルトの名無しさん mailto:sage [2010/05/14(金) 14:21:07 ] ぶっちゃけエンタープライズは貧乏くじ
815 名前:デフォルトの名無しさん mailto:sage [2010/05/14(金) 15:23:57 ] そこまでしてGAEをプッシュする必要もない気がするんだが
816 名前:デフォルトの名無しさん mailto:sage [2010/05/14(金) 15:34:34 ] Google「GAEが不安定だと思われたくないのでScalaみたいな固まってない新参言語は使わないで欲しい」
817 名前:デフォルトの名無しさん mailto:sage [2010/05/14(金) 23:37:16 ] Scalaってワンライナーでのファイル操作的なことってできる?向いてる?
818 名前:デフォルトの名無しさん mailto:sage [2010/05/14(金) 23:38:57 ] 本格的にスケールアウトを生かしたい用途にゃクラウドだが、 いろいろとGAE特有のノウハウが必要なのは確かなので、 言語習得用のプラットフォームとしていいかと言われると微妙だな。 無論、本格的なGAEアプリをScalaで、というのは可能性があると思うぞ。
819 名前:デフォルトの名無しさん mailto:sage [2010/05/15(土) 00:04:51 ] >>817 起動に数秒かかるからワンライナーだとあんまり向いてない 2.8は2.7よりさらに重い 気になるなら起動済REPLに投げるなど必要
820 名前:デフォルトの名無しさん mailto:sage [2010/05/15(土) 00:20:15 ] >>819 レスサンクス できることはできるんだね Rubyとどっち覚えようか迷ってた Winで使う場合はRubyは使いづらいってよくきくけど、Scalaはそんなことない?
821 名前:デフォルトの名無しさん mailto:sage [2010/05/15(土) 00:43:17 ] >>815 一人こだわってるお子様がいるが、押すのも貶すのも他所でやってくださいって感じ
822 名前:デフォルトの名無しさん mailto:sage [2010/05/15(土) 00:45:58 ] ベースがJavaだから、むしろWindowsが一番楽かも。
823 名前:デフォルトの名無しさん mailto:sage [2010/05/15(土) 00:52:14 ] 環境についてはJavaより便利なところはないので、そのつもりで
824 名前:デフォルトの名無しさん mailto:sage [2010/05/15(土) 01:24:18 ] >>823
825 名前:デフォルトの名無しさん mailto:sage [2010/05/15(土) 01:52:23 ] 結局GAEをうまく使いこなせない奴が、不安定だとか根拠のない話を騒ぎ立てて、 流行らないように誘導しようとしてるんだろ。 もし流行ったらそいつは世間において行かれることになるからなw
826 名前:デフォルトの名無しさん mailto:sage [2010/05/15(土) 02:40:36 ] 不安定で流行ったものはあるし(Windowsとか)安定してても流行らないものはある
827 名前:デフォルトの名無しさん mailto:sage [2010/05/15(土) 04:16:19 ] とにかくGAEやるしかないだろ。 無料なんだし、やらない奴は意味がわからない。
828 名前:デフォルトの名無しさん mailto:sage [2010/05/15(土) 04:41:01 ] GAEの話をこのスレでする意味が分からない
829 名前:デフォルトの名無しさん mailto:sage [2010/05/15(土) 10:22:53 ] ・頭使わずに議論した気になれる、レスをもらえる
830 名前:デフォルトの名無しさん mailto:sage [2010/05/15(土) 11:54:55 ] GAE/Jでしょぼいサービスを作ったことがあるが、 Googleの独自APIとか、例えばSlim3みたいなフレームワークの勉強とかも しなきゃいけないからな。タイムアウト処理とか、あまり本質的でない部分にも 気を配る必要があるし、Scala入門用にはさほどお勧めではないな。 何なら、Opera Uniteとかでもいいんじゃねぇの。やっぱりタダだし。
831 名前:デフォルトの名無しさん mailto:sage [2010/05/15(土) 12:06:55 ] だからさ、いいかげんGAEスレ行けよ
832 名前:デフォルトの名無しさん mailto:sage [2010/05/15(土) 12:32:52 ] >>830 GAEの最新技術について行けない奴がScalaを習得できるとは思えん。
833 名前:デフォルトの名無しさん mailto:sage [2010/05/15(土) 12:40:43 ] 誘導 Google App Engine 3アプ目 ttp://pc11.2ch.net/test/read.cgi/php/1267094290/
834 名前:デフォルトの名無しさん mailto:sage [2010/05/15(土) 12:43:25 ] Scalaの話からめてるだろ。 バカなのか?
835 名前:デフォルトの名無しさん mailto:sage [2010/05/15(土) 12:51:27 ] 今までよく頑張った もう休め
836 名前:デフォルトの名無しさん [2010/05/15(土) 19:26:19 ] >819 高速Scalaコンパイル fsc を使ってみてもだめ?
837 名前:デフォルトの名無しさん mailto:sage [2010/05/15(土) 22:11:36 ] ワンライナーなので、インタプリタだと思ってみた。 ワンライナーにはならないけど、コンパイルすると、 fscでソース読み込みの時点で(windows 2GHz 1coreで)1秒以上はかかるかな。 ただ、コンパイル後は、そんなに気にしないでいいから、 やっぱり、立ち上げたままのREPL環境とコンパイル組み合わせるのが、向いてると思う。 ワンライナーで使うなら、lispみたいに起動時のメモリイメージから再開とか、 REPL起動まで先読みしきったAOT環境が、あればいいんだろうな。
838 名前:デフォルトの名無しさん mailto:sage [2010/05/15(土) 22:30:11 ] GAEは使えるとして、GAE以外にもっといい動作環境ないかな? 「GAEは不安定で使えない」、「GAEはお勧めしない」とかいう批判は出てくるんだけど、具体的な代案が出てこないんだよね。 Opera UniteってServletコンテナじゃないよね。 >>830 みんな何で動かしてんの?ローカルのTomcatで自己満足?
839 名前:デフォルトの名無しさん mailto:sage [2010/05/15(土) 22:43:46 ] VPSでTomcatって出てきてるのはスルーなのか
840 名前:デフォルトの名無しさん mailto:sage [2010/05/15(土) 23:07:57 ] Scala\(^o^)/オワタ
841 名前:デフォルトの名無しさん mailto:sage [2010/05/15(土) 23:46:12 ] そもそもタダでServletを常時オンラインにしておける環境なんてものは基本的にない。 GAEは初期費用はいりませんてビジネスモデルなだけ。
842 名前:デフォルトの名無しさん mailto:sage [2010/05/15(土) 23:56:58 ] www.stax.net/
843 名前:838 mailto:sage [2010/05/16(日) 00:11:09 ] >>839 VPSでTomcatって、かなり抽象的だよね? 具体的には、ググってみると www.zone-express.jp/order このへんか?(宣伝ではない。たまたま日本語で読みやすかっただけ) 月¥2,600円(3ヶ月間限定¥1,300/月) 256MだからDBとか考えるとヒープは64mぐらいか。 うーん。運用するんだったら、もう一ランク上のプランか。 月5000円ぐらい払えば自由なScala環境が手に入るということだね。 また荒れちゃうかもしれないけど、貧乏性な俺はGAEで研究して、サービスもGAEでリリースすることにしよう。
844 名前:デフォルトの名無しさん mailto:sage [2010/05/16(日) 00:13:28 ] VPSなら月額1200円年額12000円とかあるしな。
845 名前:デフォルトの名無しさん mailto:sage [2010/05/16(日) 00:19:19 ] いまどき450円/月だよ
846 名前:デフォルトの名無しさん mailto:sage [2010/05/16(日) 00:20:39 ] 実験するだけならEC2を一時的に立ち上げるとか そもそも、自宅サーバでいいし、いろいろ分けたいなら仮想化すればいい。 ttp://www.mochahost.com/java.php なんかあるなとおもったら、たいへんだね。最近はどうなんだろう。 ttp://blogs.yahoo.co.jp/girafflex/1069442.html
847 名前:デフォルトの名無しさん mailto:sage [2010/05/16(日) 00:29:50 ] dream.jp/vps/ メモリ256MB HDD10GB 490円/月 3か月無料 www.saases.jp/hosting/hos_006.html メモリ512MB HDD50GB 450円/月 初期費用3000円 ほんとだ。
848 名前:838 mailto:sage [2010/05/16(日) 00:46:39 ] GAEを使う宣言したばかりなのだが、かなり安いVPSあるんだね。これなら小遣いから出せるかも。 stax.netはどうやって使うのか、いまいち、わからなかったが、scala liftという選択肢があった。料金が従量制のようだが。
849 名前:デフォルトの名無しさん mailto:sage [2010/05/16(日) 02:47:53 ] GAEは知ってるのにVPSって聞いてググらないとわからない人いるのか
850 名前:デフォルトの名無しさん [2010/05/16(日) 03:01:37 ] 可用性のことを考えるとやっぱりGAE
851 名前:デフォルトの名無しさん mailto:sage [2010/05/16(日) 09:30:43 ] >>842 レジストして、新規アプリケーション作ると、「Scala and Lift」があった。 内部で、mavenリポジトリがあって、scalaとlift追加してあるのか。 developer.stax.net/profiles/blogs/new-stax-maven-archetype-for wiki.stax.net/w/index.php/Maven_Scala www.atmarkit.co.jp/fjava/rensai4/devtool05/devtool05_1.html StaxはEC2ベースなんだね。Morph AppSpaceってのは終了したのか。 VMforceは秋から開発者向け用意するけど、ミニマムの無償版はあるんかな。
852 名前:838 mailto:sage [2010/05/16(日) 10:51:10 ] >>849 >GAEは知ってるのにVPSって聞いてググらないとわからない人いるのか 俺に言ってんの?VPSの言葉の意味ぐらい俺だって知ってるよ。 VPSとGAEて言葉の抽象度のレベルが違うよね?GAEはGoogleが出しているサービス名だよね?VPSは各社が出しているサービスの総称だよね? だから具体的じゃねぇっていったんだよ。分かった? ググったのはServletが使えるVPSのサービスの価格を調べるため。 あーまた話がずれてきた。こういう発言は通常スルーすべきなの?
853 名前:デフォルトの名無しさん mailto:sage [2010/05/16(日) 11:09:57 ] >>852 お前は少し落ち着いて半年ROMるべき
854 名前:デフォルトの名無しさん mailto:sage [2010/05/16(日) 12:22:24 ] >>853 てかお前は何様だ
855 名前:デフォルトの名無しさん mailto:sage [2010/05/16(日) 12:30:22 ] VPSの意味やっぱ解ってなかったようだな。
856 名前:デフォルトの名無しさん mailto:sage [2010/05/16(日) 13:41:11 ] ここ最近スレの質が大きく下がったな 子供が触る言語じゃないだろうに・・・
857 名前:デフォルトの名無しさん mailto:sage [2010/05/16(日) 13:42:45 ] Twitterに採用されたって報道されて荒らしに来た奴がいるんだろ。
858 名前:デフォルトの名無しさん mailto:sage [2010/05/16(日) 16:23:20 ] > あーまた話がずれてきた。こういう発言は通常スルーすべきなの? ごめんな。俺たちがお前をスルーすべきだった
859 名前:デフォルトの名無しさん mailto:sage [2010/05/16(日) 17:19:52 ] matzはオブジェクト指向とか関数型以前に動的なことを重視してるみたいだから 話すだけ無駄だと思うんだけどな 動的言語原理主義なのにちょくちょくScalaの文句を言うのはどうかと思うけど
860 名前:デフォルトの名無しさん mailto:sage [2010/05/16(日) 17:33:29 ] >ググったのはServletが使えるVPSのサービスの価格を調べるため。 VPSなんだから勝手にTomcatインストールすればいいだけだな。 メモリ128Mみたいな極端に少ないサービス以外なら普通に動くし。 しかしまたマイナーなサービス引っ張り出してきたもんだな。 ZoneExpressなんて初めて見た会社だわ。
861 名前:デフォルトの名無しさん mailto:sage [2010/05/16(日) 23:32:16 ] Googleまた個人情報の不始末かよ
862 名前:デフォルトの名無しさん mailto:sage [2010/05/17(月) 02:12:51 ] >>859 動的な言語ってそんなにいいかねえ ちょっとスペルミスっただけでわかりにくいバグになるって印象しかないわ 今だと静的に型が決まる言語だと、IDEが発達しててスペルミスしても 赤く表示してくれるしね それになれちゃうと、動的言語はとてもじゃないけど使えない
863 名前:デフォルトの名無しさん mailto:sage [2010/05/17(月) 02:27:57 ] 動的か静的かはもう宗教論じゃね 唯一神なのか多神教なのかみたいな
864 名前:デフォルトの名無しさん mailto:sage [2010/05/17(月) 03:30:02 ] ちょっと前までは、言語オタク的には動的言語マンセーな流れだったけど Eclipseが登場して流れが変わったな IDEが静的言語のデメリットを覆して、強力なメリットを付加したからな
865 名前:デフォルトの名無しさん mailto:sage [2010/05/18(火) 21:10:41 ] >862 テスト時間がコンパイル時間より長くなったりするしな
866 名前:デフォルトの名無しさん mailto:sage [2010/05/19(水) 00:25:17 ] 動的言語だと、適当に始めてリファクタリングしてって進めたいのに、 リファクタリングの面倒くささが、静的言語の比ではないってのが。
867 名前:デフォルトの名無しさん mailto:sage [2010/05/19(水) 01:40:57 ] 置換サイキョー
868 名前:デフォルトの名無しさん mailto:sage [2010/05/19(水) 20:52:22 ] Dir.glob "*.jpg" ってScalaでどうかくの
869 名前:デフォルトの名無しさん mailto:sage [2010/05/19(水) 23:02:30 ] >868 たしかにglobは欲しいな。 たとえば、こんなかなぁ def glob(pathStr:String, reStr:String) = for { file <- new File(pathStr).listFiles if (reStr.r.findFirstIn(file.getName) != None) } yield(file) 使い方はこう glob(".", ".*\\.jpg")
870 名前:デフォルトの名無しさん mailto:sage [2010/05/20(木) 15:08:22 ] f.listFiles.filter(...) のほうが好き。
871 名前:デフォルトの名無しさん mailto:sage [2010/05/20(木) 18:24:23 ] Optionとmatchで次のコード実行したら変な挙動するんだけど、 つまりどういう事だってばよ scala> val l = List("hoge","fuga") l: List[java.lang.String] = List(hoge, fuga) scala> Some(List("fuga","fuga")) match{ | case Some(l) => println("NG") | case _ => pritnln("OK") | } NG scala> Some(List("fuga","fuga")) match{ | case Some(List("hoge","fuga")) => println("NG") | case _ => pritnln("OK") | } OK
872 名前:デフォルトの名無しさん mailto:sage [2010/05/20(木) 19:00:56 ] むしろどう変なのかわからないけど、 matchの中のlはローカル変数になってるよ 比較したいならガードを使わなきゃ駄目
873 名前:デフォルトの名無しさん mailto:sage [2010/05/20(木) 19:02:58 ] >>871 case Some(l)で、Someで中身がlと同じってのを書きたかったんだろうけど、残念ながら、これだと、 任意のSomeにマッチして中身がlに束縛される、という意味になる。意図通りのことを書きたいなら scala> val l = List("hoge", "fuga") l: List[java.lang.String] = List(hoge, fuga) scala> Some(List("fuga", "fuga")) match { | case Some(`l`) => println("NG") | case _ => println("OK") | } OK みたいにする必要がある(変数名の部分を``で囲む)。
874 名前:デフォルトの名無しさん mailto:sage [2010/05/20(木) 19:13:04 ] バッククオート!そんな記法があったのか
875 名前:デフォルトの名無しさん mailto:sage [2010/05/20(木) 22:52:18 ] for(i <- 1 to 100) みたいな式で、INT_MAX 回よりも多くループを回したいときどうすりゃいいの? Seq の実装上の制約で 1 to 100 で作られる Seq の要素数は INT_MAX 個を超えられないっぽいのだけれど。 Stream[Long] を使うしかないの? Project Euler の Probrem 3 で早速つまってしまった。
876 名前:デフォルトの名無しさん mailto:sage [2010/05/20(木) 23:34:18 ] >>875 INT_MAX回を超えるようなループ回したい場合にStream使うと ものすごい量のゴミが発生しそうな気がするので、性能考えると、 自前でIterableとかのサブクラス作った方が良いんではないかなあ。
877 名前:デフォルトの名無しさん mailto:sage [2010/05/21(金) 00:11:07 ] RichLongにto無いのか。
878 名前:デフォルトの名無しさん mailto:sage [2010/05/21(金) 00:25:43 ] >>876 なるほど、どうりで遅すぎるわけだ。 >>877 わかってるかもしれないけど、 RichLong に to あっても一緒のこと。 それで生成される Seq の要素数が問題で、要素の値が問題ではない。
879 名前:デフォルトの名無しさん mailto:sage [2010/05/21(金) 01:45:42 ] >>878 遅すぎるって事は、やり方が間違ってると思う。 そこそこ古いマシンだが、Streamでも再帰でも20ms位で終わったよ。 そもそも、その問題の空間計算量はO(1)だから、Seqの要素数は関係ないよ。
880 名前:デフォルトの名無しさん mailto:sage [2010/05/21(金) 02:23:45 ] >>875 自分ではProject Euler の Probrem 3をどうやってたかを見直してみたけど、 基本的には、 Stream.from(3,2).takeWhile(_ < limit).map(_.toLong) ってやってた。 >>876 REPLで試してみると、どんなに大きなlimitでも一瞬で返るし、 (実際に必要なものしか生成されないはずなので)無駄は無いと思う。
881 名前:デフォルトの名無しさん mailto:sage [2010/05/21(金) 03:11:10 ] √600851475143 < INT_MAXだから、Stream[Int]で足りる。
882 名前:876 mailto:sage [2010/05/21(金) 09:43:36 ] >>880 Procject Eulerの問題が実際にStreamで事足りるかどうかは 実際にその問題を解いてないからわからないんだけど、原理的には Streamを使うと大量のゴミが発生する。というのは、Streamって 要は hd: A tl: => Stream[A] みたいな感じのtailの部分が遅延評価されるリストになってるわけ だけど、ここからn番目の要素を取ってこようとすると、このhdとtl を持ったセルn個分のゴミが発生する。どっかの変数がうっかり Streamの先頭を指していない限りガベージコレクタによって回収される はずなので、メモリ消費量のオーダが即座にO(n)になるわけじゃないけど、 とにかく大量のゴミが発生する事は間違いない。もちろん、tl部分が 評価されなければそのセルは生成されないわけだけど、今回の話だと ループをn回ぶん回すというのが前提だったようなので。 一方、Iteratorなら(適切にspecializedアノテーションが付いてる 事を前提にすれば)、ゴミはほとんど発生しない。ということが 言いたかった。
883 名前:876 mailto:sage [2010/05/21(金) 09:49:14 ] ちょっと追記。 >>880 の例 >Stream.from(3,2).takeWhile(_ < limit).map(_.toLong) みたいな場合で、Streamの最初の方の要素しか使わないんだったら、 もちろん無駄な要素は生成されないので、Streamで十分というか Streamの方が良いね。どういう問題だったかは見てないので、 それで良いのかは知らないのだけど。
884 名前:880 [2010/05/21(金) 11:20:56 ] >>882 なるほど、Streamの途中を欲しい場合は、 {そこまでの)不要なものがゴミとして生成されちゃうんだね。 確かに、 Stream.from(1).takeWhile(100000000).reverse.head だと、OutOfMemoryになる。 ちなみに、さっきの Stream.from(3,2).takeWhile(_ < limit) だけど、Problem 3的にはlimitは√nのつもりだから 正しくは、 Stream.from(3,2)).takeWhile(_ <= limit) です。>< あと881が行ってるように、 「√600851475143 < INT_MAXだから、Stream[Int]で足りる」ので Streamを使ってProblem 3の答えはでるんだけど、 実際のところ これって、本当にLong領域まで生成されるのか不安になってきた、 きちんと対応する場合は Stream.from(3,2).map(_.toLong).takeWhile(_ <= limit) なのかなぁ・・・? Stream.from(1).map(_.toLong).takeWhile(_<=3000000000L).foldLeft(0L)(_+_) を実験中だが、まだ処理が終わらない・・・
885 名前:デフォルトの名無しさん mailto:sage [2010/05/21(金) 13:52:59 ] >>884 > Stream.from(1).map(_.toLong).takeWhile(_<=3000000000L).foldLeft(0L)(_+_) > を実験中だが、まだ処理が終わらない・・・ それは桁あふれで無限ループになるよ。 俺も、Eulerでは良くやる……
886 名前:880 [2010/05/21(金) 15:30:24 ] >>885 あぁ・・やっぱり・・・ ということは、結局LongなStreamではないってことだね、 やるには、自前で作るしかないと。 せっかくなので、初めてIteratorを作ってみた。 こんな感じでいいのだろうか・・・ class LongStream(init:Long) extends Iterator[Long] { var counter = init def hasNext = true def next = { counter += 1L counter } } scala> new LongStream(0).takeWhile(_<=3000000000L).foldLeft(0L)(_+_) res23: Long = 4500000001500000000 どうしてもStreamにしたければ、Stream.fromItaratorが使えそう。
887 名前:デフォルトの名無しさん mailto:sage [2010/05/22(土) 22:31:44 ] >>886 Stream.fromの実装を見ると早いと思うけど、こんな感じになってる。 #実際はオーバーロードがあるからちょっと違うけど。 def from(n:Int) = Stream.cons(n, from(n + 1)) なんで、MAX_INTまでいったら、次のtailはfrom(MIN_INT)になっちゃう。 単純にLongのStreamが欲しいなら、次のコードで良いんじゃない? def from(n:Long) = Stream.cons(n, from(n + 1))
888 名前:デフォルトの名無しさん mailto:sage [2010/05/23(日) 02:01:40 ] scalaはbreakがない糞
889 名前:デフォルトの名無しさん mailto:sage [2010/05/23(日) 07:37:45 ] scalaって、なんでtraitがclassを継承できるようになってるんだ? たとえば、 class a{} trait b extends a{} みたいに。 でも以下のようになるとコンパイルエラーになるから、 もちろん間接的に多重継承をしようとしてもできないようになってるわけだが・・・ class a{} trait b extends a{} class c{} class d extends c with b{} いまいち利点というか、使う場面がわからない・・・
890 名前:880 mailto:sage [2010/05/23(日) 07:41:20 ] >>887 なるほど〜、その通りだった。 Stream深いな・・・ scala> def from(n:Long):Stream[Long] = Stream.cons(n,from(n+1)) from: (Long)Stream[Long] scala> from(1) res0: Stream[Long] = Stream(1, ?) scala> from(1).takeWhile(_<=3000000000L).foldLeft(0L)(_+_) res1: Long = 4500000001500000000
891 名前:デフォルトの名無しさん mailto:sage [2010/05/23(日) 19:02:14 ] たまにドキュメントにでてくる トランポリンってどういうときに使うもんなの?
892 名前:デフォルトの名無しさん mailto:sage [2010/05/23(日) 19:07:37 ] >>891 Scalaでは、たとえば相互再帰する関数をStackOverflowすること 無しに扱いたい(末尾再帰にしたい)場合とか。2.8では scala.util.control.TailCallsを使うと実現できる。
893 名前:デフォルトの名無しさん mailto:sage [2010/05/23(日) 21:54:38 ] >> 892 ありがとうございます。 トランポリンは末尾最適化の名前?という理解で正しいですか? 末尾再帰で相互再帰を使っており、末尾最適化するときにトランポリンを使うということですか?
894 名前:デフォルトの名無しさん [2010/05/24(月) 00:42:11 ] scalaはインタプリタとしても使えるようですけど、 liftのプロジェクトって mvn packageとかしてコンパイルしないと実行できないんですかね?? ソース変更する毎にコンパイルせずにそのまま走らせることできたらいいなと思うんですが・・
895 名前:デフォルトの名無しさん mailto:sage [2010/05/24(月) 01:40:15 ] ScalaでLift以外のWebアプリケーションフレームワークでいいのある?
896 名前:デフォルトの名無しさん mailto:sage [2010/05/24(月) 01:55:47 ] サーブレットで動かすのが前提の現状だと既存のFWのロジックを勝手にScalaで書けば?みたいな感じかな Playとかそうだけど コアの部分もScalaで再発明するメリットあんまないからね ScalaがCGIで楽に動くようにでもなれば変わるだろうけど
897 名前:デフォルトの名無しさん mailto:sage [2010/05/24(月) 09:23:04 ] >>893 トランポリンは末尾呼出しの実現でも使われるけど、 特定のテクニックの名前。 en.wikipedia.org/wiki/Trampoline_%28computers%29
898 名前:デフォルトの名無しさん [2010/05/25(火) 01:16:56 ] >>◆ueEP8Ean2lqc Scalaの本って厚すぎて・゚・(ノД`)・゚・。な感じに陥るんだけど。 もっとシンプルで簡潔に書いた読みやすい本だしてよ。 JavaScript: The Good Partsみたいな本。 170ページ1,800円くらいの。
899 名前:デフォルトの名無しさん mailto:sage [2010/05/25(火) 01:24:55 ] あるよ あるけどこのスレでその話しちゃ駄目らしいよ
900 名前:デフォルトの名無しさん mailto:sage [2010/05/25(火) 01:33:39 ] >>899 作者乙
901 名前:デフォルトの名無しさん mailto:sage [2010/05/25(火) 12:17:42 ] 公式サイトのドキュメントのpdf印刷で いいじゃない 日本語が良ければ翻訳版かWeb連載記事の印刷で
902 名前:デフォルトの名無しさん mailto:sage [2010/05/25(火) 12:41:21 ] >>898 このスレの 100から120くらいを読め。 内容は薄いので、1時間くらいで読めるぞ! でも、本自体は厚い。 紙質が厚いから厚い。 文庫本サイズで600円だったら、買う価値のある本。
903 名前:デフォルトの名無しさん mailto:sage [2010/05/26(水) 20:37:37 ] 2.8.0 Finalまだ〜 待ちくたびれたぁ〜チンチン
904 名前:デフォルトの名無しさん mailto:sage [2010/05/28(金) 01:16:51 ] (残念?) 2.8.0.RC3 キタ
905 名前:デフォルトの名無しさん [2010/05/28(金) 17:12:53 ] codezine.jp/article/detail/5103?p=2 ここのページの下まで行って、サーバ立ち上げてみたんですが、 トップにアクセスすると 192.168.0.4:8080/_ah/login なんたら にリダイレクトされて The requested page was not defined in your SiteMap, so access was blocked. とエラーが出てしまいます・・。 web.xmlで <filter-class>bootstrap.liftweb.LiftFilter</filter-class> みたいに設定してるんですが、これだけだと何か足りないんでしょうか。 gae混ざっててすいません。どなたか教えていただけると嬉しいです。
906 名前:デフォルトの名無しさん [2010/05/28(金) 22:51:03 ] ScalaよりもJavaScriptの方が関数脳になる近道じゃね?
907 名前:デフォルトの名無しさん mailto:sage [2010/05/28(金) 22:57:26 ] ttp://www.j2js.com/scala-demo/index.html
908 名前:デフォルトの名無しさん mailto:sage [2010/05/28(金) 23:31:13 ] >>906 本当に関数脳を鍛えたいなら それこそ関数型言語が本筋だろう
909 名前:デフォルトの名無しさん [2010/05/29(土) 00:25:56 ] だって敷居高いじゃん
910 名前:デフォルトの名無しさん [2010/05/29(土) 00:29:52 ] 結論:手続き型なOOで充分。
911 名前:デフォルトの名無しさん mailto:sage [2010/05/29(土) 14:59:04 ] Schemeなら覚えるべき文法が少ないから、敷居も低いな。
912 名前:デフォルトの名無しさん [2010/05/29(土) 21:58:35 ] Schemaとかカッコ多すぎてゲロ吐くレベル
913 名前:デフォルトの名無しさん mailto:sage [2010/05/29(土) 22:41:13 ] スキーマ?
914 名前:デフォルトの名無しさん mailto:sage [2010/05/30(日) 00:25:26 ] >>912 関数型言語向いてなさ過ぎだろ Schemeやったら死ぬぞ
915 名前:デフォルトの名無しさん mailto:sage [2010/05/30(日) 00:37:10 ] >>911 386アセンブラなら覚えるべき文法が少ないから、敷居も低いな。
916 名前:デフォルトの名無しさん mailto:sage [2010/05/30(日) 02:59:02 ] そもそもSchemeは関数型じゃないし
917 名前:デフォルトの名無しさん mailto:sage [2010/05/30(日) 15:15:16 ] 本当の関数型は、HaskellとかConcurrent Cleanとかだな。
918 名前:デフォルトの名無しさん [2010/05/30(日) 21:18:10 ] >>905 とちょっと違うけど自分もそのページの見てやってて、 4ページまで行ったんだけどコンパイルしてブラウザからアクセスしたら Message: java.lang.NullPointerException ってエラーが出ました。 コンパイルが通ってるのにエラー出るってどういうことなんでしょう? Javaやったことないのでエラー文もよくわからないのです・・
919 名前:デフォルトの名無しさん mailto:sage [2010/05/30(日) 21:27:02 ] ぬるぽがわからんやつには早いって
920 名前:デフォルトの名無しさん mailto:sage [2010/05/30(日) 21:28:10 ] >>919 ガッ!
921 名前:デフォルトの名無しさん mailto:sage [2010/05/30(日) 23:00:06 ] > コンパイルが通ってるのにエラー出るってどういうことなんでしょう? これに少し感動。 初心者がこんな風に思う時代になったんだ
922 名前:デフォルトの名無しさん mailto:sage [2010/05/31(月) 01:40:56 ] いや、Haskell使いかも知れん。
923 名前:918 [2010/05/31(月) 01:54:30 ] アドバイスいただけると嬉しいです。。
924 名前:デフォルトの名無しさん [2010/05/31(月) 06:31:55 ] エラー名でググれ
925 名前:デフォルトの名無しさん mailto:sage [2010/05/31(月) 09:11:58 ] >>918 値が入っていない変数に、メソッドを発行するとよく出るよ。 変数の初期化し忘れとか確認してみな。
926 名前:デフォルトの名無しさん mailto:sage [2010/05/31(月) 18:42:54 ] Scalaでnull使ったら負けでしょ。 OptionかBox型を使うべき。
927 名前:デフォルトの名無しさん mailto:sage [2010/05/31(月) 22:52:07 ] >>923 > アドバイスいただけると嬉しいです。。 codezine の記事書いている作者にメール送るのも手ですよ。 読者からの反応はうれしいものなんです。
928 名前:デフォルトの名無しさん mailto:sage [2010/05/31(月) 23:06:30 ] >>927 大事なのは私が嬉しいかどうかです。。
929 名前:デフォルトの名無しさん mailto:sage [2010/05/31(月) 23:17:14 ] yuroyoroさん降臨か 微妙にScala界隈の著名人が集まるスレになっとるな
930 名前:デフォルトの名無しさん mailto:sage [2010/05/31(月) 23:19:57 ] Scalaの本売れすぎだろ 八重洲ブックセンター行ったらコップも入門も売り切れだったぜ あっちの方の入門は残ってたけど
931 名前:デフォルトの名無しさん mailto:sage [2010/05/31(月) 23:31:50 ] オアゾの丸善の方が良くない?
932 名前:デフォルトの名無しさん mailto:sage [2010/05/31(月) 23:45:57 ] えーだって俺会社八重洲だもん
933 名前:デフォルトの名無しさん [2010/06/01(火) 01:50:28 ] 八重洲ブックセンターちょくちょく行くが売り切れとかありえんだろ なんの自演だそれは
934 名前:デフォルトの名無しさん mailto:sage [2010/06/01(火) 02:53:12 ] いやコップといい方の入門は先週は平積みだったのに今日行ったら1冊も無かったんだよマジで
935 名前:デフォルトの名無しさん mailto:sage [2010/06/01(火) 03:20:18 ] 売れないから返品されただけじゃないか。
936 名前:デフォルトの名無しさん mailto:sage [2010/06/01(火) 08:57:30 ] 昨日日本橋の丸善でコップ買ったよ。 あと3冊ぐらいあった。 オアゾは売りきれてたよ。在庫検索では。
937 名前:デフォルトの名無しさん mailto:sage [2010/06/01(火) 12:45:54 ] なんで2種類だけそんなに売り切れてんの 工学社のも買ってやれよw
938 名前:デフォルトの名無しさん mailto:sage [2010/06/01(火) 20:56:26 ] >>934 ブレークするような出来事あったっけ? なんかいまいち、盛り上がりに欠けると思うのだが。
939 名前:デフォルトの名無しさん mailto:sage [2010/06/01(火) 21:15:50 ] 新人にjavaで何か新しいもんさわってみろ でscalaという流れとか androidとかgae/jとかもあるけどな
940 名前:デフォルトの名無しさん mailto:sage [2010/06/01(火) 23:41:27 ] まぁ八重洲あたりはIT企業が多いからそこだけの地域特需かもな オー○ックとかリク○ートあたりが採用したのかもしれんと妄想
941 名前:デフォルトの名無しさん [2010/06/02(水) 12:09:45 ] liftでプリントデバッグに使える関数ってありますか?? printlnだとサーバのログには書き出せるんですがブラウザで確認するにはどうすればいいかなと・・
942 名前:918 [2010/06/02(水) 12:53:45 ] 色々教えていただきありがとうございます。 ちょっとずつ分かってきましたがまだ疑問点があります・・ codezine.jp/article/detail/5103?p=3 ここのページの通り、 case class Event( id:Option[Long], name:String, description:String, fromDate:Date, toDate:Date, place:String, join:Long, count:Long, user:User, members:List[User] ) が定義されているのですが、 entityValueメソッド -----定義----------- def entityValue[T]( e:Entity, name:String ) = e.getProperty( name ).asInstanceOf[T] -------------------- を使って、のちに entityValue[User]( e, "user" ), entityValue[JList[User]]( e, "members" ).toList (eはgoogle app engineのEntityクラスオブジェクト) などとしているところがありまして、ここの entityValue[JList[User]]( e, "members" ).toList の部分でmembersプロパティに値がなかった場合、entityValue関数内の e.getProperty( name )で nullが返ってきて null.asInstanceOf[JList[User]] が実行され、 java.lang.NullPointerException となるようです。 (分けます・・)
943 名前:918 [2010/06/02(水) 12:55:58 ] しかしエラーが出る上の行の entityValue[User]( e, "user" ) では、たとえuserプロパティの値が空であったとしても、 entityValue関数内の e.getProperty( name ) でnullではなく空文字が返ってくるようで "".asInstanceOf[User] となり、この場合はNULLエラーにならないようです。 userプロパティ、membersプロパティ共に値が空であることには代わりが無いのに e.getProperty("user")では空文字列が返り、 e.getProperty("members")ではNullが返ってきてしまう理由がよくわからないのですが、 これはなぜなのでしょうか? [User]と[JList[User]]の違いなのか、それとももしかするとapp engine sdkの仕様なのでしょうか。 度々質問ですいません。アドバイスいただけると嬉しいです。
944 名前:デフォルトの名無しさん mailto:sage [2010/06/05(土) 00:56:58 ] blogの話題解析ページ見ると、"scala"で4〜5月に大きな盛り上がりの山があったようだ。 Software Design誌の影響?
945 名前:デフォルトの名無しさん [2010/06/05(土) 09:39:31 ] はてなで話題になったからだろ
946 名前:デフォルトの名無しさん mailto:sage [2010/06/05(土) 11:28:34 ] >>944-945 ブックマーク数から判断すると火元は下記記事ですね。 RubyからScalaに乗り換えた15くらいの理由 - ヽ( ・∀・)ノくまくまー(2010-04-26) wota.jp/ac/?date=20100426#p01 b.hatena.ne.jp/entry/wota.jp/ac/?date=20100426%23p01 (759 users) b.hatena.ne.jp/entry/wota.jp/ac/?date=20100426 (138 users)
947 名前:デフォルトの名無しさん mailto:sage [2010/06/06(日) 00:40:29 ] 想像以上にひどい提灯記事w
948 名前:デフォルトの名無しさん mailto:sage [2010/06/06(日) 00:44:07 ] AKBヲタかよw 頼むから公表しないでくれマイナス要因になるから 握手が生き甲斐でプログラム組んでると思われるぞ
949 名前:デフォルトの名無しさん mailto:sage [2010/06/06(日) 00:55:07 ] ベリーずからAKBに乗り替えクマー
950 名前:デフォルトの名無しさん mailto:sage [2010/06/06(日) 01:03:00 ] もうGOと一緒でScalaも下火だな。 D言語まっしぐらだわ。
951 名前:デフォルトの名無しさん mailto:sage [2010/06/06(日) 01:09:53 ] >>950 次スレ頼んだ。
952 名前:デフォルトの名無しさん mailto:sage [2010/06/06(日) 10:14:42 ] そもそも、ScalaとRubyは比較対象になるのか。 使い道が違うと思うんだけど。
953 名前:デフォルトの名無しさん mailto:sage [2010/06/06(日) 12:08:21 ] >952 上記エントリから関連記事を辿るとさんざん指摘されてる。 動的言語と静的言語は違うからな。 もともと静的言語が好みで、しかしJavaみたいに煩雑な記述はしたくない、という話だろう。 まあ、そういう層は潜在的に多そうに感じるけど。
954 名前:デフォルトの名無しさん mailto:sage [2010/06/06(日) 12:36:27 ] 逆にJavaからRubyへって本だと静的言語終わったこれからは動的って書いてあるから お互い様だよそこは
955 名前:デフォルトの名無しさん mailto:sage [2010/06/06(日) 12:51:17 ] scalaとrubyって使い途ちがうの?
956 名前:デフォルトの名無しさん mailto:sage [2010/06/06(日) 13:29:18 ] 同じだよ
957 名前:デフォルトの名無しさん mailto:sage [2010/06/06(日) 13:56:11 ] ていうかScalaが動的型付け言語の中ではRubyにかなり似てるからじゃね? SS本の中でもやたらRubyとの比較がでてくる じゃなければ普通PHPやPythonと比較するだろう
958 名前:デフォルトの名無しさん mailto:sage [2010/06/06(日) 14:25:09 ] Twitterがらみで比較されてんじゃないの?
959 名前:デフォルトの名無しさん mailto:sage [2010/06/06(日) 14:29:30 ] 全然似てないよ
960 名前:デフォルトの名無しさん mailto:sage [2010/06/06(日) 15:34:43 ] ただ単にあの人がrubyの人だったってだけじゃない。 pythonと比べても大してかわらん。 scalaはユニークだ。