soutaro さんが感じた Scalaの闇

こんなタイトルつけてすいません。 Rails などと比較しながら、 "ある程度Scalaに慣れてしまった人" は気づかないような点を徹底的に批判してて、ためになったのでまとめました
17
前へ 1 ・・ 5 6 次へ
Soutaro Matsumoto @soutaro

で、選ぶ時点では、ある程度Rails界隈の状況がわかるようになっている(かどうかは知りませんが)。あるいは知らなかったとしても、MySQLとかPostgresというのがあって、どっちかにしておけば間違いがなさそうというのがわかる。(そして俺はMySQLにして2年後後悔している。)

2012-05-23 22:58:57
kmizu @kmizu

@soutaro 32 bit JVMの設定できるヒープ上限値が大体1300MBくらい(だったか?)で、そこから永続領域とか引くと、32 bit JVMだと使えるユーザのヒープ領域がそんなに多くない、という話です。でも、32 bit JVMでも実はなんとかなるかも。

2012-05-23 23:01:16
kmizu @kmizu

@soutaro 推奨設定ができるならそれデフォルトにしろよ、というのは、Scala初学者対象にしたときに正論ですね。見えるところに推奨設定書いてあったら、別に一行書き換えればいいだけじゃん、とか思ってしまう自分は居ますが。そういうのはsbtのissueに投げてみましょうかね…。

2012-05-23 23:02:11
Soutaro Matsumoto @soutaro

@kmizu なるほど。SBTはその1300MBを全部使い切る設定になっているのでしょうか?だとすると、JVMを選択することとのトレードオフということで理解はできます。

2012-05-23 23:02:14
Soutaro Matsumoto @soutaro

JVM大好きな人にとってはそれで良いのかもしれないけど、世の中そうじゃない人もたくさんいるわけなんだけど、そういう人に対して嬉しくないというのは、少なくとも俺は嬉しくない。

2012-05-23 23:04:24
Soutaro Matsumoto @soutaro

ちょっと何かしようと思うと、決めなくてはいけないこと、設定しなくてはいけないことが多すぎる。

2012-05-23 23:05:15
arton @arton

@soutaro @kmizu それはさすがにSun(OracleとIBM(DB2)の顔を立てる必要あり)とか、Oracle(自分だけを持ち上げるのはまずいけど、他社を持ち上げるのもありえない)がJavaに噛んでいたいた以上、何か1つを推奨とはいかんでしょ。

2012-05-23 23:05:50
Soutaro Matsumoto @soutaro

@arton Javaのレベルでそうなのは理解できますが、ScalatraでWebアプリを書こうとしたときにDBアクセスをどうしたら良いのかわからない話とは別ではないでしょうか。

2012-05-23 23:07:27
Soutaro Matsumoto @soutaro

そのJVMの苦し紛れの(?)戦略に引きずられて、選択肢があることが良いことで(これは良いことか)、デフォルトを決めないのが良いことのような文化になっているのが理解しがたい。

2012-05-23 23:08:05
Soutaro Matsumoto @soutaro

Railsに何も学んでないというのが、愚かしい。

2012-05-23 23:08:13
arton @arton

@soutaro そうかなぁ。そのへんはニュートラルにしておかないと、普及の妨げになるとかを先に考えてるんだと思うけど。

2012-05-23 23:09:15
kmizu @kmizu

@soutaro あー、なんかちょっとわかってきたような。Railsだと、フルススタックでWebアプリの中でも特定の用途に最適化されてて、それゆえに「デフォルト」が選びやすい。一方で、Scalaはまだそういう(cont) http://t.co/bxdBbHFo

2012-05-23 23:10:44
Soutaro Matsumoto @soutaro

@arton どうなんでしょうね…… ニュートラルでないと普及しないところがターゲットなのだとしたらそれもありかもしれないですが、それFram Java to Rubyの時代となにも変わらないわけで、愚かしいとは言いませんが悲しいですね。

2012-05-23 23:10:56
🐶pomu0325 @pomu0325

@soutaro DBに関してだとLiftはそんな感じ。

2012-05-23 23:11:37
kmizu @kmizu

@soutaro はい。32 bit JVMだと、場合によって1300MB使い切る可能性はありますね(ソースコードの行数とかファイル数依存ですが)。

2012-05-23 23:12:16
Soutaro Matsumoto @soutaro

@kmizu なるほど。では、俺のマシンでSBTが落ちまくってたのは、俺の計算機がたまたま64bitだから回避方法があるだけで、32bitだともうどうしようもない?

2012-05-23 23:13:35
kmizu @kmizu

@arton そっちの政治方面の話は考慮してなかったですね。確かに。ありがとうございます。ScalaのWebアプリフレームワークでは可能、なきはします。

2012-05-23 23:14:09
kmizu @kmizu

@soutaro 32 bit JVMでも、設定次第では可能かもですが、ソースコードの量が一定以上になると、ピーク時のヒープ量を抑えるのには限界はありますね。でも、今回くらいのサイズだと、32 bit JVMでも普通に問題なさそうです。

2012-05-23 23:17:44
Soutaro Matsumoto @soutaro

https://t.co/eSoJclTC latestで良いのか。これ、もっと推奨するべきだと思います。

2012-05-23 23:19:38
Soutaro Matsumoto @soutaro

@kmizu それはもう全然話がおかしくて、そうなんだとしたら32bit JVMでScala使うことは不可能なんだから、あきらめて切り捨てるべき。(Web appじゃなければいけるのだろうか。)

2012-05-23 23:20:30
Kenji Yoshida @xuwei_k

@soutaro @kmizu ビルドツールという性質上クラスファイルの作成を何度も繰り返すので、JVMでクラスファイルを保持する領域のGCのされ方が他のオブジェクトと異なる、ので普段あまり指定しないCMSClassUnloadingEnabledの設定がポイントなんじゃないかと

2012-05-23 23:21:46
kmizu @kmizu

@soutaro ただ、ソースコードの依存関係が密にならないように書けば(依存関係グラフが複雑にならないようにすれば)ソースの絶対量が多くなっても回避は可能かもしれません。この辺は試してないので推測になりますが。

2012-05-23 23:21:46
Soutaro Matsumoto @soutaro

@kmizu 特定の用途っていうか、作られるアプリの数で言うと、Railsがばっちりなものが80%くらいではないだろうか(まあよく知らないのでなんとも言えませんが)。

2012-05-23 23:22:23
Kenji Yoshida @xuwei_k

https://t.co/IatK918F と、偉そうにいいましたが、その辺の詳しい仕組みしらないので、誰か詳しい人解説を・・・

2012-05-23 23:23:01
前へ 1 ・・ 5 6 次へ