声明式编程与函数式编程_最好与函数式编程共享

声明式编程与函数式编程

凯蒂·米勒(Katie Miller)是Red Hat的开源平台即服务, OpenShift的开发倡导者,并且是Lambda Ladies组织中的女性函数编程联合创始人。 她热爱语言和语言学,也热衷于开源。

我的笔记本电脑上贴着红帽标签,上面写着: 最好共享。

在这次采访中, 凯蒂(Katie)与我分享了她如何从新闻业转为从事技术工作。 另外,她是如何介绍函数式编程,Haskell编程语言的,以及开源是她日常生活的一部分。

面试横幅

从记者到软件工程师,您走了什么路?

写作和技术都是我一生的长期主题。 放学后,我同时考虑了新闻学和信息技术学位。 我对语言和语言学的热爱,以及对我的技术技能的不幸缺乏信心,使平衡成为了新闻事业的优势。 我认为我没有意识到计算语言学是一种选择。 它将是完美的融合。 这就是为什么我参加一些活动来向年轻人宣传IT行业机遇的原因之一,例如“ Tech Girls are Superheroes”运动和针对青少年的IBM EXITE Camps。

我在新闻媒体工作了七年多,担任过各种职务。 管理新闻网站使我意识到我错过了多少技术,因此我决定回到大学攻读IT硕士学位。 我重新发现了对编程的长期迷恋,并开始了新的软件工程师职业。 去年,我有机会通过担任Red Hat开源平台即服务OpenShift的Developer Advocate角色来结合自己的沟通和工程技能,并且在我的背景下,这似乎很合适。

告诉我们一些有关Haskell编程语言和函数式编程概念的信息。

在硕士期间,一位非常热情的教授激发了我对Haskell和函数式编程(FP)的兴趣。 有关FP和逻辑程序设计的主题已从课程中删除,但这位讲师提议在校园图书馆的秘密会议中向热衷的学生讲授这些内容。 大学毕业后,我加入了布里斯班功能编程小组,并从头到尾找到了另外六位FP新手,他们可以与这本神话般的书Learn You A Haskell一起工作。


查看完整的OSCON演讲者访谈集

函数式编程是将计算视为对纯数学函数的评估的范例。 这种方法的一大优点是,它可以让您推理代码,就像推理数学方程一样。 Haskell是一门很棒的语言,可用于学习FP概念,因为它纯粹是功能性的并且是静态类型的。 这意味着您可以花费大量时间与编译器争论,但是一旦您的程序编译,它很可能是正确的。 我认为这是将您的时间花在调试器上并与老板争论该错误如何将其投入生产的一项重大改进。

Katie Miller

《科技女孩》的凯蒂·米勒(Katie Miller)是《超级英雄》的发行人。 David Ryan摄。

让我们从Haskell和函数式编程跃入技术的未来。 如果我说未来取决于我们的孩子,您同意吗?

CoderDojos和其他程序(如“欧洲代码周”)足够吗? 还是我们应该做更多的事情来教孩子数字技能?

编码能力使您可以选择计算机为您执行的操作,而不必依赖其他人创建的接口。 我认为应该通过编程课程使所有孩子都能使用此功能。 CoderDojo和许多其他志愿人员主导的程序在这方面做得非常出色,但是我真正希望看到的是将编程引入学校课程中。 我同意我们的未来取决于我们的孩子,我认为我们应该让他们成为明天的技术的发明者和主人,而不仅仅是他们的用户。 爱沙尼亚和英国已开始在学校引入编程教育,我希望澳大利亚和其他国家也能做到这一点。 并非每个孩子都会成为软件开发人员,就像每个孩子都不会成为科学家或数学家一样,但是我认为编程应该成为所教授的生活技能的一部分。

与我们分享开源是如何跨越您的道路的? 您喜欢开源的哪些方面?

我最初是在大学里接触开放源代码的,这也是我接触Linux的地方。 开源方式对我来说很有意义,这是为什么在一个Java和.NET大致相等的城市中,我选择让毕业生担任Java角色的主要原因。 我的第一位IT雇主(一家金融机构)在开源方面相当进步,这个职位使我有机会使用多个FOSS项目。 当我决定在Red Hat工作时,我才刚刚开始在个人笔记本电脑上运行Fedora并构建了我的第一个自定义内核。

我喜欢开源文化将来自世界各地的各种人们召集在一起,以改变世界的方式。 它使每个人都有机会分享他们的想法并做出确实可以产生重大影响的贡献。 为Red Hat工作使我有机会参与到全球协作中,这是我日常工作的一部分,这是一项了不起的特权。 当我在工作或娱乐时编写代码时,默认始终是开放源代码,值得庆幸的是,我不必花钱就可以做到这一点。 当有人分叉我的代码并提交补丁,或者我接受了拉取请求时,它仍然总是使我嗡嗡作响。 我的笔记本电脑上贴有一个红帽贴纸,上面写着: 最好共享 。 总结起来对我来说。

您能给我们提供有关OSCON 2014演讲的独家新闻吗?

我尝试在会议演示中玩一些乐趣,这也不例外。 我将尝试解释FP粉丝通常在三分钟内抛出的一系列术语,这将是一个严峻的挑战。 我用Pictures称为“ 编码解码器:功能程序员Lingo Explained”,但我不是一个艺术家,所以如果没有其他人可以被有些奇特的插图所吸引。

查看完整的OSCON演讲者访谈集。

翻译自: https://opensource.com/life/14/7/functional-programming-terms-will-be-decoded-oscon-year

声明式编程与函数式编程

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
React是一个用于构建用户界面的JavaScript库。它采用了组件化的开发方,使得开发者可以将界面拆分成独立的、可复用的组件。在React中,函数式编程是一种常见的编程,它强调使用纯函数来构建应用。 函数式编程是一种编程,它将计算视为数学函数的求值过程。在函数式编程中,函数被视为一等公民,可以作为参数传递给其他函数,也可以作为返回值返回。函数式编程强调不可变性和无副作用,即函数的执行不会改变外部状态。 在React中,函数式编程被广泛应用于组件的开发。使用函数式编程的方,我们可以将组件定义为纯函数,接收一些输入参数(称为props),并返回一个描述组件界面的React元素。这种方使得组件的开发更加简洁、可测试和可维护。 函数式编程在React中的一些特点包括: 1. 纯函数:组件函数应该是纯函数,即相同的输入应该始终产生相同的输出,而且不应该有副作用。 2. 无状态组件:函数组件通常是无状态的,即它们不会保存任何状态信息,只依赖于传入的props进行渲染。 3. 高阶组件:函数式编程可以使用高阶组件(Higher-Order Components)来增强组件的功能,例如添加共享的逻辑或状态管理。 总结一下,React中的函数式编程是一种将组件定义为纯函数的开发方,它强调不可变性和无副作用,使得组件的开发更加简洁、可测试和可维护。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值