究竟什么是迭代?

作者: 韩同志 | 来源:发表于2017-10-06 14:13 被阅读14648次

最近几年有一个词,频繁的出现,很多人都把它挂在嘴边,甚至它变的很时髦,这个词叫——

迭代

迭代,这个词我以前是没听过(学编程的童鞋可能很早就知道它),现在回想一下,我觉得这个词应该是在智能手机出现后,才被吃瓜群众广泛传播和应用的。

有一个词和“迭代”意思比较接近,叫“升级”,这个词我就很熟悉,也非常好理解。比如,Windows每年都会升级一次,从95到XP再到现在的win7;应用软件每年都会出一个新版本,比如PS5.0到PScs,这是升级。

相反,刚听到“迭代”这个词的时候,我大致好像能理解它的意思,但仔细想想,却又觉得很费解。

为此我查过百度,而且查过很多遍,因为不理解,所以查完就忘,下次想起就又查,反反复复很多次,还是没搞明白。

百度对“迭代”是这样定义的:

迭代是重复反馈过程的活动,其目的通常是为了逼近所需目标或结果。每一次对过程的重复称为一次“迭代”,而每一次迭代得到的结果会作为下一次迭代的初始值。

本来还似懂非懂,看了这个定义后,我是彻底瞎。

我真正开始理解“迭代”的含义,还真不是靠查出来的,也不是把这个概念背了下来,而是在生活中慢慢搞懂了。

说一个我自己的故事。

我是一个读书奇慢的人。记得上学那会儿,别人一天就可以看完一本很厚的武侠小说,而我吭哧吭哧可能一个月都看不完。我经常爱问别人一个问题:

你读书,是一个字一个字看呢,还是一行一行的看呢?

那个时候,我非常羡慕那些读书快的人。

有一次我听说有位大神,一年可以读一百本书。我算了一下,照这个读法,一周至少要读2本,如果一本书按250面计算,那么每天应该读250×2÷7≈72面。

我们都知道,做一个任务时,只要把这个任务进行分解,分解的越细,就越好执行,越容易达成目标。

经过拆解,我发现100本书这个任务,难度好像不算特别大,也很有规律,于是我准备挑战下自己。

我买来一堆书,然后给自己规划好,今天读多少页,明天读多少页,一周要达到多少,还专门买了个小本每天记录,然后呢?然后就没有然后了。

表面看,这个计划完美无缺,有目标,有规划性,甚至每一天做什么,做多少,都那么一目了然,但是执行起来,发现却根本不是一回事儿。

看似读100本书,是一个确定性的目标,其实它充满了无数的不确定性。

我们假设读72面书需要1个小时,那你每天都能保证自己抽出这一个小时吗?

假设你能保证每天抽1个小时,那你能保证你读完72面就都理解了吗?

实际情况很可能是这样的:当你读一本书到第四章,忽然发现第一、二、三章之前压根就没读懂,于是又折返回去重新读。

于是,你读第一、二、三章用的时间可能是你计划时间的2倍甚至更多。

实在是坚持不下来啊,没办法,我放弃了读100本书的目标,把注意力从数量上开始转移到质量上。

大概坚持读了两年之后,我读书的速度不知不觉的比以前快了很多,虽然一年还是读不了100本书,但是读个30几本书还是可以做到的。

现在回想一下,如果把我一年读完的这30本书,按之前那种规划,把30本书平均分配到一年的365天去读,我是无论如何也做不到的。

但有一件事我做到了,就是每天都抽出时间读书,也许是一个小时,也许是半个小时,也许是一刻钟。

因为每天都读,于是读的东西越来越多,所以当看到某本书有相同或者类似的内容,我就直接扫读了。

因为每天都读,于是对某个领域知道的就更深入,所以当看到某本书里比较浅显的部分,我就直接跳读了。

因为每天都读,于是理解能力增强了,所以以前可能读完后,需要再花10分钟去理解的,现在只需要5分钟,所以我读书的速度变快了。

有趣的是,当我做到了每年30本书,再来看每年100本书这个目标,觉得没有当初那么难了,是可以实现的,并且对如何实现也有了一个比较靠谱的认知,大概知道该怎么推进。

所以,当初设定每年100本书这个目标,并没有错,起码它给了你行动之前的一个设想,在你前行的路上插了一杆旗。

