精华内容
下载资源
问答
  • 函数式语言

    2008-12-15 12:32:00
    目前编程语言我认为大体就是三类:命令式(别跟我说面向对象,它只不过是命令式的包装),函数式,逻辑式。 命令式的语言相信很多人都学了一把了,C,C++,Java,C#,我就较系统的学了这一把,其他浅尝辄止的语言就不...
    想要学习新语言,我一般遵循一下原则进行筛选:           1. 能带来思想的革新,如果一门语言与自己已经掌握的语言有太大重叠甚至是一个体系的,没有学习的价值。目前编程语言我认为大体就是三类:命令式(别跟我说面向对象,它只不过是命令式的包装),函数式,逻辑式。
    
            命令式的语言相信很多人都学了一把了,C,C++,Java,C#,我就较 系统的学了这一把,其他浅尝辄止的语言就不提了。函数式以前摸过Scheme后就再也没派上用场,逻辑式似乎只有一种Prolog,我记得还专门买过清华的一本烂书《人工智能(AI)编程语言(面向对象语言)》,全部翻译的是Visual Prolog官网的资料,词不达意还残缺不全,顺序混乱,而且那个VisualProlog个人版每次编译都跳出烦人的对话框,界面丑陋,令人失望。目前函数式编程理论成熟,逻辑式编程理论似乎有缺陷,而且工业上那一吨的专家系统都是Common Lisp写的(注意,我可没有提Scheme),而且CommonLisp在人工智能领域外也大有作为,有很多成功的商业案例,Prolog就似乎只能在人工智能这一角混了。
               再加上《程序员》杂志上说的函数式在并发方面的好处,以及函数式语言一般抽象能力很强,正好用来写写人工智能的东东,于是我决定重新学习一门函数式语言了。
              2. 语言要有一个大的社区,最好已经经过了ANSI或ISO标准化。这样优势很明显,社区大,就人多,人多就力量大。有标准,劲都往一处使,就会有一吨的库出来供你用。这一原则对于较新的语言不适用,更别提标准了,通过了标准的都不是新技术新思想了。不过可以从tiobe的排名上大致看出某个语言的社区规模,免得学了某个语言后才发现找不到编译器。
                 最早的函数式语言当然是Lisp,现在有两个分支:Common lisp 和Scheme。Common lisp是一个庞大的语言,支持多种编程范式,Scheme是Common lisp的子集,二者都是ANSI标准。Scheme由于语言核心很小,多用在教育领域,Common Lisp多用来写专家系统,也可以构造大型软件。
              最纯的函数式语言是Haskell,完全没有副作用,有一个Hakell98标准,但还不是ANSI或ISO标准,算是一个社区标准吧。
              ML也是一种跟Lisp差不多老的语言,现在有Standard ML,Caml和微软的F#三个常见变种。
              Lisp 和Scheme 在tiobe的排名还不错,又老又壮,ML 和Haskell比 Lisp家族都要年轻,用的人明显少了很多,社区也比较小。erlang和ocaml排名都很后。
               3. 是否有好的开发环境。虽然新语言一般都不具备这一点,但如果有一个好的IDE,会觉得正式很多,学起来也有底气。
              Common Lisp 有个LispWorks个人版(40多M)还可以称得上是IDE,但有很多限制,还有个Cusp的eclipse 插件。Scheme最好的估计是PLTScheme(12M多)了,连语法高亮都没有,还有个SchemeWay的Eclipse插件,也有个Netbeans插件,都很简陋。Haskell有个免费的VisualHeskell的Visualstudio(60多M)的插件,很不错,至于简陋的编辑器一大把,也有个eclipseFP的eclipse插件。
               4. 是否有相关资料和出版的书籍。新语言一般没有很多书,但至少得有一两本吧,否则就显得太势单力薄了。
               在amazon上搜索了一下,Haskell 有一本2007年新出的《Programming inHaskell》,Common Lisp只有2005年的书,Scheme只有2003年的书,OCaml有一本2006年11月出的《PracticalOCaml》,最后是F#有2007年新出版的两本书《Foundations of F#》和《Expert F#》,erlang今年也有新书。

                               
           经过在tiobe和amzon的形势分析,有这几个候选:Common Lisp ,Haskell,OCaml,erlang。
           CommonLisp,Ocaml,erlang都是多范式的,都支持命令式,面向对象和函数方式。如果函数式语言支持这三种编程范式,我还不如用已经熟悉的Ruby呢,社区比上面三个至少大一个数量级。只有Haskell是纯FP语言,号称是最优雅的FP语言。对了,在ICFP上Haskell还是2004,2005,2006连续三年的冠军。
             Haskell能强迫你用函数式编程,用其他语言你不知不决就会用命令式的习惯来编程。Haskell在第一条和第三条占优势,在第二条大大输给CommonLisp(lisp毕竟是最早的函数式语言,历史悠久,又经过标准化,不过我现在就是要学新思想嘛,可以不介意),第四条跟CommonLisp平手。Oaml ,erlang在第一条和第三条跟CommonLisp平手,第四条略有优势,因为都有新书,第二条就大大劣势了,基本上败的很惨。第一条是最重要的,因为毕竟是新技术,后三条只是用于参考。理所当然我选择了Haskell。
            《程序语言设计--实践之路》里 有一句多函数式编程的总结和展望:“看来在未来的年代里,我们很可能看到函数式语言使用的显著增长,特别是纯函数式语言”。
           纯函数式语言现在看来只有Haskell,看来是不得不学它了。
    展开全文
  • 函数式编程语言F#

    千次阅读 2011-10-10 08:58:46
    作为微软支持的第一个函数式语言,F#在项目中被越来越多的开发者选用,8月的TIOBE排行榜,F#挺进前二十。 源于微软研究院的F#语言因其优良的设计和强大的并行编程能力,正得到越来越多.NET开发者的选用。在8月的...

    文/高昂

    作为微软支持的第一个函数式语言,F#在项目中被越来越多的开发者选用,8月的TIOBE排行榜,F#挺进前二十。

    源于微软研究院的F#语言因其优良的设计和强大的并行编程能力,正得到越来越多.NET开发者的选用。在8月的TIOBE语言流行度排行榜中,F#语言首次进入了前二十位。F#是微软.NET框架环境下的静态类型化函数式编程语言,支持以面向对象或泛型编程等多种风格来撰写程序代码。

    F#基于函数式编程语言Objective Caml(OCaml)设计,具有OCaml常用的核心语言功能,以及函数式编程语言的其他特性。OCaml是在Perl之外,又一门以骆驼为吉祥物的编程语言。Ocaml被选中的部分原因是它提供了函数式、命令式和面向对象的混合编程风格支持。在OCaml语言中,函数式能够像变量一样方便地在程序中传递,并且OCaml是能够自动侦测程序范型的函数式编程语言。

    F#语言最初由微软研究院的首席研究员Don Syme设计,设计者Don Syme于1999年从剑桥大学计算机实验室获得博士学位,他还参与了C#泛型和.NET CLR的设计工作。在语法设计上F#具备优雅的结构,同时F#被设计为类型安全且具备良好性能的编译语言。在微软决定将F#进一步推广应用之后,F#被转移到微软专门的开发部门维护和更新,并在.NET Framework和Visual Studio 2010开发环境中为F#提供了全面支持。此外,开发者还能够在Visual Studio 2008中使用F#,或借助Mono在Linux系统上使用F#。

    作为微软支持的第一个函数式语言,F#在项目中被越来越多的开发者选用,这与F#对程序并发和异步编程的良好支持密不可分。微软为F#添加了不少简化开发者处理程序并行和异步编程的便捷特性,以辅助开发者轻松完成多核并发和Web分布式系统的应用开发。在常见的开发模式下,F#用于撰写安全并发和异步处理相关的程序组件,用户界面则使用Visual Basic或C#来编写,而最终产品由F#实现组件和其他.NET开发语言组织而成。

    不仅如此,F#目前还广泛用于Xbox 360游戏平台上的代码开发中,为开发者提供了在XNA Game Studio环境下的F#编程支持。微软研究院曾使用F#、TrueSkill以及XNA开发了一款名为“The Path of Go”、具备故事情节的3D围棋游戏,以展示F#在游戏开发和人工智能领域方面的并发编程能力。

    感兴趣的开发者可以阅读Don Syme及其他几位F#语言设计者共同撰写的《Expert F# 2.0》一书,深入学习并使用F#语言。也可以阅读游戏开发者Giuseppe Maggiore撰写的FRIENDLY F# with game development and XNA一书,学习F#语言在游戏开发中的应用。

    作者高昂,中国标准化研究院助理研究员,从事信息技术标准化研究工作。关注开源社区,也是OSGeo中国和InfoQ中文站成员。


    本文选自《程序员》杂志2011年09期,更多精彩内容敬请关注09期杂志

    展开全文
  • 函数式编程语言天生就慢吗?

    千次阅读 2012-09-06 23:18:37
    由于函数式语言需要基础架构支持,这样不可避免地增加了学习汇编理论知识的成本。一流的词法闭包只有在配合垃圾回收时才能良好地工作,因为它允许值越界。 函数式语言:过度分配 请注意自己的选
    摘要:近期,函数式编程得到了越来越多的关注,Lisp不仅重获青春还涌现出了一批新函数式编程语言。因此开发者们对函数式编程语言的运行快慢各抒己见,展开激烈讨论。本文将和大家一起讨论,函数式编程语言真的就慢吗?

    由于函数式语言需要基础架构支持,这样不可避免地增加了学习汇编理论知识的成本。一流的词法闭包只有在配合垃圾回收时才能良好地工作,因为它允许值越界。

    函数式语言:过度分配

    请注意自己的选择。C在基准套件中扮演最小公分母,限制是可以实现的。如果在比较C语言与函数式编程语言上有一个基准,那么它肯定是一个非常简单的程序。按理说这么简单,它是没有什么实际意义的。仅仅把C作为基准的话,那么在解决更复杂的问题上,它是没有什么实际可行的解决方案。

    这方面最明显的例子就是并行性。如今,多核已成为一种主流,甚至连我的手机也是多核的。在C语言中,要想实现多核并行是相当困难的,但是在函数式编程语言中会却容易实现(我比较喜欢F#)。其它例子还包括持久化数据结构,例如撤消缓冲区与纯函数数据结构是微不足道的,但在命令式语言上,这却是个非常大的工作量。

    函数式语言看起来比C语言要慢,因为你仅看到基准代码在C语言里很容易去编写并且你永远不会明白基准比任务更耐人寻味,从函数式语言到Excel。然而,目前你已经能正确的识别出函数式语言的最大瓶颈是什么:过度的分配率。为什么函数式语言分配会如此严重的原因就是它被拆分成历史和内在的。

    从历史上看,Lisp实现已经做了50年的装箱工作。这个特点也渗透到许多其它编程语言中,类似Lisp的中间件表示。这些年来,语言实现不断地采取装箱这种方式快速实现并发。在面向对象语言中,默认堆分配每个对象,即使明显可以采用堆栈分配。提高效率的负担是推到垃圾收集器并且在建设垃圾收集器性能上做一些努力,使它能够达到或者最大可能接近堆栈分配,通常是使用bump-allocating托管实现。我认为,应该投入更多的精力来研究函数语言设计,减少装箱和垃圾收集器设计,从而优化不同的需求。

    分代式垃圾收集器

    分代式垃圾收集器对语言来说,是很棒的,因为堆可以分配很多并且他们的速度也和堆栈分配差不多一样快,但是会增加其他地方的开销。如今的程序越来越多地使用像队列似地的数据结构(例如并发编程)并且让分代式垃圾收集产生一些病态行为。如果队列中的某项活得比第一代长,那么它们都会被做标记,然后所有引用的旧位置将会得到更新并且被收藏。这个大概要比它们需要的慢3倍(例如比C语言)。标记区域的收集器有可能解决这个问题,像Belway(2002)和Lmmix(2008),因为托管已经被替换成一个区域,可以被收集,就好像是一个托管所,如果它包含大部分可及值,可以被另一个区域替换并且留下时间,直到它包含一些遥不可及的值。

    尽管已经存在的C++,还有Java的发明人采用泛型来消除这些错误,但这些都导致了不必要的装箱。例如,我构建一个简单的哈希表,在.NET上面的速度比JVM要快17倍。原因就是.NET并没有犯这个错误(它采用具体化泛型)并且.NET还有值类型。实际上,我认为是Lisp让Java变慢。

    装箱、拆箱

    所有现代式的函数式语言都是过分依赖装箱。基于JVM语言,像Clojure和Scala别无选择,因为VM甚至不能表达值类型。Ocaml(Objective Caml)在早期就揭示了类型信息,在它的编译过程和经常使用整数类型进行装箱标记并且在运行时去处理多态性。因此,Ocaml常常作为私有浮点数字被装入箱中并且一直是盒元组。在Ocaml中一个三重的字节就是一个由指针(有一个隐藏的标签嵌入在里面并且在运行时会被反复检查)和一个64位的堆上分配块头与192位的主体包含三个标记的63字节整数(3个标签,在运行时会被反复检查)。这显然是疯了。

    在函数式语言上,有关拆箱优化工作已经完成但它并未真正获得牵引力。例如Mlton编译器对于ML标准来说,是一个全程序优化编译器并且很擅长拆箱优化工作。不幸的是,在运行时间之前和“长”编译时间(在现代机器上低于1秒)阻止人们使用它。

    唯一的主要平台已经打破了这个趋势,但令人惊讶的是.NET却是个例外。尽管有一个Dictionary类可以高度优化键和值。微软的员工,比如Eric Lippert就继续强调值类型是根据值进行传递的,这一点很重要并且性能特点不是来源于它们内部拆箱特征。Eric的理解似乎已经被证明是错误的:越来越多的.NET程序员青睐拆箱而不是值传递。事实上,大多数结构是不可变的,因此,引用透明在值传递和引用传递之间并没有什么语义差别。性能是可见的并且结构可以提供大量的性能改进。性能结构甚至可以保存堆栈溢出并且结构常常用来避免GC延迟在商业软件上面,比如Rapid Addition's

    函数式与命令式

    重分配的函数式语言的另一个原因是与生俱来的。命令式数据结构像哈希表结构使用内在巨大的整体数组。如果这些巨大的内部数组一直持续使用,将需要不断复制和更新。所以纯函数式数据结构比如平衡二叉树分裂成许多小堆,分裂成块为了便于从一个版本集合到另一个版本。

    Clojure采用了一个非常巧妙的花招来解决这个问题,当集合例如dictionaries在初始化时被写,然后进行读取。在这个例子中,初始化可以使用突变来建立“幕后”结构。然而,这并不会有助于增量更新并且由此产生的集合在读取数据方面仍然比较命令式等价物慢。当然纯函数式语言在数据持久化方面明显要比命令式强。然后,很少的实际应用程序受益于持久化实践,所以这并不算是什么优势。因此,把非纯函数式语言降到命令式风格,这样就可以毫不费力的从总受益。


    展开全文
  • 最纯的函数式语言是Haskell,完全没有副作用,有一个Hakell98标准,但还不是ANSI或ISO标准,算是一个社区标准吧。 ML也是一种跟Lisp差不多老的语言,现在有Standard ML,Caml和微软的F#三个常见变种。 Lisp 和Scheme...
    • 三种语言类型: 1.命令式  2.函数式  3.逻辑式
    • “命令式的语言相信很多人都学了一把了,C,C++,Java,C#,我就较系统的学了这一把,其他浅尝辄止的语言就不提了。函数式以前摸过Scheme后 就再也没派上用场,逻辑式似乎只有一种Prolog,我记得还专门买过清华的一本烂书《人工智能(AI)编程语言(面向对象语言)》,全部翻译的是 Visual Prolog官网的资料,词不达意还残缺不全,顺序混乱,而且那个Visual Prolog个人版每次编译都跳出烦人的对话框,界面丑陋,令人失望。目前函数式编程理论成熟,逻辑式编程理论似乎有缺陷,而且工业上那一吨的专家系统都 是Common Lisp写的(注意,我可没有提Scheme),而且Common Lisp在人工智能领域外也大有作为,有很多成功的商业案例,Prolog就似乎只能在人工智能这一角混了。”(引用http://hi.baidu.com/soulmachine/blog/item/60c477270b023802908f9dc8.html)
    • 最早的函数式语言当然是Lisp,现在有两个分支:Common lisp 和Scheme。Common lisp 是一个庞大的语言,支持多种编程范式,Scheme是Common lisp的子集,二者都是ANSI标准。Scheme 由于语言核心很小,多用在教育领域,Common Lisp多用来写专家系统,也可以构造大型软件。
      最纯的函数式语言是Haskell,完全没有副作用,有一个Hakell98标准,但还不是ANSI或ISO标准,算是一个社区标准吧。
      ML也是一种跟Lisp差不多老的语言,现在有Standard ML,Caml和微软的F#三个常见变种。
      Lisp 和Scheme 在tiobe的排名还不错,又老又壮,ML 和Haskell比 Lisp家族都要年轻,用的人明显少了很多,社区也比较小。erlang和ocaml排名都很后。(引用http://hi.baidu.com/soulmachine/blog/item/60c477270b023802908f9dc8.html)
    • Java Scripting API: 框架类似JDBC,可以利用统一的接口对不同的脚本语言的调用。
    • Java Scripting API: 主要类:ScriptEngineManager ScriptEngine (全部都是工厂模式了,这世道)使用SciptEngine的eval方法来调用脚本。
    • Java Scripting API: ScriptEngine可以维持应用程序组件的状态,即上文中执行了的eval方法中定义了一个脚本函数,在下文中的eval方法中可以调用。事实上,Java 脚本 API 并不要求脚本引擎提供这一特性。本文中所使用的 JavaScript、Groovy 和 JRuby 脚本引擎确实在 eval() 调用之间维持了这些状态。
    • Java Scripting API:允许在脚本语言中调用Java对象。使用ScrpitEngine的put方法:put(name,object)将Java对象放入到脚本上下文中。
    • Java Scripting API:加入了脚本语言的Java将变得更加灵活,想像逻辑层,规则层使用脚本语言编写,然后嵌入到Java中的快感吧。


    展开全文
  • F#是微软.NET平台上一门新兴的函数式编程语言,通过函数式语言,开发人员可以轻松应对多核多并发时代的并行计算和分布问题。本文是F#简明教程的第一章,带您走进F#和函数式编程。 【51CTO独家特稿】F#是微软.NET...
  • 函数式编程扫盲篇

    万次阅读 多人点赞 2015-11-22 23:47:37
    1. 概论 在过去的近十年的时间里,面向对象编程大行其道。以至于在大学的教育里,...孰不知,在面向对象产生之前,在面向对象思想产生之前,函数式编程已经有了数十年的历史。 那么,接下来,就让我们回顾这
  • C# 函数式编程

    千次阅读 2015-10-30 09:49:07
    编程语言范式 许多现存的编程语言都可基于其计算模型加以分类,归入某些语言族,或者属于某种编程范式。... 函数式 Lisp, ML, Haskell  数据流 ld, Val  逻辑式 Prolog  基于模板 XSLT 命令式(Im
  • 使用函数式语言写没有副作用的代码,就好比在Java或C#中使用final或是readonly的成员。 例如这里,我们有一个Point类,构造函数接受x和y,还有一个MoveBy方法,可以把一个点移动一些位置。 在传统的命令式编程中...
  • 漫谈函数式编程:聊聊 OCaml

    千次阅读 2019-07-02 03:29:12
    OCaml 最早称为 Objective Caml,是 Caml 编程语言的主要实现,开发工具包含交互顶层解释器,字节码编译器以及最优本地代码编译器。Ocaml 有一个巨大标准库,使得可以像 Python 或者 Perl 语言一样可以方便地开发...
  • 函数式编程含义

    千次阅读 2017-03-13 12:57:41
    1. 概论 在过去的近十年的时间里,面向对象编程大行其道。以至于在大学的教育里,...孰不知,在面向对象产生之前,在面向对象思想产生之前,函数式编程已经有了数十年的历史。 那么,接下来,就让我们回顾这
  • 函数式编程另类指南

    千次阅读 2012-08-24 12:37:41
    函数式编程另类指南 原文链接:Functional Programming For The Rest of Us 原文作者:Vyacheslav Akhmechet 翻译:lihaitao (电邮: lihaitao在gmail.com) 校对:刘凯清 程序员拖沓成性
  • 关于函数式编程(Functional Programming)的学习笔记Ⅰ 原文链接:http://www.cnblogs.com/TivonStone/archive/2010/10/08/1845569.html 0.要点 1.背景知识 2.函数式编程(FP) 3.FP的特性 1.背景知识  ...
  • 微软架构师谈编程语言发展

    千次阅读 2007-08-09 10:20:00
    微软架构师谈编程语言发展(一) 本文是对微软Channel 9中采访几个语言大牛的视频的翻译。视频在Channel 9,链接http://channel9.msdn.com/Showpost.aspx?postid=273697。名字为Anders Hejlsberg, Herb Sutter, Erik...
  • 函数式编程另类指南 ZZ

    千次阅读 2008-01-29 04:40:00
    函数式编程另类指南原文:Functional Programming For The Rest of Us 原文作者:Vyacheslav Akhmechet 翻译:lihaitao (电邮: lihaitao在gmail.com) 翻译原帖:函数式编程另类指南校对:刘凯清程序员拖沓成性,每天...
  • 微软架构师谈编程语言发展(五)

    千次阅读 2007-08-08 22:32:00
    微软架构师谈编程语言发展(五)译者:程化 (译者注:访谈到现在,众人已经很放松,谈话随意,插嘴较多,因此我加了比较多的句子补充和注解,利于理解。当然,这些是我自己的理解,可能是错误的,欢迎指正!) ...
  • 函数式编程扫盲篇(转)

    千次阅读 2015-08-27 20:30:34
    孰不知,在面向对象产生之前,在面向对象思想产生之前,函数式编程已经有了数十年的历史。 那么,接下来,就让我们回顾这个古老又现代的编程模型,让我们看看究竟是什么魔力将这个概念,将这个古老的概念,在21世纪...
  • F#语言快速教程

    千次阅读 2019-09-04 10:57:03
    F#是微软开发的基于.NET平台的一种函数式语言,而且支持面向对象。
  • 函数响应编程

    千次阅读 2016-08-18 14:04:29
    原文链接 : The introduction to Reactive Programming you've been missing作者 : @...相信你们在学习响应编程这个新技术的时候都会充满了好奇,特别是它的一些变体,例如:Rx系列、Bacon.js、RAC等等……
  • 【转】函数式编程另类指南

    千次阅读 2008-08-19 05:57:00
    在下面的小节中,我将会把Java作为一种函数式语言,并对其稍加修改使它成为一种可用的函数式语言。现在开始吧。  lambda 演算被设计用来探询关于计算的问题,所以函数式编程主要处理计算,并惊人地用函数来完成这...
  • 在下面的小节中,我将会把Java作为一种函数式语言,并对其稍加修改使它成为一种可用的函数式语言。现在开始吧。 [ 数学 , google , 算法 ] 数学之美 系列十六(上) 不要把所有的鸡蛋放在一个篮子里 -- 谈谈...
  • GCC新增的功能(微软vS不支持) ,主要为了防止宏展开出现问题,默认展开时是要加上一个;的(即 {;} ),(否则)容易出问题。 2、表达式是操作符、变量、常量的任意组合。在C语言中,花括号{}和分号;( 分号 ...
  • Visual C++2010的c++语言四大新特性

    千次阅读 热门讨论 2010-03-11 03:05:00
    微软即将在2010年4月12日发布VS2010的正式版,对于c++语言做了修改,使之更加符合c++标准。下面对于微软对于c++语言的修改做...Lambda表达式就是实现匿名函数的一种编程技巧,它为编写匿名函数提供了简明的函数式的句
  • 如果编程语言是一门武功绝学

    万次阅读 多人点赞 2021-05-22 16:30:06
    在编程的学习过程中,我们何尝不是从一招一函数、语法、特性等学起,掌握了一门编程语言后,再学习另一门语言就会快很多,如同拥有内功后,习得其他武功也会轻松很多。 如果编程语言是一门武功绝学,各语言分别...
  • 函数式语言Microsoft 研究院的 Don Syme 发明,作为 CLR 的 OCaml 语法兼容变体,但 F# 已经迅速地从科研转为投入实际应用。 随着函数式编程的概念通过 .NET 泛型和 LINQ 等技术越来越多地渗入主流语言(例如 ...
  • 编程语言分类

    万次阅读 2017-02-22 12:39:55
    有一种说法:一个好的计算机... 对一门函数式语言有所了解 打个比方:毕业时熟悉C、Java和Python,对Scala有一定了解,就算是符合这个条件了。 目前编程语言主要分为三大类: 1.机器语言 2.汇编语言 ...
  • 微软历史——VB

    千次阅读 2011-12-29 12:22:45
    BASIC是微软的起家产品,微软当然不忘了这位功臣。随着每一次微软技术的浪潮,Visual Basic都会随之获得新生。可以预见,将来无论微软又发明了什么技术或平台,Visual Basic一定会首先以新的姿态登上去的。如果你想...
  • 计算机语言种类

    千次阅读 2012-05-06 16:08:07
    今天来总结一下语言的种类,语言的种类从不同的角度会有不同的划分,比如机器语言、汇编语言、高级语言、低级语言(机器语言及汇编语言)、编译语言、解释型语言、脚本语言、动态语言、静态语言、函数式语言(比如F#及...
  • 一个无法在O(1)时间内简单地将一个列表折分出“第一个”和“不是第一个”元素的“函数式”语言是一种非常奇怪的函数式语言。 Swift特有reduce和map函数,它还具有第一类函数和模式匹配。并且,它还具有在其它函数...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 37,001
精华内容 14,800
关键字:

微软支持的函数式语言