生活与编程的并行线程

https://www.freecodecamp.org/news/the-parallel-threads-of-life-and-programming-2/

我坚信我们最深切的愿望是,通过花费时间来向人们展示有关宇宙的一些基本真理。听听它的耳语,并指出它的目的。

而且,如果您对这些课程足够认真,就会找到它们。无论它们是您的思想的体现还是可以握在手中,一旦您看到它们,它们就永远属于您。

编程为生活提供了重要的相似之处。我们的任务是创造一些出头其总和感觉比部分更显著。就像生活一样,它是对无限创造力的考验。有规则,我们必须遵守,一些我们应该遵循,以及其他一些我们可以随意忽略。编程让我们瞥见了关于我们所居住的世界的一些基本事实,无论它是多么短暂。

编程与生活之间的四个平行

迭代就是进步。

您是否知道,如果您以一个便士开始一个月,并且每天都翻一番,那么您在该月的15号会有163美元?当然,您认为,肯定有更好的方法可以在15天内赚到163美元。但是,如果再等15天,您将获得超过500万美元。

继续吧,我会等你做数学的。

在编程中,我们使用术语“ 迭代”来表示重复某件事。在更正式的定义中,它将重复地将一个过程应用于该过程的先前结果。例如,将数字1和1相加得到2,然后将数字1和2相加得到3,依此类推。

当我们进行迭代时,我们会寻找反馈。我们等待要满足一些条件,使我们可以停止迭代或调整如何,我们迭代。如果我们听不到这些反馈,就会陷入无限循环。

生活没有什么不同。我们经常期望我们可以从A点跳到B点,而无需定义A点或B点是什么。而且,即使我们确定了这些要点,我们也希望从头到尾立即采取行动。相反,通常是事实,那就是我们必须从头到尾逐步发展自己的道路。我们必须听取反馈,告诉我们我们在哪里,以便我们进行调整。

当我们有了目标时,通常在最初的几天,几周甚至几个月内都感觉不到进步。我们常常被引诱重新开始或重新开始。但是这样做时,我们未能意识到,虽然我们可能尚未到达目的地,但我们已经远远超出了开始的地方。无需完全重启,我们只需要进行一些小的调整即可。

停止重新开始。让迭代成为创造进度的力量。

最复杂的问题是已经解决的较小问题的集合。

即使是最引人入胜的应用程序,也可以使用一系列大多数平凡的解决方案来解决平凡的问题。实际上,程序中实现的大多数解决方案都不是唯一的。正是这些普通解决方案的结合创造了非凡的产品。

在编程中,有多种方法可以使用这些非常普通的解决方案。一种方法是通过称为抽象的术语。抽象某物就是将某物从另一物移开。

在计算机编程中,当我们抽象某些东西时,我们通常会在较低级别的技术之上构建较高级别的技术。这使得使用低级技术更容易。

例如,大多数编程语言都是神秘的二进制语言(0和1)的抽象。它们在我们与计算机之间一些更基本但又麻烦的交互级别之间建立了一层。这些高级语言使我们可以专注于高级问题。

我们可以更有效地解决问题的另一种方法是使用其他人的解决方案。您可能还听说过一词。而且,虽然我不是在谈论光线不足,灰尘多且安静的地方,但书本并不遥远。

一个,在编程术语,代码是别人写的,解决日常问题。它还抽象了那些对于解决您遇到的问题并非绝对重要的事情。

例如,如果您正在编写一个程序,要求某人登录才能使用您的应用程序,则可以编写代码来自己加密和解密密码,或者可以使用其他人编写的代码为您完成此操作。使用后一种选项,我们可以腾出时间专注于我们的应用程序试图解决的更重要的问题。

我们所有人都以某种形状或形式使用抽象和库。例如,杂货店是生产我们自己的食物的抽象。汽车是徒步旅行的抽象概念。烤箱是生火的抽象概念。这些是我们摆在我们面前的层次,可让我们将时间分配给更高级别的问题。

重新发明轮子只是为了学习如何制造轮子,而不是开车去商店。

如何定义问题就是解决问题的方式。

回想一下卡车在桥下行驶并被卡住的故事。工程师花费了数小时试图找出如何移动桥梁。一个小孩子站起来,与卡车的轮胎面对面,说道:“如果不让轮胎中的空气出来,那该怎么办?”

从孩子的角度出发,问题不是桥太短,而是卡车太高了。

大多数人都可以解决任何问题。实际上,大多数问题都指出了解决方案。例如,如果网桥是导致问题的原因,那么答案就是对网桥做些什么。但是,如果问题是卡车太高,则解决方案(几乎显而易见)是使卡车缩短。

零件的布置比零件本身重要得多。

Google Maps代码库,独立宣言,马丁·路德·金(Martin Luther King Jr.)的梦想演讲,史蒂夫·乔布斯(Steve Jobs)的2005年毕业典礼地址以及我的第一个应用程序“ Hello,World”有何共同之处?

访问相同的26个英文字母。

没有什么比书面文字更让我着迷了。书面文字是人类出现的最强大的技术之一。

是的,我使用技术一词,是因为它甚至被刻在洞穴的墙壁上,从根本上改变了我们保持信息的方式。数据不再局限于我们的思维范围内。

尽管最初将书面文字的目的与保存记录联系在一起,但它很快成为传播思想的一种方式。其中一些想法会激怒,另一些会启发。

通过书写或语音传输信息时,每种语言(包括计算机语言)都具有微妙之处。单词及其组成部分可能略有不同。但是,语言仍然是一组符号,可以将它们排列成似乎无穷无尽的思想。

例如,在英语中,大约有29个符号可用来代表几乎整个宇宙。我已经提到了26个字母,但是使用句点,逗号和问号也很有帮助。

我和您都可以使用这29个字符,史蒂夫·乔布斯也可以使用。然而,基于我们选择相信和说话而存在的字母的组合,我们每个人一生都会遵循不同的轨迹。

有趣的是,尽管我们经常在字典中添加单词,但通常不添加字母。这意味着,从最根本的层面上讲,所有可能存在的想法已经存在,它们的组成部分悄悄地等待着我们将它们改组为现实。

Les Brown通过这个思想实验很好地总结了这一点:

想象一下,如果您愿意的话,就躺在死亡床上。站在床旁–生活中赋予您的思想,梦想,能力和才华的幽灵。

而且无论出于何种原因,您都从未对这些想法采取任何行动。您从未追求过那个梦想。您从未使用过这些才能。我们从未见过您的领导。你从来没有用过你的声音。你从未写过那本书。

他们在那里,站在你的床周围,用愤怒的大眼睛看着你,说:“我们来找你。只有你能给我们生命!现在我们必须永远与你同死。”

问题是-如果您今天死了,您将死什么想法,什么梦想,什么能力,什么才能,什么礼物?

感谢您的阅读!

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注