我们不可能在毫无规划、毫无设想的情况下就起步,只不过这样的设想、这样的规划,它只是一个起点。

当你有了这个起点,然后放在一个真实的场景中,去做一件事的时候,你会发现,通过纯粹的规划,是解决不了问题的,但也不能毫无方向,想到哪做到哪,像无头苍蝇一样去实现目标。

这个过程很像打游戏,你刚开始玩,一下子就输了,但是随着你玩的次数越来越多,你的技艺就越来越精湛,而这个结果,不是你在开始玩游戏的时候,规划出来的,而是在你玩的过程中,通过不断的输不断的输,练出来的。

所以,你能达成的结果,都是在你做的过程中,不断试错,不断调整,不断精进,最后自然而然得到的一个结果。

所以,我们不能把迭代简单的理解为“升级”。

升级,更多描述的是一个结果,是一种直接的,一次性的,达成的一个目标,是一种线性的进程。

而迭代,是通过无数次,不断的,重复的,接近一个目标,折返接近,再折返再接近,最终达到目标。它不是一次性完成的,是通过不断重复的,但每次重复又比之前更好一点,这样一种非线性的进程。

为什么我的目标原来是100本书,现在只做到了30本书,连一半都没达到,我却认为自己对达成100本书这个目标,反而更清晰了呢?

这是因为在不断的迭代过程中,我的认知提升了,于是我对达到目标的规划更清晰了,尽管这个清晰度,也会随着迭代的过程再次变得不同。

现在我们把“迭代”的关键词拆解一下:

1.重复:

不断的重复做,而不是一次性的完成。

2.改进

在做的过程中不断的改进、调整、优化。

3.认知升级

迭代的过程就是不断提高认知的过程。

相关文章

  • 究竟什么是迭代?

    最近几年有一个词,频繁的出现,很多人都把它挂在嘴边,甚至它变的很时髦,这个词叫—— 迭代 迭代,这个词我以前是没听...

  • 迭代

    1. 什么是迭代? 2. 什么是可迭代对象? 3. 什么是迭代器对象? 4. 请说明迭代协议? 5. 迭代的常用定...

  • day15 迭代器 生成式 面向过程

    Ⅰ 迭代器 什么是迭代器 器: 工具 Ⅱ 什么是迭代? 迭代是一个重复的过程,每次重复即一次迭代,并且每次迭代的结...

  • 什么是积累?什么是迭代

    此文章之前发表在前端网,但是那个网站真的贼难用。 积累: 就是公共的部分,大家都要用的。比方我封装一个方法,在其他...

  • 什么是迭代0

    如何准备启动敏捷-迭代0如何做? 2016-09-13 22:12:36zhangmike阅读数 3353更多 分...

  • 什么是迭代思维?

    “迭代这个词听起来好像很高大上,但其实是种笨功夫。” 01 — 今天早上在听梁宁老师的“产品思维”课, 其中有一节...

  • day05线性方程组的迭代解法

    1.什么是矩阵分裂迭代法? 收敛性分析 举例: 什么是Jacobi迭代? Jacobi迭代基本原理 什么是Gaus...

  • 深入JavaScript Day22 - 迭代器、可迭代对象、i

    一、迭代器、可迭代对象 1、【重要】一句话概括什么是迭代器?迭代器模式的优点是什么? 【迭代器】是帮助我们对某个数...

  • 迭代器,生成器,面向过程编程

    迭代器 一、迭代的概念迭代器即迭代的工具,那什么是迭代呢?迭代是一个重复的过程。每一次重复即一次迭代,并且每次迭代...

  • 迭代是怎么发生的 - 为什么我们需要反复阅读

    最近大家一直在说迭代,然而迭代究竟是怎么发生的呢?我们用贝叶斯定理来一探究竟(概念有点挑战,不过在某种程度上可以量...

网友评论

  • 34097e83d746:感谢您的这篇总结!:kissing_heart: 让我们不了解的人更好地理解迭代
  • 6c634d62fcd6:一直搞不懂,现在懂了99%,剩下的还需要生活中体会

本文标题:究竟什么是迭代?

本文链接:https://www.haomeiwen.com/subject/kmzlyxtx.html