听说你想成为一名函数式编程工程师(第一部分) 已翻译 100%

oschina 投递于 2019/01/11 14:20 (共 20 段, 翻译完成于 03-07)
阅读 4620
收藏 9
4
加载中

迈出理解函数式编程思想的第一步是最重要的,同时也许是最难的。关于这一点,仁者见仁智者见智。

学车

    当我们第一次碰车,我们痛苦并努力着,看起来很简单的操作自己上手的时候就变得比自己想象的难得多。尽管用父母的车经过多次练习,不把周围的路跑熟是不敢上高速路冒险的。但是经过不断练习和一些父母宁愿忘记的“心跳时刻”后,我们最终还是拿到了自己的驾照。

A
翻译于 2019/01/13 15:12
0

有了我们的驾照, 只要有可能, 我们就会把车开出来。每次旅行, 我们都变得越来越好, 信心也增强了。后来有一天, 我们不得不开别人的车, 否则我们的车终于放弃了幽灵, 我们不得不买了一辆新的。

第一次在不同的车底开车是什么感觉?这就像第一次开车一样吗?连近在咫尺都没有。第一次, 都是那么的陌生。在那之前我们一直在车里, 但只是作为乘客。这次我们坐在驾驶座上。包含所有控件的那个。

但当我们驾驶第二辆车的时候, 我们只是问自己几个简单的问题, 比如, 钥匙去哪里了, 灯在哪里, 你怎么用转向灯, 怎么调整侧镜.

bokee
翻译于 2019/01/13 20:25
0

在那之后,航行非常顺利。 但与第一次相比,为什么这次这么容易?

那是因为这辆新车非常像旧车。 它拥有汽车所需的所有基本功能,而且它们几乎都在同一个地方。

有些东西的实现方式不同,可能还有一些额外的功能,但我们第一次开车甚至第二次都没有使用它们。 最终,我们学到了所有的新功能。 至少我们关心的是那些。

溪边九节
翻译于 2019/01/14 15:07
0

学习编程语言和学车类似。第一次是非常困难的,但一旦你掌握了一门语言,后面学习其他的编程语言就会变得很容易。

当你第一次开始学习第二种语言时,你会问这样的问题:“我怎么创建模块?你怎么查找数组?什么是子字符串函数的参数?”

你有信心可以学习驾驭这种新语言,因为它会让你想起你的旧语言,或许还有一些新的东西可以让你的生活更轻松。

 

木南曌
翻译于 2019/01/24 22:22
2

你的第一个宇宙飞船

无论你一生中开过一辆车还是几十辆车,想象一下你即将驾驶一艘宇宙飞船。

如果你要驾驶宇宙飞船,你不会指望你的驾驶能力对你有多大帮助。

你在开始训练的时候,会期望在太空中有非常不同的东西,而且飞行这个装置和在地面上驾驶是非常不同的。

clamness
翻译于 2019/01/25 15:28
0

物理上没有改变,只是你在同一个宇宙中导航的方式变了。

学习函数式编程亦是如此。你会预想所有的事情都会变得非常不同,并且你所知道的编程知识也不会相互转换。

编程就是思考的过程,而函数式编程将教你以不同的方式思考。甚至,你可能永远不会回到原先的思维方式。

Hunter5
翻译于 2019/01/28 15:37
1

忘掉你所知道的一切

人们喜欢说这句话,还是有点道理的。学习函数式编程就像是从头开始。虽不尽然,但确实有效。函数式编程中有很多与其他范畴相似的概念,但如果你打算必须重新学习所有东西,这是最好的选择。

从正确的角度看,便会得到正确的预期;有了正确的预期,即使事情艰难之时也不会放弃。

作为程序员,你曾经做过的各种各样的事情,而现在使用函数式编程你什么也做不了。

Hunter5
翻译于 2019/01/28 15:56
0

就像,在汽车里,你习惯于倒车来离开车道。但是在宇宙飞船里,没有后退操作。现在你可能会想: “什么?没有后退?我怎么能在没有后退的情况下驾驶啊?!”

然而,事实证明,宇宙飞船能够在三维空间中操纵,因此你并不需要倒车操作。一旦你理解这一点,便不会再想念“倒车”了。事实上,在某天你会反过来想汽车的限制程度。

学习函数式编程需要一定的时间,请耐心点。

那么就让我们退出命令式编程的冷酷世界,轻轻地进入函数编程的温泉。

Hunter5
翻译于 2019/01/28 16:28
0

在这篇由多个部分组成的文章中,我们将介绍一些函数式编程概念,这些概念将在您学习第一种函数式语言之前对您有所帮助。或者,如果你已经尝试过了,这将有助于完善你的理解。

请不要着急。从这一点开始,花点时间阅读并理解代码示例。你甚至可以在每节课结束后停止阅读,让你的想法深入理解。然后再回来完成

最重要的是你要理解。

clamness
翻译于 2019/01/25 15:34
0

Purity

当函数式程序员谈到Purity时,他们指的是纯函数(Pure Functions)。

纯函数是非常简单的函数。它们仅对输入参数进行操作。

这是Javascript中的一个纯函数的示例:

var z = 10;  
function add(x, y) {  
    return x + y;  
}

注意add函数不会修改z变量。它不会从z中读取数据,也不会向z写入数据。它仅读取x和y,其输入值,并返回二者相加起来的结果。

Tocy
翻译于 2019/01/26 20:13
0
本文中的所有译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接。
我们的翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。
加载中

评论(8)

木九天
木九天
6
木九天
木九天
怎么办呢
木九天
木九天
6
冷冷zz
冷冷zz
👍
amynik
amynik
楼主666,厉害,感谢分享,我这有更多资源哟http://mall.amynik.com
k
kknd97_97
【justTen被定义为常量也需会更好】建议改成【justTen被定义为常量也许会更好】
i6u
i6u
@zhenruyan 来看看
大股东
不是翻译完了吗?怎么显示翻译了90%?
返回顶部
顶部