Coda:从我们周围的结构中学习
从我们的环境中观察软件工程
我家附近的树木似乎不自然地生长。 它们表现为病态扭曲的生物。 它们丑陋的原因与它们靠近电力线有关。 这在美国东北部很常见,那里是树木通行的地方,并且存在极端天气模式。
公用事业线有四肢掉落的危险,因为它们很容易在两极之间串在一起。 结果是能源公司必须将树木修剪到一定的距离规格。 这降低了分支接触这些电线的风险。 修剪允许进行维修访问。 天气不合作时,修剪可以保护线路。 但是,结果是看起来难看的不平衡树木。
树木科学
在计算机科学中,我们使用隐喻。 这是因为我们的科学是高度抽象的,构造是虚拟的。 即使我们甚至称其为大多数构造,也无法看到或触及。 无论如何,我们需要传达我们根据自己的世界看到的一切。 我们必须传达有效的内容。 我们必须传达最大和最小,时间和空间。
搜索数据是我们科学的基础。 为此,我们使用结构来组织数据。 这是一棵树,一种抽象的数据类型。 它看起来像一棵活树,但倒挂着。 根在顶部。 我们使用树来构造数据,以便可以对其进行有效地分类和搜索。 就像真正的树木一样,树木具有不同的类型和风味。
不平衡树是用来描述不需要的结构的隐喻。 这是因为搜索其中包含的数据不是最佳方法。 不平衡的树木天真地生长和修剪。 由于高度不受控制,它们开始使我们减速。 它们在一侧长得太高。
如何平衡不平衡的树
在使客户免于停电或服务中断的过程中,电力管理机构会向左或向右修剪。 他们会在风险很大的地方进行调整。 结果是看不看的不健康的树木。 他们认为这棵树正在执行其功能,但尝试生存是病态。
有多种方法可以通过编程来保存病树的生长。 根据树的不同,我们可以横向,向左旋转,向右旋转或双旋转。 我们尝试平衡树以使其健康。 它的结构比当前形状更紧凑,更美丽,更优雅
但是,如果不平衡的树在物理上或虚拟上都在其前面有足够的空间,则有一种方法可以解决其根源枯萎的问题。 我们削减并重新开始。 我们在下一遍智能地生长新树。
学习线索在我们身边等待着被利用
为公用事业线让路的树木的残割引发冲突。 对这一观察结果的抽象表明,社区和技术存在竞争。 如果其中任何一个生长不当,由于它们彼此支持,因此很难补救。
计算机科学的魅力在于我们可以根据物理观察结果来发明和发展结构。 也许诸如Topping之类的古树修剪技术或诸如Drop-Crotching之类的更现代技术可能适用于计算机科学。 悬挂或敷设的公用事业线路也可能具有其类似物。 他们如何一起工作可能需要进一步研究。
信息是环顾四周,以虚拟方式学习和应用我们观察到的内容。 质疑是否有机会将结构或系统转换为可以用于美观和效率的东西。 这是因为在冲突中,如果我们接受问题,就有机会进行结构性发明 。
From: https://hackernoon.com/coda-learning-from-structures-around-us-25052243e1a7