|||
给大学生上计算机的第一门课:大学计算机、计算思维或计算概论, 涉及到选取程序设计语言。大家争论不休,我突然想到了二十年前上大学时,老师说高级语言处于第四代语言的研究阶段,四代语言的本质是将问题描述清楚(what to do)就行,而不是(How to do)告诉计算机怎么做。这样就可以大大地降低编程的难度和复杂性。当时只是听了点概念,没有什么认识。现在面临选择,故找了点四代语言的资料,觉得四代语言成功的不多,最成功的是数据库领域的SQL,其他面向编程方面的语言,我想命令式语言少有四代语言的特性,逻辑式和函数式稍好些。
上学期给一年级研究生介绍过函数式语言Haskell,觉得其非常agile,有点四代语言的味儿,故举编程中常见的快速排序一例供参考。Haskell代码如下:
qsort [] = []
qsort (x:xs) = qsort less ++ [x] ++ qsort more
where less = [y | y <- xs, y < x]
more = [y | y <- xs, y >= x]
以上是程序,若对 12,34,9,1,323,2,3进行排序按如下方式调用
qsort [12,34,9,1,323,2,3]
从上面看出Haskell与C,Java等相比是非常接近人的数学思维的,所以不妨第一门课用Haskell。
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-9-24 21:27
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社