近期有一场考试,听到几位老师在讨论操作题考了递归实现斐波那契数列,众人推测下午的考题可能是迭代写法。递归通过函数调用自身实现,需要有终止条件,防止无限递归。迭代是重复执行直到满足条件,通常用循环实现。递归,迭代,不过是两种算法,像极了一件事的两种做法,一个人的两种活法。我又不禁联想到编程中最基础的三种结构:顺序、选择、循环。忽然觉得,它们像极了每个人都要经历的一生。
顺序大概是人生的默认路径。呱呱坠地、牙牙学语、蹒跚学步、寒窗苦读、参加工作、结婚生子、退休养老、慢慢老去……像一列无法掉头的火车,沿着时间的轨道哐当前行。你坐在窗边,看风景一样一样地来,一样一样地去。这条路太寻常,寻常到常常被忘记。但它在那里,奠定了人生的基石。
选择是人生路上出现的岔口。文理分科那张表,中高考志愿那几个空格,留下或远行的那个夜晚。一旦择定此路,便永不知彼路的风景。后来许多个夜里,难免会想:如果当初……但人生没有如果,只有选择后的结果。正是这些或大或小的选择,像一把刻刀,慢慢地、细细地,将模糊的“人”,雕琢成具体的、有姓名的“我”。
循环,或许是成年后最深的体认。日子开始像复印机里吐出的纸,一张张,相似得惊人。同样的早高峰,同样的工作台,同样的黄昏与晚餐。起初觉得闷,后来才懂,恰恰是这些看似单调的循环,让我们得以熟能生巧,涵养心性。今天解的难题,用了昨天学会的方法。每一次循环,都不是复制,而是迭代。
当然,人生从来不是单一的结构。它们总是你中有我,我中有你——在漫长的顺序里,嵌着一个个的选择;每个选择之后,便展开一段或长或短的循环;而在所有看似循环的日常中,时间这条最固执的顺序线,正不动声色地向前推移,推白了头发,推弯了腰。
我们每个人,都在用一生的光阴,笨拙又虔诚地写着一段名叫“自己”的代码。会有bug,会卡住,会跑出意想不到的结果。但那又怎样呢?只要还没宕机,就慢慢调,慢慢改,慢慢跑下去。
(海安市教育考试中心 王甲云)
注:标题为本公众号所改,无原标题。
编辑:陈慧敏
初核:刘 月 沈 悦
二核:刘佩军
核发:万芝锋