短短几年工作里,我接触到了不少关于“面向XX”和“XX驱动”的思想,每当第一次听到它们时都会令我有种莫名的敬畏。
昨天在初探Erlang的时候,它的创始人Joe Armstrong的一句话让我印象深刻:
Joe Armstrong 写道[1]
At the highest level of abstraction an architecture is “a way of thinking about the world.”
Joe这席话让我延伸理解为,架构与其说是问题的答案,倒不如说是对问题的抽象更贴切。这种抽象,就如同面向对象的世界里一切皆为对象,在面向并发的世界里一切皆为进程。
看待问题的方式,往往就已经决定了我们解决问题的方式。我的工作中就有这样的案例。系统需要控制资源的访问,这个问题域会被抽象为,给定的资源允许(或拒绝)被访问的对象和行为是哪些,由此访问控制列表(ACL)成为了这个问题域的解决方案。换个思考方式,同样的问题域我们抽象为,哪些的对象能够对哪些资源执行哪些访问行为,这样一来解决方案就变成“授权规则”。
但所有问题的解决方式不可能只有一种,这已经不争的事实。熟悉设计模式的人都了解,每个模式都有其针对的问题域,和适用的场景。有趣的是,当问题域发生变化时,我们的思考方式却没有做适应性的变化,而且这也是我们在自身上极不容易意识到的。我们不妨谨记,当解决一个问题开始变得复杂繁琐时,这似乎就是我们该换一种方式去思考的信号啦。问题总会有最简单最直接的答案,只要我们能够感觉到现在的答案不是这样的,则极有可能是我们没有对问题进行合适的抽象(或解释)。
至此,面对自己正在着手或即将着手的问题,最好问一句“你思考世界的方式是什么”。
参考资料:
[1] 《Making reliable distributed systems in the presence of sodware errors》,Joe Armstrong,2003
它的中文版名为《面对软件错误构建可靠的分布式系统》,由段先德先生于2007年翻译,访问这里可以获取。
分享到:
相关推荐
因此,如何在观看世界杯和保证充足睡眠之间取得平衡,成为许多家长和老师需要思考的问题。 那么,如何正确引导小学生在世界杯期间合理安排时间和活动呢?首先,家长和教师应当教育孩子们学会时间管理,让他们理解在...
3. 创新和学习方式的变革:ChatGPT可能被用于作业作弊,但真正的价值在于通过它来训练和提升个人的思维能力。学生不应依赖工具给出的答案,而应在此基础上深化思考,提出更多创新观点。人工智能不是替代学习,而是...
文章不仅阐述了深度思考的重要性,还提供了培养这一能力的方法和建议,为我们指明了一条通往成功的新路径。 文章中提到了一个生动的例子,揭示了勤奋与深度思考之间的巨大差异。一位在行业研究上下足功夫,并撰写出...
ChatGPT的出现,可能会加大优秀学生与落后学生之间的差距,因此教育者需要找到新的方式来激发学生的思考和问题意识。 综上所述,ChatGPT并未完全替代人类思考,而是提供了一个全新的思考平台。掌握如何有效利用人工...
博鳌乐城眼科特许医疗器械真实世界研究实践与临床医生的思考 本文总结了博鳌乐城眼科特许医疗器械真实世界研究的实践和临床医生的思考。文章介绍了博鳌超级医院国际眼视光眼科中心的建立和发展,及其在特许药械引进...
这是一本非常有趣的编程启蒙书,...编程将会改变我们的思维,教会我们如何思考,让我们的思维插上计算机的翅膀,以一种全新的方式来看世界。现在就让我们一起走进计算机编程的神奇世界,探索和发现计算机编程的魔力吧。
世界观往往决定了我们选择何种方法论,因为我们的思考方式和行为模式往往受到我们对世界本质的理解影响。换言之,有什么样的世界观,就会采取什么样的方法来理解和应对世界。 世界观与方法论之间存在着密切的联系。...
面对这一趋势,人们不禁要问:“AI时代需要的核心能力是什么?”本文将基于《李笑来谈AI时代的家庭教育》的相关内容,深入探讨在不同历史阶段背景下个人能力的重要性,并重点分析为何在AI时代“判断力”成为了最为...
教育的本质一直是人们不断探讨和思考的重要问题。在当今社会,随着科技的飞速发展和知识体系的不断更新,我们对教育有了更多期待和要求。然而,在技术层面的考量之外,教育的核心价值和意义似乎更加值得我们深入挖掘...
例如,“猜猜你看到的是什么?”游戏让学生从不同角度观察同一事物,得出各不相同的结论,而“猜一猜,谁说得对?”则让学生在辨识不同观点的正确性中,体会到理解他人视角的必要性。这两个游戏不仅提高了学生的参与...
它不只是简单的技术培训,而是将编程作为一种工具,促进儿童全面发展,特别是在逻辑思考、问题解决和创新能力上。 编程教育的实践方式多种多样,但普遍都强调将复杂的编程概念以更为直观和易懂的方式呈现给孩子。...
总的来说,少儿编程教育是一种寓教于乐的教学方式,旨在通过游戏化和可视化的方式,引导孩子们探索编程的世界,培养他们的计算思维和创新能力,为他们的全面发展和未来职业生涯做好准备。随着编程教育的普及,我们...
它可能改变甚至颠覆现有的生产生活方式,比如自动驾驶可能会让驾驶员失业,而AI创作工具可能会影响创意产业。因此,我们需要思考如何适应这种变化,同时确保AI的伦理和道德使用,防止技术滥用导致的社会不公。 面对...
在哲学领域,通常认为哲学是世界观和方法论的统一体,它提供了一种系统化的思考方式来探讨各种理论问题。然而,有些人将世界观和方法论与具体学科的事物观和方法混淆。哲学关注的是如何理解和把握世界的普遍性原则,...
【世界观与方法论】是哲学的基本概念,它们在人类认知和实践活动中占据核心地位。世界观是人们对整个世界的总体看法和根本观点,它涉及到宇宙的本质、人生的意义、事物发展的动力等问题。而方法论则是人们认识世界和...
在《世界是平的,世界是通的》这一篇教案中,教育工作者们将历史与现代结合,引领学生穿越时空的隧道,探究丝绸之路的古代辉煌与“一带一路”倡议的现代意义。在这一教学过程中,学生不仅能够深入了解中国在全球文化...
每个人的经历、价值观和思维方式都不相同,这使得每个人对哲学的理解也各有侧重。因此,哲学是一种高度个性化的学问,它强调个体差异而非普遍适用性。 #### 四、哲学不是科学的(形上性) 虽然哲学与科学在某种...
这样的图示能够有效地向他人展示一个人或团队如何看待世界,使得不同的系统循环图之间的比较成为一种描述个人或团队世界观的方式。当团队成员能够共同认可一张系统循环图所表达的观点时,他们就能在解决问题、制定...
世界观与方法论之间存在着密切的联系:世界观通常决定方法论,即我们的世界观会直接影响我们采取何种方式去理解和改变周围的世界。方法论则是世界观的具体体现,它反映了我们对世界的理解和信念。 【哲学与世界观】...