haskell程序设计语言

根据 haskell官方定义,haskell是polymorphically(多态) statically typed静态类型), lazy(懒计算), purely functional language(纯函数程序设计语言).而函数程序设计语言都是以 lambda calculus为理论基础的。事实上,现在越来越多的编程语言(如 pythonrubyf#等)也加入了函数程序设计语言的特征。函数程序设计语言与其他的程序设计语言最大的不同在什么地方呢?函数程序设计语言最大的特点在于只需要告诉计算机做什么,然后即可得到结果。其他的程序设计语言则需要告诉计算机怎么做,然后才能得到结果。这也就是what to do 和how to do的区别。换句话说,函数程序设计语言编程需要更多的时间来考虑设计,如果设计考虑完善,那么代码编写应该是很容易直观的。个人感觉不同的程序设计语言都有自己不同的适合领域,就像c语言适合于系统编程,haskell应该更适用于数学方面的应用(其理论基础是lambda calcus,与图灵机是完全等价的),比如计算机数学方面的教学或者解决一些数学问题。当然,haskell还能做到更多(跟其他很多编程语言如 perl, python, tcl, ruby一样几乎可以用来完成所需要的任何功能,但不一定是最适合的)从网络到系统编程、图像设计等等都完全可以实现,但我对haskell的了解还很肤浅,只能介绍一些基本的知识。

       haskell语言的程序代码非常紧凑,通常其代码量仅仅是c/c++等语言的几分之一,这能很好的减小项目管理上的负担。比如我想找出从1到1000之间所有能被同时被3,5,7整除的数,那么一行代码就解决了:
[x|x<-[1..1000],x `mod` 3 == 0, x `mod` 5 == 0, x `mod` 7 == 0]
如果对haskell感兴趣,可以到 tryhaskell尝试一些简单的编程,直接在网页中输入代码即可。

haskell相关书籍:
learn you a haskell
real world haskell

实用手册:
haskell cheatsheet
haskell 98 languages and librarys report

更多内容见 haskell wiki

你可能感兴趣的:(编程,python,haskell,Ruby,Tcl)