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

    文章

    1959

    浏览量

    38918
  • 函数
    +关注

    关注

    3

    文章

    4406

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    C语言编程技巧

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

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

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

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

    嵌入系统是现代科技不可或缺的一部分。它们存在于家用电器、汽车、住宅、医院、商店等各个领域。它们与我们的社会紧密相连。选择合适的语言来构建嵌入系统对于成功至关重要。那么,2025年最佳的嵌入
    的头像 发表于 11-14 10:27 903次阅读
    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 1664次阅读

    C语言中的内联函数与宏

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

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

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

    嵌入编程设计模式

    嵌入编程设计模式,介绍如何使用设计模式为嵌入系统创建高效且优化的C语言设计。 纯分享贴,需要可以直接下载附件获取完整资料! (如
    发表于 04-15 14:47

    函数指针的六个常见应用场景

    函数指针在嵌入开发中有着广泛的应用,它让代码更加灵活,减少冗余,提高可扩展性。很多时候,我们需要根据不同的情况动态调用不同的函数,而函数指针正是实现这一需求的重要工具。本文将介绍六个
    的头像 发表于 04-07 11:58 1130次阅读
    <b class='flag-5'>函数</b>指针的六个常见应用场景

    数字电路编程语言介绍

    数字电路编程语言是专门为描述和模拟数字电路而设计的编程语言。它们通常具有以下特点: 硬件描述语言(HDL) :大多数数字电路
    的头像 发表于 01-24 09:39 1392次阅读

    gitee 支持的编程语言哪些

    Gitee(码云)是一个基于 Git 的代码托管和研发协作平台,类似于 GitHub 和 GitLab。它支持多种编程语言,允许开发者托管和管理代码,进行版本控制,以及协作开发。以下是一些
    的头像 发表于 01-06 09:50 1108次阅读

    三菱PLC编程语言解析

    三菱电机(Mitsubishi Electric)是全球知名的自动化和制造解决方案供应商,其PLC(可编程逻辑控制器)产品广泛应用于工业自动化领域。三菱PLC编程语言主要基于国际标准IEC
    的头像 发表于 12-26 17:36 2235次阅读

    Triton编译器支持的编程语言

    Triton编译器支持的编程语言主要包括以下几种: 一、主要编程语言 Python :Triton编译器通过Python接口提供了对Triton语言
    的头像 发表于 12-24 17:33 1469次阅读

    HP3324A合成函数/扫描发生器操作和编程手册

    电子发烧友网站提供《HP3324A合成函数/扫描发生器操作和编程手册.pdf》资料免费下载
    发表于 12-19 14:19 0次下载

    新手怎么学嵌入?

    的运行机制。例如,了解数据结构中的链表、栈和队列,对于在嵌入编程中管理数据非常有帮助。 2. 选择合适的编程语言 嵌入开发中常用的
    发表于 12-12 10:51