V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
myrual
V2EX  ›  程序员

F sharp is so fun

  •  1
     
  •   myrual ·
    myrual · 2011-11-28 09:35:13 +08:00 · 4436 次点击
    这是一个创建于 4737 天前的主题,其中的信息可能已经有所发展或是发生改变。
    把函数调用从
    func1 (func2 arg1)
    改成了
    arg1 |> func 2 |> func 1
    更加容易理解了。

    有趣的是
    func3 x = func2 (func1 x)
    直接改成 func3 = func1 >> func2

    都更加的符合人类的思考方法,而不是计算机的思考方法。

    这两种特性我记得在haskell里面也有。
    11 条回复    2015-10-06 11:56:46 +08:00
    muxi
        1
    muxi  
       2011-11-28 09:40:41 +08:00
    可惜微软永远只针对windows平台做
    myrual
        2
    myrual  
    OP
       2011-11-28 10:20:01 +08:00
    @muxi 要不是因为要用.net的某个dll,我也不用f sharp。
    另外.net的强静态类型有的时候有点烦,f sharp能自己推测一些,但是很多时候编译器还是提示要明确
    可能是习惯了动态语言了。
    levn
        3
    levn  
       2011-11-28 12:48:09 +08:00
    F#好像是基于ocaml的……
    myrual
        4
    myrual  
    OP
       2011-11-28 13:21:32 +08:00
    @levn yes.
    不过我认真学函数式编程是从haskell开始的。
    moplay
        5
    moplay  
       2011-11-28 13:34:41 +08:00
    其实我觉得强类型语言更好用,而且更安全
    mlzboy
        6
    mlzboy  
       2011-11-28 13:37:35 +08:00
    装visual studio太大了,下载太慢了,另外有没有专门针对机器学习等的语言
    myrual
        7
    myrual  
    OP
       2011-11-28 13:50:14 +08:00
    @mlzboy 可以不装visual studio,直接下载f sharp 2.0 即可。我的电脑上就没有visual studio。下载一本 f sharp expert 的电子书,然后看msdn就可以开始了。注意那本电子书的部分代码在f sharp 2.0无法运行。比如list.hd list.tl 已经被重新设计为 list.head list.tail。

    @moplay 这个问题我相信很多人考虑过也争论过。仅仅以我个人经验来说,只是想实现某个实例能被多个不同函数处理,同时期望屏蔽无关细节,却被迫要反复设计类的继承关系。有点多余。
    lidashuang
        8
    lidashuang  
       2011-11-28 15:46:07 +08:00
    很多开源的,跨平台,试试吧
    zerotty
        9
    zerotty  
       2011-11-28 16:14:11 +08:00
    @myrual fsharp目前可以做什么,有没有什么项目实践啊?如果只是拿来玩,好玩的语言多了去了!
    myrual
        10
    myrual  
    OP
       2011-11-28 16:17:20 +08:00
    @zerotty 我用它来读取c#写的dll,然后自己对读取出来的数据做分析,纯粹私人兴趣。
    其他的语言暂时不好做托管代码 dll的调用。
    fuxpro
        11
    fuxpro  
       2015-10-06 11:56:46 +08:00
    F#和 C#做的真是良心,虽然它微软只专注于自己的平台,但是对于我来说它已经完足够了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2599 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 15:43 · PVG 23:43 · LAX 07:43 · JFK 10:43
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.