DBFluteのScala版の2015年夏現在

Twitterより引用:

https://twitter.com/yamatake/status/588091194187522048
> もしやと思ったらあった。試してみよう。
> DBFlute on Scala パイロット版
> jfluteの日記 (id:jflute)
> http://d.hatena.ne.jp/jflute/20140904/onscala

というのを、
もしやと思って検索したらヒットしたので笑、
やはりちゃんと周知しておかないとなって。

jflute自身は仕事でScalaと関わることは、
今もとりあえずないという感じではあります。
先のブログの通り、
DBFluteのあるところに駆けつけるってのが、
いまのスタイルでもありますし(開拓もしたいけど)。
 => いま、jflute は DBFlute をどうしたい?

とりあえず、変わってない

とりあえず

o Scala-2.11.6で動く
o Java8で動く
o EntityはImmutable
o NullableカラムはOption型
o CBはコールバック内限定Mutable

というか、変わってないです。
Java8で動くってのは、実行環境がそうなっただけで、
コードは何も変わってないです。
あとは、オフィシャルサイトとの通り。
 => DBFlute on Scala | DBFlute

様子見が続いています

ということで完全Mutableじゃないので、
やっぱりまだパイロット版ってことですが、
そこを気にしないのであれば使えます。

できるだけその言語の文化を尊重したものに
仕上げたい気持ちはありますが、
DBFluteの思想を完全に壊しても意味ないし、
ってところのバランスを伺っています。

というか、
いままでも言語(Java)の文化をぶっ壊して
実現したりってやってきてるから、
あまり気にし過ぎてもってところですが...

ただ、もともとScalaコンパイル遅いところに
自動生成が入るのでなおさら輪をかけてってのはあるかと。
あと、無理矢理実装もあるので、
Scala-2.12 が出てきて Java8 と親和性が高くなったら、
もうちょい色々と細工できるかなって。
なので、はよこい、2.12!な気持ち

Scala学習のきっかけの一つになればなぁと

現場の人だと

「言語良くてもツールないとつらい」

ってところがやはり強いので、
せめて、DBFluteユーザーの方々の、
Scala学習のきっかけの一つになればいいかなって。

というか「言語変わったらまたDB周りで同じことで悩む」
って確かにストレスですよね。
なので、どうにか仕上げたいって気持ちもあるのですが、
なかなか...壁が...

同じことがGo言語にも言えるかも...。
 => DBFluteでGo言語どうしよう? | jfluteの日記
【追記: 書いた直後】
関数型プログラミングに完全迎合される形
じゃないといけない!

ってなると、
敷居が高いところがあるなって感じはします。
せっかくのScalaの豊富な文法なのに、
逆に発想が狭まられてる感があって…。

もともとDBFluteで解決できていたものを、
解決できなくてして提供してもしょうがないし。
というか、
DBFluteRDBの思想をプログラムで強く表現したい
わけなので、どうしても、その言語の思想を
少し壊して入り込まざるを得ない、
ってところもあるかも。

それができなきゃちょっと現実的じゃないかも…
悩ましいねぇ。