- 函数式是可变数据和不可变数据分开的。
- 函数式是可执行和不可执行分开的。
- 函数式是不变的,面向对象是多变的。
- 不可变的好处
- 函数式更明确,就像unix的命令一样。屏蔽了实现。函数式就像unix命令一样让人熟悉。
- 不可变,大家的交流语言就是统一的。
- 面向对象方便更改也增加了复杂程度。因为要面对多个对象。
- 可变的好处
- 面向对象则是多变的。可以适应复杂的情况。方便进行更改。
- 面向对象对命名的负担清。
- 函数内部引用参数则比较繁琐,直接引用,需要写结构名,如果想简化,就要重新赋值。
- 高级与底层
- 面向对象更高级,更符合人的思维。
- 函数式更底层,更有执行效率。
- 适用
- 面向对象适合写只用在一个地方的东西。
- 函数式适合写大家都用的东西。
- 互通
- 函数式可以用结构数据类型来模拟面向对象。
- 函数通过可选项来保持变化。
- 函数式是必须要有一个参数,面向对象是必须要有一个对象。
- 顺便说
- 王垠:链表比数组的消耗大。
- 动态语言就是可重载、数据可变、不区分执行和非执行,也就是和面向对象特征相似。
- c语言之上的编程语言,为了适应c语言,都函数式特征明显,都排斥面向对象。
Categories
Tags
-
Recent Posts
Recent Comments
- 路过 on pypy
- 方清 on 关于“一分为四”的一些介绍
- 方清 on 关于“一分为四”的一些介绍
Archives
- February 2023
- August 2022
- February 2022
- December 2021
- January 2021
- December 2020
- April 2020
- February 2020
- January 2020
- October 2019
- September 2019
- November 2018
- October 2018
- June 2018
- May 2018
- April 2018
- March 2018
- January 2018
- December 2017
- November 2017
- October 2017
- September 2017
- August 2017
- July 2017
- June 2017
- March 2017
- February 2017
- January 2017
- December 2016
- November 2016
- October 2016
- August 2016
- June 2016
- May 2016
- February 2016
- January 2016
- August 2015
- July 2015
- April 2015
- October 2014
- May 2014
- April 2014
- March 2014
- January 2014
- December 2013
- September 2013
- August 2013
- June 2013
- May 2013
- April 2013
- March 2013
- October 2012
- September 2012
- August 2012
- July 2012
- June 2012
- April 2012
- March 2012
- January 2012
- December 2011
- November 2011
- October 2011
- September 2011
- August 2011
- July 2011
- June 2011
- March 2011
- February 2011
- January 2011
- December 2010
- August 2010
- July 2010
- June 2010
- May 2010
- March 2010
- February 2010
- January 2010
- April 2008
- August 2007
- July 2007
Meta