2012-04-09 7 views
8

私はハスケルfor great goodを学んでいます。ウェブ開発にHaskellを使用する主な利点は何ですか?

私はOOPと様々なタイプのシステムにかなり興味があります。私はJavaアプリケーションを使用して(Java EE、Spring、Hibernate、struts 1.x)、今は定期的にPython(pylons、django、sqlalchemy、pymongo)とJavascriptを使用しています。私は個人的な生産性を大幅に向上させました:軽量アプローチ、ダックタイピング、素晴らしいイテレーター、ファーストクラスの市民としての機能、簡単な構文と構成、pipdistributeなどの高速ツールなどが私を大きく助けました。

しかし、私の生産性向上の第1の理由は、で、Python言語自体です。

Web開発にHaskellを使用する主な利点は何ですか? たとえば、そのタイプの推論が本当に私のWebアプリケーションを改善することができますか?これまでのところ、タイプシグネチャを使用して関数をデコレートすると、プログラムに多くのセマンティクスが追加されていることに気づきました。私はこの努力がすべてに何らかの形でに戻ってくることを期待しています。多くのコード行を保存して音を出すためです。私は実際にタイプとデータの間の鋭い区別が好きです、彼らはどのように動作しているか理解し始めていますが、私は何かを戻したいです:P

私は間違ってはいない私はちょうどハスケルを勉強し始めたMaybe私は、私はいくつかの素晴らしいことを見逃していますが、私は本当にそのパラダイムを理解したいと思っています。

+2

あなたはおそらく、それがどのように動作するかの三分の二を理解することはありませんドンIを:

は、私はあなたが以下の私の質問に見ることができるようにそれを使用しようとしているいくつかの問題がありましたしかし、YesodのWebフレームワークは大きなタイプの型を使用しています。 – delnan

+0

@delnan Yesod(と[this fragment](http://yannesposito.com/Scratch/en/blog/Yesod-tutorial-for-newbies/#bulletproof))は良いスタートのようです。ありがとうございます。 – vrde

+0

これはメリットが得られる方法とは直接関係しないかもしれませんが、これはHaskellをWebアプリケーションの開発に使用する利点の例です - http://jekor.com/article/is-haskell- Webアプリケーションのための良い選択 – Gangadhar

答えて

3

ほとんどのWebアプリケーションは、statelesshandle concurrency wellを目指しています。スケールすることもかなり重要です(Google SEO reasons, and user experience)。

ハスケルは、これらの問題をかなりうまく処理します(IMHOはより学術的で、おそらく人間の直感的ではありませんが)。

Webアプリケーション開発者(node.jsと比較して)をやっている人がまったくなく、従来のWebアプリケーション開発者がOOPマインドフレームにもっと集中しているという理由で、むしろ難しいかもしれないと言われています。確かに(

How do I do automatic data serialization of data objects?

Handling incremental Data Modeling Changes in Functional Programming

+0

ところで、私はハスケルを置くことを意味しません。私はその強力な言語だと思う。私はちょうど私の生活のために何をしているWebアプリケーション開発のためにそれを生産的にして、私の頭を包み込むことができませんでした。 –

+1

2015年後半にはこれとはかなり異なる経験があると思います。ハスケルには、バックエンドとフロントエンドの両方のための非常に強力なWebフレームワークがあります(GHCJSはJavaScriptにコンパイルされます)。型安全性を備えたweb-devを探しているなら、Haskellは牽引力を得ています。 –

関連する問題