Start Learning Scala

还记得大三时候室友打印了一本厚厚的SICP来读,当时我还不以为意。不过读了Paul Graham《黑客与画家》后我也想亲自尝试一下,领略下Functional Programming(函数式编程)的威力。

于是选了Coursera上的函数式编程课程Functional Programming Principles in Scala,老师是欧洲名校EPFL(洛桑联邦理工学院)的教授,Scala语言的发明人Martin Odersky。目前我刚刚完成前两周的课程,这里从第一周的第一个Lecture里摘选一点内容,简单介绍一下函数式编程。


---

在说“函数式”之前,先要知道它是一种编程范式(Programming paradigm)

Wikipedia上指出:

编程范式是一类典型的编程风格,是指从事软件工程的一类典型的风格(可以对照方法学)。
编程范式提供了(同时决定了)程序员对程序执行的看法。

常见的编程范式有:

  • imperative programming(命令式编程)
  • functional programming(函数式编程)
  • logic programming(逻辑式编程)
  • object-oriented programming(面向对象编程)

More