本帖最后由 ProjectDD 于 2009-09-02 23:14:26 编辑

解决方案 »

  1.   

    你说的特点我一点也没有发觉。如果说异类还差不多。异类就应该做异类的事。对于那些c#经常做的事,f#在表达力、描述交互界面、支持IDE的RAD开发、处理并发方面都并不强于c#。特别是最后一点,我们在宣传f#的文章上看到的大概都是作者在对比2、3年前的c#。而.net最近两年在整体架构上突飞猛进,甚至已经有了并行框架的.net标准(已经可以用于.net 3.5,并且将作为.net4.0的内置类库),于是任何.net语言在并行处理方面都毫不逊色f#,而且更加标准和清晰,反倒是f#很可能显得混乱。关于f#到底适合做什么,还是需要多做一些经典的东西再说。我在几个月前对f#感兴趣过,后来初步研究发现跟我期望的函数式编程完全不种机制。经过2、3次徘徊,最终确认,可以扔掉它,认真写好c#程序就可以了。要知道,f#中有的主要特色会很快变成.net下的标准机制(就像lamda表达式技术就是借鉴早期f#研究成果一样),之后c#就会仍然比f#更加好用。其实跟很多人正相反,我觉得将f#作为编程的“主要语言之一”实际上只会让f#无法在其独特的机制上更加激进,从而f#会很快堕落得像j#之类的语言一样的下场。
      

  2.   

    记得你是强力推荐F#的人之一,估计也是受他人影响而自己没有实际使用过的人,实际使用就会发现它其实并没有想象中的那么好。它的确有助于简化很复杂的逻辑思维,这就好比C#中的lamda表达式让我们觉得更多层次的数据筛选合并变得如此得简单。但是它没有封装的结构,不适合开发大项目,不适合代码重用,仅仅适用于底层复杂的计算上,但这在C#中也已经实现了啊。
      

  3.   

    没接触过
    http://www.zainanbao.com