`

函数式编程 读后感

阅读更多

 

一篇比较不错的文章: http://coolshell.cn/articles/10822.html

 

以使用Erlang的感觉看, 其具有很多函数式编程的优点与多线程支持的好处.

 

函数式编程主要具有如下特性:

  • 所有都可以转变成函数
  • 赋值后的变量在解释器层面具有不可变性
  • 尾递归优化

主要技术:

  • Map & Reduce
  • Pipeline
  • 递归
  • 参数与返回值均可以是函数

在Ruby中,可以吸取函数式编程带来的建议(Ruby Best practices):

  • 仅lamba表达式是用时求值,其它都是及时处理的
  • 在编码时,需要注意变量影响问题(grub!等会对变量自身进行改动)
  • 通过模块对函数块进行封装与管理
  • 通过空间换时间进行优化(Ruby Memorize API)

 

分享到:
评论

相关推荐

    《Clean Code》读后感

    在阅读这本书后,我收获了许多关于如何改进编程实践和团队协作的关键知识点。 1. **命名规范**:书中强调了良好的命名习惯对于代码可读性的关键作用。变量、函数和类的名称应清晰地反映出它们的用途和功能,避免...

    Java编程思想读书笔记.doc

    以上知识点总结了《Java编程思想》前几章的主要内容,涵盖了对象的创建与存储、类的定义、函数参数和返回值、运算符与流程控制以及初始化等方面的基础知识,对于初学者理解和掌握Java语言的基本概念非常有帮助。

    Java编程思想读书笔记.rar

    引数组建立后,其中的每一个reference都会被自动设为null,表示“不指向任何对象”。 二.建立新的数据型别:Class 1. 数据成员和函数 1.1 基本成员的缺省值 1) 当class的某个成员属于基本型别时,即使你没有...

    《苏菲的世界》读后感2.pdf

    例如,函数式编程的理念源自数学和逻辑,强调计算的纯性和无副作用,这与哲学中追求真理的本质有异曲同工之妙。 其次,计算机科学中的“算法”可以与哲学中的“方法论”相提并论。算法是解决问题的步骤,而方法论则...

    高质量C++编程规范——林锐博士编写

    变量名应反映其用途,函数名应表明其功能,类名通常采用驼峰式命名,头文件常使用小写字母和下划线组合。 2. **注释与文档**:良好的注释能够帮助理解代码意图,减少阅读和维护成本。每个函数、类和模块都应有简短...

    算法导论 读书笔记

    在处理思考题时,通常要求对和式的渐近确界进行求解。这涉及到不仅要找到上界和下界,还要证明找到的界限是最紧的,即对于任何其他的上界或下界,都能找到相应的例子使得它们不是最紧的界限。 通过对这些算法相关...

    PyPI 官网下载 | coconut-develop-1.4.0.post0.dev26.tar.gz

    总的来说,`coconut-develop-1.4.0.post0.dev26.tar.gz`是一个为Python程序员提供高级编程特性的库,特别是对函数式编程感兴趣的开发者,可以尝试使用它来提升开发效率和代码质量。不过,由于是开发版本,建议在非...

    flash殿堂之路学习笔记

    ActionScript3是Adobe Flash平台上的脚本语言,用于创建交互式的多媒体内容。这一章节将介绍ActionScript3的基本概念,包括语法、特性以及如何设置开发环境。了解开发工具如Flash Professional或Adobe Animate CC,...

    Python-owoScript是一个基于堆栈命令式和图灵完整的编程语言

    Python-owoScript是一种创新的编程语言,它融合了堆栈命令式编程的特性与图灵完全的概念。在深入了解owoScript之前,我们先来理解这两个关键概念。 **堆栈命令式编程**: 堆栈命令式编程语言是那些依赖于内部数据...

    编写可读性代码的艺术.docx

    书中没有给出绝对的规则,如限制函数长度或禁止解释性注释,而是提供了目标和判断标准,让读者根据实际情况做出明智的选择。 书中大量使用C++、Python、JavaScript和Java等语言的实例,展示了如何通过命名、注释和...

    java8:使用版本 8 的 Java 编程

    在本文中,我们将深入探讨Java 8的核心特性,包括Lambda表达式、函数式编程、Stream API、日期与时间API以及方法引用来帮助你更好地理解和运用这个版本。 1. Lambda表达式 Lambda表达式是Java 8最重要的特性之一,...

    深入python中文版

    5. **函数式编程**:Python支持高阶函数、闭包、匿名函数(lambda表达式)和map、filter、reduce等函数式编程概念。 6. **模块和包**:了解如何组织代码,创建和导入自定义模块,以及如何构建和使用Python的包结构...

    Python精通经典书籍荟萃

    这本书涵盖了Python的许多高级特性,如列表推导式、上下文管理器、生成器以及元编程等。通过这些最佳实践,读者可以提高代码质量,优化程序性能,并更好地遵循Python的编程风格。 "Mastering Python"是一部更为深入...

    seven languages in seven weeks

    Scala**:结合了面向对象和函数式编程特性的语言,运行在 Java 虚拟机上,具有强大的类型系统和简洁的语法。 **5. Clojure**:Lisp 家族的一员,同样运行在 Java 虚拟机上,支持多线程编程,并且有丰富的集合数据...

    COMP3220:奥本大学-编程语言原理

    在COMP3220课程中,学生将首先接触到编程语言的基本概念,如语法、语义、类型系统、内存管理、控制结构以及函数式编程思想。这些基础知识是理解任何编程语言的基础,对于Ruby也不例外。然后,课程会深入Ruby的特性,...

    程序编程规范(代码与注释).doc

    1. 代码必须清晰、易读,适当地将代码分段,使用‘{’‘}’将函数分成小的单元。 2. 适当地加入空行,使代码更加清晰。 3. 建议遵循三十秒原则,即另一个程序员可以在三十秒之内了解函数的作用、如何实现和为什么...

    计算机与编程基础知识学习_JxHacker.pdf

    结构化编程强调程序的模块化,通过函数和流程控制结构(如循环)来组织代码,使其更易读、易理解和调试。而面向对象编程则基于类和对象,允许数据和操作数据的方法封装在一起,提高了代码的复用性和可维护性。 本书...

    Google C++编程风格指南

    类名使用驼峰式命名(如ClassName),函数名和变量名使用下划线连接的小写单词(如function_name)。常量则使用全大写字母并用下划线分隔(如CONSTANT_NAME)。 2. **注释与文档**:良好的注释是代码可读性的关键。...

Global site tag (gtag.js) - Google Analytics