狗万登陆 >狗万登陆 >我现在听不到! 什么是函数式编程[适合初学者] >

我现在听不到! 什么是函数式编程[适合初学者]

2019-09-15 06:30:13 来源:环球网
A+ A-

详细描述了函数式编程语言。

可能有很多人想知道与其他语言相比什么是有用的以及使用了什么服务。

在实际开发领域开始采用的公司数量正在增加,所以如果你想从现在开始学习,让我们知道这些功能。

什么是函数式编程

许多主要语言(如Java,JavaScript,PHP和Ruby)都称为命令式编程。

面向对象的语言也包含在命令式编程中。

但究竟什么是函数式编程?

与命令式编程不同,在函数式编程中,您基本上只编写函数。

诸如for语句之类的函数也可以替换。

这样,与命令式编程不同,您可以表达问题的本质,而不是解决问题的过程。

它已被研究人员使用,因为它可以用更接近数学的表达式编写。

函数式编程的优点

可以用数学方式写

如上所述,由于它可以用数学方法编写,因此它可以用于研究目的。

高度可扩展性

虽然命令式编程语言可以定义函数和类,但它不能扩展语言本身的功能。

函数式编程语言具有高度可扩展性,可以更改编程语法本身

副作用很少

面向对象编程允许方法操纵生成的实例。

重复操作时,实例中变量的值将发生变化。

除此之外,返回到方法输入的输出值也会发生变化。

这种现象称为副作用。

在函数式编程中编写不太可能导致这些副作用。

如果没有副作用,相同的输出将始终返回到输入,因此您可以编写一个简单的程序。

延迟评估

延迟评估是一种使用计算结果的机制,以便省略不必要的计算。

因此,惰性编程函数编程语言可以快速完成相同计算多次出现的过程。

函数式编程的缺点

它很容易依赖于环境

函数式编程语言具有高度可扩展性,但可以通过方言扩展。

然后,即使它是一个可以在您的环境中运行的程序,它也不会在其他环境中运行。

因此,Common Lisp和Scheme等标准化的运动在功能编程语言LISP中取得了进展。

编写国家转型过程很困难

副作用较少是一个优点,但它很难描述状态转换处理。

此处的状态转换是继承先前计算结果并执行进一步计算的过程。

例如,考虑比赛游戏的强度值。

如果你攻击对手,对手的力量将被攻击值降低。

你的攻击越多,你就越失去力量。

换句话说,它接管先前的强度值并进一步计算攻击值减去强度值。

但是,函数式编程语言中的函数始终返回相同的值,因此它们无法继承先前的计算结果。

为了实现这样的处理,需要写入函数返回的值进一步传递给函数。

功能语言类型

斯卡拉

Scala是一种语言,它具有面向对象语言和在JVM上运行的数值编程语言的两个特性。

您可以使用Java库。

在JVM上运行的其他语言包括Clojure和F#。

它在Twitter后端使用,并在LinkedIn中使用。

二郎神

Erlang特别擅长编写并发性。

并行处理是同时执行多个进程。

最初在爱立信内部开发的内容作为开源发布。

它被LINE和WhatsApp采用。

哈斯克尔

Haskell被称为纯函数式编程语言,其语法远非主要语言。

学习障碍很昂贵,但您可以编写高度可维护的代码。

此外,Haskell有一个懒惰的评估。

它已被引入一些金融系统,但其实际应用并不十分活跃。

到目前为止,我们已经介绍了函数式编程语言

由于其易用性,越来越多的公司正在从其他语言迁移。 有很多公司考虑将来招聘,所以请一次学习。

TechAcademy为工程师提供为期八周的 ,为20多岁和30多岁的工程师提供IT公司和SI公司的工作经验。

你可以每天询问现役工程师的导师。 请考虑您是否觉得自己有限。

责任编辑:厉溪栀 CN037