最新 | 最热门 | 最高评价

+0  从Java和JavaScript来学习Haskell和Groovy(汇总)

Tag: Programming Paradigm | Recommended | Groovy | Haskell | Java | JavaScript
四火 发于 2015年07月24日 08:09 | 点击: 817 | 展开摘要
这是这个系列的最后一篇,从编程范型的角度概览,前面几篇的链接在文章后半部分有汇总。

我在之前已经介绍过编程范型的概念,而事实上,我们到现在为止,纠结在这四门迥异的语言上面,浅看是各种语言特性,深看就是编程范型和思维方法。

下面这张“神图”来自于这里,可以说是对于范型和语言归类的概览,从左往右从更强的声明式向着更弱的声明式发展;依据状态分为Unnamed state(串行或并发,包含逻辑式和函数式这几种分类)、Nondet. state(所谓的不确定性状态)和Named s

查看全文: http://www.udpwork.com/item/14427.html

+0  从Java和JavaScript来学习Haskell和Groovy(DSL)

Tag: Programming Paradigm | Groovy | Haskell | Java | JavaScript
四火 发于 2015年07月13日 01:03 | 点击: 927 | 展开摘要
这是《从Java和JavaScript来学习Haskell和Groovy》系列的第四篇。

首先来理解DSL。

DSL(Domain Specific Language)指的是一定应用领域内的计算机语言,它可以不强大,它可以只能在一定的领域内生效(和GPL相比,GPL是General Purpose Language),表达仅限于该领域,但是它对于特定领域简洁、清晰,包含针对特定领域的优化。

当我们面对各种各样的特定需求的时候,一个通用的语言往往不能高效地提供解决问题的路

查看全文: http://www.udpwork.com/item/14396.html

+0  从Java和JavaScript来学习Haskell和Groovy(元编程)

Tag: Programming Paradigm | Groovy | Haskell | Java | JavaScript
四火 发于 2015年06月26日 08:16 | 点击: 853 | 展开摘要
本篇文章的话题是元编程。首先来认识元编程,我在第一篇《引子》里面已经介绍:元编程,指的是在运行时改变“类”的定义,例如访问、增加或修改等等。一言以蔽之,就是“用程序来写程序”。在第二篇的《类型系统》里面已经借由继承和接口的实现,介绍了一些利用元编程特性来增加或改变子类行为的方法。回顾语言发展的长河,其实是经历了一个从“对象 -> 类 -> 元类”到“对象 -> 原型”的发展过程的。所以,无论是类,还是元类,这样的概念其实都不是非有不可的,只是因为我们思考的习

查看全文: http://www.udpwork.com/item/14335.html

+0  从Java和JavaScript来学习Haskell和Groovy(类型系统)

Tag: Programming Paradigm | Groovy | Haskell | Java | JavaScript | 类型
四火 发于 2015年04月19日 14:31 | 点击: 617 | 展开摘要
接上文《从Java和JavaScript来学习Haskell和Groovy(引子)》。

首先搞清几个概念:

动态类型(Dynamic Typing)和静态类型:区别的核心在编译期还是运行时。静态类型的语言系统在编译期就明确知道每一个变量的类型,如果发现不合法的类型赋值就在编译期报错;动态类型则直到运行时才会报错。

类型推导(Type Inference),类型推断是指可以在上下文中,编译器来推导实际的类型,也就是代码使用隐式类型指定。比如一个简简单单的“var

查看全文: http://www.udpwork.com/item/14114.html

+0  从Java和JavaScript来学习Haskell和Groovy(引子)

Tag: Programming Paradigm | Groovy | Haskell | Java | JavaScript
四火 发于 2015年04月12日 13:51 | 点击: 949 | 展开摘要
我记得刚接触计算机的时候,我就受到了两个非常巨大的错误观念的影响,这个观念最初是来自于老师的传授还是学长的教诲已经记不清了,但是直到我工作几年以后,才慢慢有了实际的体会:

学习和使用什么编程语言不重要,重要的是算法和设计;

程序员学习的精髓是面向对象的设计模式,掌握以后,一通百通。

简直就是是胡扯啊。也许在某个极其狭隘的上下文中还能这样说,但是泛泛而谈,这样的态度无疑是误人子弟的。

就说第一条,编程语言不但重要,而且太重要了。换句话说,学习一门新的编程语言,可能学习的

查看全文: http://www.udpwork.com/item/14089.html

+0  Continuation Passing Style的map和filter

Tag: Programming | continuation passing style | cps | filter | haskell | map
liuw 发于 2010年10月20日 10:51 | 点击: 1817 | 展开摘要
近来在重新学习Haskell,自我感觉还是很有收获的,原来对这个语言有很多的误解(以前看得不够仔细,想得不够多)。

放出Continuation Passing Style的map和filter,自己做的Yet Another Haskell Tutorial练习4-12的解答。

cmap' f' z [] = z
cmap' f' z (x:xs) = f' x z (\y -> cmap' f'

查看全文: http://www.udpwork.com/item/3115.html
|<<<1>>>| 一共1页, 6条记录