您当前的位置:首页 > 新闻 > 科技

函数式编程,真香

时间:2020-03-11 13:47:29  来源:  作者:

为什么函数式编程正在上升

函数式编程,真香

 

编程范例是一个术语,用于描述编写命令的方法。 语言的真正思想是建立在其编程范例之上的。 最著名的三种范例是面向对象的程序设计命令式程序设计和函数式程序设计。 任何一种意识形态都不会比另一种更好,因为通常它是关于使用正确的工具完成工作的。

函数式编程是大多数软件工程师至少对此不太熟悉的概念。 实际上,有史以来写给程序计算机的第二种编程语言Lisp完全在功能范式内。 通过简化的定义编程,函数式编程将数据的不变性和数学计算作为优先事项,而不是传统上修改存储在类构造函数中的部分对象。 在现代函数式编程中,这个想法有些冗长,不一定是一件坏事。 函数语言的可变性带来了更多实用性,我敢说:

功能性

功能编程。 考虑到这一点,函数式编程不限于函数式语言。 例如,Python具有功能特性。 尽管从传统上讲,函数式编程已经有了令人难以置信的不同,但是函数式和面向对象的范例似乎与大多数用于数据科学的语言有点相似。

我们做的伟大的事情

大多数功能语言的标题均带有"统计"字样。 这很方便,因为数据科学家非常像统计学家,只需要具备编程和机器学习技能即可。 函数式语言通常可以更快,而对于数据科学家而言,最重要的是更容易。

相信我,您不想浏览C代码,因为您的准确性有点低。 大多数功能语言都是完全可读的,并且很容易键入和掌握。 对于某些人来说,知道函数式编程是许多Inte.NET上最古老的大数据管道的基础,可能会令人感到意外。 实际上,随着机器学习和统计计算的兴起,函数式编程实际上变得越来越流行。

炫酷的编程语言

有许多很酷的统计语言,其中许多语言具有与其他更传统的特征交织在一起。 在函数式编程语言下,我非常喜欢很多很酷的语言。

Julia

 

Julia很容易成为我一直以来最喜欢的语言。 尽管Julia确实是功能性的,但它确实包含一些可变的和面向对象的属性,使其编程起来更加方便。Julia作为这样一种高级语言的速度非常快。 它易于键入,键入正确时,它可以与C一样快,同时比R和Scala易于阅读。 通常,不需要花费太多时间就可以在Julia中建立模型并对其进行训练,并且由于语言简单易行且ML速度快,这增加了使用Julia的好处。 在某些情况下,例如在我的ML包Lathe中,机器学习可以用更少的行完成,并且构造函数的属性可以使用参数多态性更轻松地进行突变。

Lisp

 

尽管Lisp不一定以其数据科学领域而闻名,但它仍然是一种非常酷的语言。 Lisp和Julia一样,使编程变得非常容易和方便。 Lisp的宏和Julia的宏是一个真正值得注意的属性。 宏本身是一项主要的功能性功能,如果正确使用,可以使笔记本编码真正容易。 应该注意的是,Lisp已将自己分为多种语言,包括Scheme,Clojure和(通用)Lisp。 很难理解或估计第二种高级语言及其功能的影响,但是范围肯定很大。

R

 

现在,我们迎接我们的好朋友R. R传统上是一种面向函数的语言,但是像大多数其他语言一样(或已经成为)多范式,这意味着它从每个特定的编程范式中进行选择。 很好,因为它使R具有可变性的优点。 R起源于S语言,并且一直专注于统计计算。

Haskell

 

Haskell与我上面提到的多种范式语言完全不同,Haskell以纯粹的功能而自豪。 我无法代表Haskell,与清单上的其他语言不同,我从未使用过。 但是据我所知,Haskell当然是一种很酷的语言。 我对学习Haskell的关注纯粹是局限性。 正如我所讨论的那样,大多数现代语言都是多范式的,这使它们可以有效地压缩需要压缩的任何错误,而无需创建新的代码库。

最后的想法

我的大部分时间都花在函数式语言(主要是Julia)上,如Github上的笔记本资料库所显示的那样,其中主要包含Julia笔记本。 我喜欢函数式编程,因为对于我所做的事情,它非常适合该规则。 当然,有时候Python构造函数(类)可能对某个特定的工作会更好,但是总的来说,Julia可以完成工作,而且键入的方式对我来说非常流畅和高效。 对于其他人而言,功能语言可能无法实现其目标,并且对于一生都使用面向对象语言的人来说可能很难学习。 归根结底,语言是一种选择,大多数语言都有开发人员,大多数语言都有优缺点。



