zoukankan      html  css  js  c++  java
  • 关于functional program language 的理解

    简单说,"函数式编程"是一种"编程范式"(programming paradigm),也就是如何编写程序的方法论。

    是一种编程典范,它将计算机运算视为数学上的函数计算,并且避免使用程序状态以及易变对象。

    函数编程支持函数作为第一类对象,有时称为闭包或者仿函数(functor)对象。
    函数式编程的列子有:
    1.  LISP 
    2. Haskell
    3.  Scheme
    4.  Erlang
    用函数式编程的优点:
    1. 代码简洁,开发快速
    函数式编程大量使用函数,减少了代码的重复,因此程序比较短,开发速度较快。
    2. 接近自然语言,易于理解
    函数式编程的自由度很高,可以写出很接近自然语言的代码。
    3. 更方便的代码管理
    函数式编程不依赖、也不会改变外界的状态,只要给定输入参数,返回的结果必定相同。
    因此,每一个函数都可以被看做独立单元,很有利于进行单元测试(unit testing)和除错(debugging),以及模块化组合。
    4. 易于"并发编程"
    函数式编程不需要考虑"死锁"(deadlock),因为它不修改变量,所以根本不存在"锁"线程的问题。
    不必担心一个线程的数据,被另一个线程修改,所以可以很放心地把工作分摊到多个线程,部署"并发编程"(concurrency)。
    5. 代码的热升级
    函数式编程没有副作用,只要保证接口不变,内部实现是外部无关的。
  • 相关阅读:
    ACM ICPC 2008–2009 NEERC MSC A, B, C, G, L
    POJ 1088 滑雪 DP
    UVA 11584 最短回文串划分 DP
    POJ 2531 Network Saboteur DFS+剪枝
    UVa 10739 String to Palindrome 字符串dp
    UVa 11151 Longest Palindrome 字符串dp
    UVa 10154 Weights and Measures dp 降维
    UVa 10271 Chopsticks dp
    UVa 10617 Again Palindrome 字符串dp
    UVa 10651 Pebble Solitaire 状态压缩 dp
  • 原文地址:https://www.cnblogs.com/hhhkai/p/10440910.html
Copyright © 2011-2022 走看看