ログ日記

作業ログと日記とメモ

関数型言語が普及しない理由

mod_haskell がないから。



あと日本語の扱いがややこしかったりメール送信がややこしかったりする。
ExcelとかPDF生成になると絶望的な雰囲気がする。
リンクが必要なライブラリも多くて、staticリンクするとhello worldでもサイズが巨大になる。


とりあえず日本語の扱いが楽になって、データベースも簡単に扱えるようになったらもう少し入りやすくなるんじゃないだろうか。
セッションを管理してくれるライブラリも欲しい。




前々から1年置きぐらいでHaskellのWebアプリを作ろうと思い立つんだが、なかなか良い案が思い付かない。
データベースからテーブル情報を読み取って自動的に型クラスを定義するような仕組み*1と、セッション管理が出来れば手早く作れそうなんだけど…。
日本語の扱いは、UTF-8モナドみたいなものを作れば大丈夫かな?
ExcelとかPDFはもうThriftとか使っちゃえ的な解決方法で。





つまるところ

  • HTMLのフォームから何らかの文字を入れてsubmitすればその文字を表示する
  • フォームからメールアドレスと文字を入れてsubmitすればメールが届く
  • フォームから文字を入れてsubmitすればデータベースにその文字を登録して表示する

これらの単純なアプリを動かすまでの取っ掛かりの部分が原因なんじゃないかと。
この2画面だけのプログラムでも何時間もかかったりして。何時間かけても完成できない恐れすらある。
関数型言語パラダイム云々は何かを動かせるようになった後の話だと思う。




ここまで完全にPHPHaskellが頭の中に思い浮かんでいるのだけれど、JavaScalaはどうなんだろうね。Scala流行ってないのかな。オブジェクト指向も使えるよ。


最近、Scalaを実案件投入しようとしたんだけど間に合わなかった。
そしてScalaを書いていたら型を明示的に書かなきゃいけない場面が多くて痒いところに手が届かない感じがする。Scalaを書いてるとHaskellを書きたくなる。でもJavaの資産は使いたい。っていうジレンマでむずむず。
BigDecimal演算子で計算するっていう程度のJava+αのような使い方がベターなのかもしれないと思いつつ、次の機会までScalaは中断。






via:
http://d.hatena.ne.jp/mizon9/20111112/1321046483
http://d.hatena.ne.jp/kura-replace/20111114/1321236695

*1:昔途中まで作った。https://github.com/nishimura/Yanagi/blob/master/Template/Database.hs 時間と気力不足だった。