0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

为什么函数式编程正在上升函数式编程语言有哪些

Wildesbeast 来源:今日头条 作者:闻数起舞 2020-02-24 15:06 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

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

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

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

功能性

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

我们做的伟大的事情

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

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

炫酷的编程语言

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

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可以完成工作,而且键入的方式对我来说非常流畅和高效。 对于其他人而言,功能语言可能无法实现其目标,并且对于一生都使用面向对象语言的人来说可能很难学习。 归根结底,语言是一种选择,大多数语言都有开发人员,大多数语言都有优缺点。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 编程语言
    +关注

    关注

    10

    文章

    1965

    浏览量

    39859
  • 函数
    +关注

    关注

    3

    文章

    4421

    浏览量

    67826
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    嵌入开发常用函数速查表

    在嵌入开发中,掌握常用函数的用法可以大大提高开发效率。无论是单片机初学者还是一定经验的工程师,熟悉函数库和调用方式都是必备技能。今天,我们为大家整理一份嵌入
    的头像 发表于 01-19 09:06 464次阅读
    嵌入<b class='flag-5'>式</b>开发常用<b class='flag-5'>函数</b>速查表

    C语言增量PID的通用算法

    C语言增量PID通用算法控制算法中PID使用的非常广泛,但是在网上找代码的时候发现好多代码都不够通用,需要自己改好多东西,而且当一个项目需要使用多个PID控制器时也颇为麻烦,这里设计一个通用的增量
    发表于 01-14 08:28

    C语言函数指针的六个高级的应用场景

    函数指针是一种非常强大的编程工具,它可以让我们以更加灵活的方式编写程序。在本文中,我们将介绍 6 个函数指针的高级应用场景,并贴出相应的代码案例和解释。 回调函数 回调
    发表于 01-04 12:25

    C语言嵌入系统编程注意事项-内存操作

    C语言嵌入系统编程注意事项之内存操作 在嵌入系统的编程中,常常要求在特定的内存单元读写内容,汇编
    发表于 01-04 07:31

    如何用好 C 语言函数的返回值?

    潜规则”更好一点。 仔细考虑下,其实C语言函数使用返回值 0 表示成功是原因的。更一般的C语言函数返回值并不一定只有两种可能值(成功/失败
    发表于 12-25 07:17

    西门子PLC中函数FC的使用方法

    函数函数块作为模块化编程的重要组成部分,在PLC 用户程序中有着相当频繁的应用。两者在生成与使用的过程中都有一定的相似,且都不能单独使用。而需要赋予特定的功能,由组织块(OB)直接或者间接进行调用。
    的头像 发表于 12-19 11:26 4548次阅读
    西门子PLC中<b class='flag-5'>函数</b>FC的使用方法

    单片机C语言编程的心得

    写这个8*8按键程序的过程中,不管是在自己写还是参考别人程序的过程中,发现自己对C语言有些基本知识点和编程规范很多不懂的地方,有些是自己以前的编程习惯不好,有些就是基础知识不扎实的表
    发表于 12-08 07:44

    C语言编程技巧

    设计,分层开发代码,便于理解和维护。 ‌8、避免使用GOTO语句‌:尽管GOTO语句在某些情况下仍然有用,但现代编程更倾向于使用函数和循环控制结构,以提高代码的可读性和维护性。 ‌9、利用C语言的灵活性
    发表于 11-27 06:46

    LUA例程-常用的回调函数使用说明

    详细说明LUA脚本函数功能和对应的应用实例。对于LUA脚本编程很大的帮助和提高技能。
    发表于 11-24 16:43 0次下载

    2025年最佳的嵌入编程语言哪些呢?

    嵌入系统是现代科技不可或缺的一部分。它们存在于家用电器、汽车、住宅、医院、商店等各个领域。它们与我们的社会紧密相连。选择合适的语言来构建嵌入系统对于成功至关重要。那么,2025年最佳的嵌入
    的头像 发表于 11-14 10:27 1757次阅读
    2025年最佳的嵌入<b class='flag-5'>式</b><b class='flag-5'>编程</b><b class='flag-5'>语言</b><b class='flag-5'>有</b>哪些呢?

    一文了解Mojo编程语言

    Mojo 是一种由 Modular AI 公司开发的编程语言,旨在将 Python 的易用性与 C 语言的高性能相结合,特别适合人工智能(AI)、高性能计算(HPC)和系统级编程场景。
    发表于 11-07 05:59

    详解hal_entry入口函数

    当使用RTOS时,程序从main函数开始进行线程调度;当没有使用RTOS时,C语言程序的入口函数main函数调用了hal_entry函数。由
    的头像 发表于 07-25 15:34 2219次阅读

    C语言中的内联函数与宏

    在C编程中,内联函数和宏都用于避免函数调用的开销并编写可复用的逻辑部分,但它们在工作方式和安全性方面存在显著差异。
    的头像 发表于 07-25 15:10 2064次阅读
    C<b class='flag-5'>语言</b>中的内联<b class='flag-5'>函数</b>与宏

    深入理解C语言函数编程中的“积木块”艺术

    编程的世界里,函数就像建筑中的“积木块”——它们是构建复杂程序的基石。通过灵活组合这些模块,开发者能打造出功能强大且结构清晰的代码。函数之所以成为C语言的核心,正是因为它解决了
    的头像 发表于 06-30 17:26 2030次阅读
    深入理解C<b class='flag-5'>语言</b>:<b class='flag-5'>函数</b>—<b class='flag-5'>编程</b>中的“积木块”艺术

    单片机c语言编程实例大全

    单片机c语言编程实例大全_18
    发表于 04-30 16:11 7次下载