soutaro さんが感じた Scalaの闇
で、選ぶ時点では、ある程度Rails界隈の状況がわかるようになっている(かどうかは知りませんが)。あるいは知らなかったとしても、MySQLとかPostgresというのがあって、どっちかにしておけば間違いがなさそうというのがわかる。(そして俺はMySQLにして2年後後悔している。)
2012-05-23 22:58:57@soutaro 32 bit JVMの設定できるヒープ上限値が大体1300MBくらい(だったか?)で、そこから永続領域とか引くと、32 bit JVMだと使えるユーザのヒープ領域がそんなに多くない、という話です。でも、32 bit JVMでも実はなんとかなるかも。
2012-05-23 23:01:16@soutaro 推奨設定ができるならそれデフォルトにしろよ、というのは、Scala初学者対象にしたときに正論ですね。見えるところに推奨設定書いてあったら、別に一行書き換えればいいだけじゃん、とか思ってしまう自分は居ますが。そういうのはsbtのissueに投げてみましょうかね…。
2012-05-23 23:02:11@kmizu なるほど。SBTはその1300MBを全部使い切る設定になっているのでしょうか?だとすると、JVMを選択することとのトレードオフということで理解はできます。
2012-05-23 23:02:14JVM大好きな人にとってはそれで良いのかもしれないけど、世の中そうじゃない人もたくさんいるわけなんだけど、そういう人に対して嬉しくないというのは、少なくとも俺は嬉しくない。
2012-05-23 23:04:24@soutaro @kmizu それはさすがにSun(OracleとIBM(DB2)の顔を立てる必要あり)とか、Oracle(自分だけを持ち上げるのはまずいけど、他社を持ち上げるのもありえない)がJavaに噛んでいたいた以上、何か1つを推奨とはいかんでしょ。
2012-05-23 23:05:50@arton Javaのレベルでそうなのは理解できますが、ScalatraでWebアプリを書こうとしたときにDBアクセスをどうしたら良いのかわからない話とは別ではないでしょうか。
2012-05-23 23:07:27そのJVMの苦し紛れの(?)戦略に引きずられて、選択肢があることが良いことで(これは良いことか)、デフォルトを決めないのが良いことのような文化になっているのが理解しがたい。
2012-05-23 23:08:05@soutaro あー、なんかちょっとわかってきたような。Railsだと、フルススタックでWebアプリの中でも特定の用途に最適化されてて、それゆえに「デフォルト」が選びやすい。一方で、Scalaはまだそういう(cont) http://t.co/bxdBbHFo
2012-05-23 23:10:44@arton どうなんでしょうね…… ニュートラルでないと普及しないところがターゲットなのだとしたらそれもありかもしれないですが、それFram Java to Rubyの時代となにも変わらないわけで、愚かしいとは言いませんが悲しいですね。
2012-05-23 23:10:56@soutaro はい。32 bit JVMだと、場合によって1300MB使い切る可能性はありますね(ソースコードの行数とかファイル数依存ですが)。
2012-05-23 23:12:16@kmizu なるほど。では、俺のマシンでSBTが落ちまくってたのは、俺の計算機がたまたま64bitだから回避方法があるだけで、32bitだともうどうしようもない?
2012-05-23 23:13:35@arton そっちの政治方面の話は考慮してなかったですね。確かに。ありがとうございます。ScalaのWebアプリフレームワークでは可能、なきはします。
2012-05-23 23:14:09@soutaro 32 bit JVMでも、設定次第では可能かもですが、ソースコードの量が一定以上になると、ピーク時のヒープ量を抑えるのには限界はありますね。でも、今回くらいのサイズだと、32 bit JVMでも普通に問題なさそうです。
2012-05-23 23:17:44https://t.co/eSoJclTC latestで良いのか。これ、もっと推奨するべきだと思います。
2012-05-23 23:19:38@kmizu それはもう全然話がおかしくて、そうなんだとしたら32bit JVMでScala使うことは不可能なんだから、あきらめて切り捨てるべき。(Web appじゃなければいけるのだろうか。)
2012-05-23 23:20:30@soutaro @kmizu ビルドツールという性質上クラスファイルの作成を何度も繰り返すので、JVMでクラスファイルを保持する領域のGCのされ方が他のオブジェクトと異なる、ので普段あまり指定しないCMSClassUnloadingEnabledの設定がポイントなんじゃないかと
2012-05-23 23:21:46@soutaro ただ、ソースコードの依存関係が密にならないように書けば(依存関係グラフが複雑にならないようにすれば)ソースの絶対量が多くなっても回避は可能かもしれません。この辺は試してないので推測になりますが。
2012-05-23 23:21:46@kmizu 特定の用途っていうか、作られるアプリの数で言うと、Railsがばっちりなものが80%くらいではないだろうか(まあよく知らないのでなんとも言えませんが)。
2012-05-23 23:22:23https://t.co/IatK918F と、偉そうにいいましたが、その辺の詳しい仕組みしらないので、誰か詳しい人解説を・・・
2012-05-23 23:23:01