Scala」でググるとヒットするし、1.0.x系がひと段落したので、しっかり紹介しておこうかと。実はこんなのあります。1.0.5Kで使えます。「1.0.xはパイロット版、1.1から本気」とあるように。試しに作ってみたという感じです。いえ、一通りの機能がちゃんと動きます。自動生成されるクラスがScalaになって、Javaとの連携をしてくれるというようなもの。Java版の安定したコアロジックがそのままScalaのインターフェースで利用できるという感じです。dbflute-scala-exampleあります。Database利用なのですぐに試せます。自分でnewしてsetとかしないなどなど、できる限りScalaの流儀に近づけています。実際に近づいてるかどうかわからないですけど、そこはまあパイロット版ということで、これからこれから。前提にしていますが、あまりDIするという文化ではなさそうなので、Behaviorはどこでも取得できるようにしています。CBはわりとそのままただ、ConditionBeanはわりとそのままです。「あんすこどっと」(_.)ができるだけ使えるような配慮をしたり、Java版よりかは良くなっていますが、全体的にはそのまま。これは、ConditionBeanの特徴とScalaのお作法の間でいまいち折り合いがつかない感じがあって。「Immutableでなければならない」という規約を満たすアイディアが浮かばなかったからです。「中途半端な変更」よりかは、ひとまず「Javaと見た目同じ」というのをキープするようにしました。扱うようにしてみました。ここが残念なところと思われるところではないかと。コンパニオンオブジェクトのapply()によるEntityの生成も考えましたが、DBFlute特有の便利メソッド、区分値の設定などの補完のしやすさ、もろもろを考えたときに、apply()だとそのメリットがうまく表現できないなーって。間違いも起きにくいかなというところで、いったんはこれを採用。その代わり、今までのDBFluteの便利機能がまるまる利用できます。編集画面表示時に検索されたバージョン番号}DBFluteらしさは失わずどこまで流儀に従って、どこまでDBFluteらしさを強調するか?これがまだわからない。今までDBFluteが培ってきた「こうだと現場がうれしいだろう」という細かい配慮。DBFluteがよく頂く言葉でもあり、同時に生命線とも言える「かゆいところに手が届いてるフレームワーク」という特徴。これを壊してしまっては、そもそもDBFluteである必要がない?ということもあるので、ひとまず短い時間でのチャレンジ暫定実装。いうのは、Scalaには既に良いフレームワークがたくさんあるようで...まずは、Slickと呼ばれるO/Rマッパーが、Scalaっぽさ体現したタイプセーフなDBアクセスを実現しています。勉強中ですが、かなり気合いの入ったもののようです。ScalikeJDBCも、人気のフレームワークのようで、ググってブログ読んだりしてよく参考にさせて頂いています。すんごい良くできてるなー、って感心しまくり。「ER図のリレーション線を辿って歩いているかのような感覚」そういうのがないならば、別に既存のフレームワークでいいわけで。「Scalaやってみたいけど、DBFluteないんじゃ結局つらそっ」と、みなが口々に言ってくれているので(^^、Scalaへのアプローチ心をDBFluteが損なわせてもよくないので、とりあえずまんまでも動くもの作ろう、そんなところから始まり。実際、DBFluteを全く知らないScalaプログラマーの方々が、DBFluteを見て使いたいと思うかと言ったら、あまり思ってもらえるイメージはやっぱないかなーって笑。興味を持ってくれる人もほんの少しはいるかも知れない!?例えば、50人に1人、興味もってくれる人がいればうれしいなって。それはそれで「チャレンジ」ということで、どうせやるなら、DBFluteの不思議な魅力を表現したScala版にしてみたいなと。DBFluteってそんな律儀だっけ?DBFluteを長く使ってきた方々はこう思うかもしれません。「そもそも、DBFluteってJavaの流儀に従ってる?」そうね、そんなことないね。Javaというか、一般の流儀、流行の流儀、そういったものに真っ向から反発して独自路線を貫いて、そろそろ8年が経とうとしています。増えていること確かで、まだまだ右肩上がりを継続中です。「かっこわるくても安全なインターフェース」を追求してきたフレームワークでした。それこそがDBFluteの魅力でもありました。そんなに悩み過ぎてるわけじゃないですよ。やるからには、Scalaの良い文法を最大限活かして、その持ってる「らしさ」を強調できたら最高だなと思います。そのアイディアがない。先のバージョンでの展望も見据えていきたいと。あとね、どのみちね、やっぱりね、コンパイルがなかなか...DBFluteも悪いんだけど、でもJavaでは難なく動くものが、もうこれ無理だなってレベルになったりするので、そこはちょっと時を待ちたい。自分の「ゆびの動き」を止められるので圧倒的にすきではないから。スピーカー応募しようかと思ってました。「ああ、まだまだこりゃだめだな」と。豪華なセッション内容見たら、そもそも応募したところで絶対に採用されないなという感じではありますけど笑。気付いたら満員御礼のキャンセル待ち30人以上(><。ぐはぁぁぁ...まあどのみち両日は行けなさそうだったわけだし、やる気のある人たちに行ってもらって、ぼくはTwitter観戦。発表される皆様、応援しています!......Java版のDBFluteを極めた現場のエンジニア(の数人)が、Scala版のDBFluteハンズオンを予約してくれているので、ひとまずはそこで互いに学びながら試してもらおうかなと(^^。関数型ということで、Javaとは全く違う言語。正面突破リーディングしてみて「ぜんぜんわからーん」と笑。「Scala逆引きレシピ」を買って、ランチ時間にちょっとずつお勉強。壁に立ち向かっては乗り越えるの繰り返し。頭の中でフレームワークと言語が立体的に積み重なって、それが辞書みたいになるんですよね。業務で一行たりとも書いたこと無いへなちょこなわけだしね、こういう風にすることで「自然とScalaの今後の動向や話題に敏感になる」っていう、jflute流の新しい言語の覚え方(^^。行動すると言ったからには、行動してみたよ、みたいな。再開したディズニーシーにはてなブログをはじめよう!jfluteさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。