Tags:函数式编程   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
开始切入正题之前,有必要告知大家一下,这篇文章可能有一些深度,初学者可能理解会有些吃力。我会尽量把复杂问题简单化,争取让每个阅读的童鞋们都能看得懂。希望你对element-ui,vu...【详细内容】
2022-03-16  Tags: 函数式编程  点击:(78)  评论:(0)  加入收藏
函数式编程已经存在了60多年,但是到目前为止,它一直都很小众。只有像Google这样的改变游戏规则的企业才会依赖函数式编程,普通程序员对此几乎一无所知。 这种情况很快就要被改...【详细内容】
2020-11-05  Tags: 函数式编程  点击:(126)  评论:(0)  加入收藏
JavaScript是一种发展迅速的语言。这篇文章,我想展示一些有关如何在JavaScript中应用函数式编程的示例。JavaScript中的函数式编程即使函数式编程可以极大地改善应用程序的代...【详细内容】
2020-06-09  Tags: 函数式编程  点击:(57)  评论:(0)  加入收藏
函数式编程或者函数程序设计,又称泛函数编程,是一种编程范式。在Python中,函数编程主要有以下4个函数的使用构成:lambda()、map()、reduce()、filter(),下面我们来一一讲解这些...【详细内容】
2020-04-16  Tags: 函数式编程  点击:(55)  评论:(0)  加入收藏
为什么函数式编程正在上升 编程范例是一个术语,用于描述编写命令的方法。 语言的真正思想是建立在其编程范例之上的。 最著名的三种范例是面向对象的程序设计,命令式程序设计...【详细内容】
2020-03-11  Tags: 函数式编程  点击:(176)  评论:(0)  加入收藏
函数式编程在前端已经成为了一个非常热门的话题。在最近几年里,我们看到非常多的应用程序代码库里大量使用着函数式编程思想。...【详细内容】
2019-09-24  Tags: 函数式编程  点击:(265)  评论:(0)  加入收藏
前置内容为了更容易理解闭包,在说闭包之前,讲一下两个概念:作用域和嵌套函数。 作用域作用域是变量能被访问的范围,定义在函数内的变量是局部变量,局部变量的作用范围只能在函数...【详细内容】
2019-07-17  Tags: 函数式编程  点击:(433)  评论:(0)  加入收藏
▌简易百科推荐
IT之家 7 月 15 日消息,谷歌今天正式发布了 Chrome OS Flex,这是为企业和学校设计的新版本 Chrome OS,可在旧 PC 和 Mac 上安装和运行。谷歌今年早些时候首次开始测试 Chrome O...【详细内容】
2022-07-15  IT之家    Tags:Chrome OS Flex   点击:(2)  评论:(0)  加入收藏
作为全球第一大浏览器,谷歌Chrome好用、方便是公认的,然而吃内存和CPU也是一大问题,尤其是标签开多了的情况,为此谷歌也在测试版Chrome中引入了新的杀后台技术,可以快速降低资源...【详细内容】
2022-07-15    中关村在线  Tags:浏览器   点击:(2)  评论:(0)  加入收藏
今年二月份的时候,Google 推出了 “全新” 的操作系统 chromeOS Flex,在经过五个多月的早期预览阶段后,chromeOS Flex 在今天推出首个稳定版本(版本 103),稳定版本意味着所有对这...【详细内容】
2022-07-15  微软NETCORE    Tags:Google   点击:(1)  评论:(0)  加入收藏
环状RNA在生物体细胞内极其稳定,是治疗人类疾病的热门靶点。其应用潜力非常大,为生物医药领域开拓了全新的思路。功能较明确的环状RNA既可以作为某些疾病诊断的生物标志物,也可...【详细内容】
2022-07-15    中国网  Tags:环状RNA   点击:(3)  评论:(0)  加入收藏
文/VR陀螺 万里AR这一概念最早由波音公司研究员Tom Caudell于1990年提出。经过这些年发展,AR在很多领域都已得到了相应的应用,比如《Snapchat》引入AR滤镜,为我们的社交娱乐增...【详细内容】
2022-07-12  VR陀螺    Tags:AR HUD   点击:(5)  评论:(0)  加入收藏
当地时间6月7日,欧盟议会和欧盟理事会达成一项政治协议,要求从智能手机、耳机到数码相机、平板电脑的所有产品的制造商都要使用相同的通用充电端口:USB Type-C(以下简称USB-C)...【详细内容】
2022-07-12    科技日报  Tags:充电接口   点击:(6)  评论:(0)  加入收藏
中新财经记者 吴涛据日本媒体报道,射击日本前首相安倍晋三的枪手,使用的枪支或为3D打印而来,不过制作弹药相对困难,来源成谜。案发当日,“3D打印”等词在日本搜索热度大幅上涨。3...【详细内容】
2022-07-11    中国新闻网  Tags:3D打印   点击:(22)  评论:(0)  加入收藏
记者7月9日获悉,长三角一体化示范区执委会联合中国人民银行上海总部等相关部门于近日印发《示范区数字人民币2022年试点工作安排》,明确了示范区2022年数字人民币创新试点工作...【详细内容】
2022-07-10    中国日报网  Tags:数字人民币   点击:(5)  评论:(0)  加入收藏
今时今日,我们不可能逃避围绕NFTs、metaverse和Web3所产生的传闻。在过去的几个月里,我们收到了许多来自客户、朋友和合作伙伴的问题,询问我们对上述所有问题的看法,更重要的是,...【详细内容】
2022-07-10  诠释一种信仰Faith    Tags:数字营销   点击:(7)  评论:(0)  加入收藏
 显示IP属地会泄露个人信息吗  □ IP属地不等于IP地址,公开的IP属地信息仅展示为省(自治区、直辖市)或国家(地区),难以直接通过该信息识别到或关联到特定的自然人。  □...【详细内容】
2022-07-10    经济日报  Tags:IP属地   点击:(6)  评论:(0)  加入收藏
站内最新
站内热门
站内头条