技术的目的 » 代码简洁性
管理同意
为了提供最佳体验,我们使用像cookies这样的技术来存储和/或访问设备信息。同意这些技术将允许我们处理数据,如浏览行为或本网站上的唯一ID。不同意或撤回同意,可能会对某些特性和功能产生不利影响。
功能性
始终活跃 技术存储或访问对于使订阅者或用户明确请求的特定服务的合法目的是绝对必要的,或者仅用于通过电子通信网络进行通信传输的唯一目的。
偏好
技术存储或访问对于存储订阅者或用户未请求的偏好的合法目的是必要的。
统计
技术存储或访问专门用于统计目的。技术存储或访问专门用于匿名统计目的。没有传票、互联网服务提供商的自愿合规或来自第三方的额外记录,仅为此目的存储或检索的信息通常不能用于识别您。
营销
技术存储或访问是创建用户配置文件以发送广告,或在网站或跨多个网站上跟踪用户以用于类似营销目的所必需的。
管理选项 管理服务 管理{vendor_count}供应商 阅读更多关于这些目的 接受 拒绝 查看偏好 保存偏好 查看偏好 Cookie政策 {title} 印记
代码简洁性
技术的目的
2014年2月14日 by Max Kanat-Alexander
一般来说,当技术试图解决物质、能量、空间或时间的问题时,它是成功的。当它试图解决人类的思想、沟通、能力等问题时,它会失败或危险地适得其反。例如,互联网处理了一个巨大的空间问题——它允许我们立即与世界上任何人沟通。然而,它并没有使我们成为更好的沟通者。事实上,它让许多糟糕的沟通者拥有了一个巨大的平台,他们可以在上面传播仇恨和恐惧。这不是说互联网全是坏的——我个人其实很喜欢它。我只是举一个例子来演示技术成功和不成功解决的问题类型。
这个原则有用的原因是它提前告诉我们什么样的软件目的或创业想法更可能成功。专注于用技术解决人类问题的公司可能会失败。专注于解决可以以物质事物表达的问题的公司至少有可能成功。
这条规则可能有一些看似反例。例如,Facebook的目的不是连接人们吗?这听起来像是一个人类问题,而Facebook非常成功。但连接人们实际上不是Facebook所做的。它提供了一个人们可以沟通的媒介,但它实际上并不创造或导致人类连接。事实上,我认识的大多数人似乎对Facebook有一种不舒服的上瘾感——感觉他们在那里花费的时间比作为人的价值更多。所以我会说,无论它专注于解决这些问题,它都在加剧某些人类问题(如对连接的渴望)。但它正在出色地实现其他目的(从广泛沟通中移除空间和时间)。再次强调,这不是对Facebook的攻击,我认为它是一个善意的公司;这是试图使用技术只解决物理问题的原则对其目的的哪些方面成功进行客观分析。
这个原则在澄清技术进步是否“好”方面也很有用。我有时对技术进步有复杂的感觉——它真的给了我们一个更好的世界,还是让我们都成为机器的奴隶?答案是技术本身既不好也不坏,但当它试图解决人类问题时,它倾向于邪恶,当它专注于解决物质宇宙的问题时,它倾向于善良。最终,我们当前的文明没有技术就无法存在,这包括公共卫生系统、中央供暖、自来水、电网,以及我正在写这篇文章的计算机。技术实际上是我们存在所必需的重要力量,但我们应该记住它不是万能的答案——它不会让我们成为更好的人,但它可以让我们生活在一个更好的世界里。
-Max
分享 点击在Facebook上分享(在新窗口中打开) Facebook 点击在LinkedIn上分享(在新窗口中打开) LinkedIn 点击在Hacker News上分享(在新窗口中打开) Hacker News 点击在Reddit上分享(在新窗口中打开) Reddit 点击在Threads上分享(在新窗口中打开) Threads 点击在X上分享(在新窗口中打开) X
22条评论 留下回复
Ram Rachum 说:2014年2月15日上午3:21 好文章!有趣的经验法则。 回复
Dave Hansen-Lange 说:2014年2月19日上午11:29 那么,一个旨在解决人类问题但现在使世界变得更糟的技术的例子是什么? 回复
Aasher Naeem 说:2018年2月24日上午10:44 例如,燃烧化石燃料,它不会导致污染和全球变暖吗?将化学品倒入河流污染水并杀死数百万鱼,进而破坏水生态系统。基本上,所有污染都是由技术引起的(光、声音、水、空气等)。 回复
Virendra Rajput 说:2014年4月20日上午12:41 好文章。解释得很好。当然同意你——“它不会让我们成为更好的人,但它可以让我们生活在一个更好的世界里。” 回复
Max Kanat-Alexander 说:2014年5月9日下午7:50 谢谢! 回复
Neeraj Wagh 说:2014年8月15日上午2:58 很好的思考材料! 回复
Naz-Al Islam 说:2015年11月18日下午12:59 你好Max, 文章很好,但我期待更多关于这个主题的说明。肯定有更多有害技术的例子,包括facebook、tweeter或其他社交媒体。为此,我们不应该试图通过技术解决人类思想的问题。我们可以使用冥想作为带来内心平静的方式。但是,技术只对无生命物体有用。 回复
Peter Williams 说:2016年5月25日上午2:46 技术现在渗透到一切中,但有些事情需要被留下。例如,无人驾驶汽车。我享受驾驶,我没有心情把方向盘交给一些该死的软件代码。我的担忧不是安全,而是会错过的驾驶乐趣。我可以看到几年后,许多制造商会跳上无人驾驶汽车的潮流。我希望那一天永远不会到来。只是我的两分钱。 回复
Nick 说:2016年7月20日下午12:45 今天开发的消费技术不一定总是寻求解决大问题,而是试图创造可销售的产品。也没有那么多问题要解决!(这至少在对大多数创新发生的发达国家来说是真的。)这导致更少“震撼世界的技术”进入市场。这篇MIT技术评论文章也看了这个问题:https://www.technologyreview.com/s/429690/why-we-cant-solve-big-problems/。 附言:很好,有思想的文章! 回复
Ashish Goyal 说:2017年4月18日上午12:49 太棒了,先生…#尊重.. 回复
Ashish Goyal 说:2017年4月18日上午12:49 太棒了,先生…#尊重.. (y) 回复
John 说:2017年11月14日下午9:05 好文章!我的老师推荐了这个,我实际上从这里得到了很多答案。许多东西可以从中学习。我必须做一个天才小时项目,我的问题是技术如何改变人体。技术的目的也是一个很好的研究主题。读这个并从中受益。谢谢。 回复
Max Kanat-Alexander 说:2017年11月15日上午12:43 不客气,John。我很高兴能帮助你。 回复
kolin.brown 说:2018年1月31日上午9:19 非常感谢信息,帮助很大 回复
kolin.brown 说:2018年1月31日上午9:21 好文章!我的老师推荐了这个,我实际上从这里得到了很多答案。许多东西可以从中学习。我必须做一个天才小时项目,我的问题是技术如何改变 回复
Just Because We Can, Doesn’t Mean We Should. – Mrs. Laurencot’s Student Blogs 说:2018年3月22日上午8:58 […] 两点之间”或者,用外行的话说,让事情更容易,但它有它的缺点。正如Max所说,“当技术试图解决物质、能量、空间或时间的问题时,它是成功的。当它试图解决人类的思想、沟通、能力等问题时,它会失败或危险地适得其反。”[…] 回复
Shirleen Mauigoa 说:2018年5月21日下午6:04 非常感谢这个有用的信息。它帮助我进行研究。 回复
simeon sylvester 说:2018年8月29日下午1:55 好文章,但目的是列出以帮助更多研究。 回复
simeon sylvester 说:2018年8月29日下午1:58 好文章,但目的没有列出以帮助更多研究工作。 回复
Samuel Elkina 说:2019年10月21日上午1:55 谢谢我的朋友,我发现这个信息有用。 回复
Top 25 Future Technologies in which we should invest as a business - Geta-Suggestion 说:2021年2月5日下午8:36 […] 技术的主要目的过去和现在都是让我们的生活更舒适,给我们更多时间进行休闲活动。之前[…] 回复
Technology Has to Serve Humans – CX by Design 说:2025年4月30日下午12:10 […] 当我们环顾我们技术充斥的世界时,关于创造是否成功履行了这一目的的问题[…] 回复
留下回复取消回复
联系 关于 书:理解软件 书:代码简洁性
输入您的电子邮件… 订阅
Max Kanat-Alexander 6月27日 我目前认为,AI代理可以成功生成的输出数量和质量取决于:
- 模型的质量。
- 代理的质量。
- 输入的质量(如提示或其他上下文)。
- 代理可以独立运行的确定性、客观验证的质量。
我目前认为,除非你是模型开发者,否则最重要的部分是“确定性、客观验证”。
简单来说,如果你告诉AI做某事,它需要某种方式能够自己验证它做了正确的事。在软件中,这通常意味着运行测试、linter等,如果系统做了错误的事就会失败。
这意味着你的测试和验证工具越好,你从模型得到的输出就越好。不仅仅是测试的数量。它们必须是好的测试,有智能的断言和好的错误消息。
这也意味着代理成功涉及思考如何将任务分解成可以各自通过自动化测试、linter等客观验证的单独部分。
作为说明,输入的质量也很重要并在我们的控制之下。如果我们写更好的文档和更清晰的代码,代理会做得更好。令人惊讶的是,几乎一切帮助人类写代码的东西也帮助代理。
阅读更多 25 10 分享
Max Kanat-Alexander 6月4日 技术债务有价值的想法大多是一个神话。当你做出糟糕的软件工程决策时,它会在几小时、几天或几周内减慢你的速度。那是上限。许多人认为需要几个月或几年才能看到在软件设计上偷工减料的影响,但那根本不是真的。它几乎立即开始。做正确的事的成本通常是几小时,也许一天,你几乎总是立即恢复那个时间。也就是说,做对通常花费与做错相同的时间。“等等,什么?那怎么可能?我们偷工减料是为了节省时间!”结果几乎总是它根本不会节省你时间!它使处理变更更加混乱。它使代码审查更长。它在测试期间以更混乱的方式失败,需要更长时间调试。它几乎从不节省你实际时间。
偶尔,你的路径中有一些“岩石”如此巨大,你根本无法移动它。没有人应该花三个月设计一个新工具,只是为了你可以一次交付一个一天的功能。但那是技术债务决策的极小、极小部分。
这变得更疯狂,因为如果你随着进展做对一切(你总是重构系统,使其看起来像是设计来做它现在做的 exactly),那么一切在整个过程中保持相对容易。但如果你偷工减料,一切变得复合性地更困难,到你生成没有人能移动的“岩石”的程度。复杂性不是某种线性的东西,你可以后来回去投资线性量的时间来修复。你绝对可以让自己陷入一个如此糟糕的情况,以至于你公司中没有人有时间或专业知识来修复它。
这一切感觉如此无辜:“让我们只是偷工减料,它将帮助我们满足这个截止日期,”(一个截止日期通常是虚构的,无论如何,你可以推迟几周没有后果)。“很难弄清楚如何做对,我们可以推迟它吗?”然后砰,很快你发现自己在一个沼泽中,一切都困难,而且“我们不知道为什么!”
我留给你最后一件事:当我直接编码我生活的每一天时,我对此完全 uncompromising。我基本上无法看坏代码——我必须重构它,否则我不能做工作。不知何故,在我整个职业生涯的那部分中,我从未错过一个单一截止日期。
阅读更多 129 42 分享
Max Kanat-Alexander 5月30日 我估计我每看到或被告知一万条坏建议,就收到一条好建议。互联网充满坏建议,因为文明充满坏建议。文明充满坏建议,因为全球的教育大多不教人们思考、学习或确定什么是真的。相反,它教人们记忆和重复事实,其中大多数不重要、不真实或无用。
所以一般来说,我们不应该惊讶互联网(尤其是社交媒体)充满不重要、不真实或无用的信息。它不是全部那样——我在网上学到了大量非常有用的东西。有大量有价值的内容。我会说,人们对事物的意见,无论是在报纸、博客文章、论坛还是什么,很少具有那种价值, though。
那么,要点是什么?嗯,最好有一些方法在开始依赖或向他人重复之前确定某事是否重要或有用的。最简单的工具是说:“它有效吗?”这条数据可靠地帮助你完成某事吗?它100%的时间有效,还是更少?
对于许多帖子,你会发现:这些数据根本不能帮助你做任何事。
阅读更多 24 9 分享
Max Kanat-Alexander 5月29日 你对系统做的任何变更在推出时会收到来自某人的负面反馈。这发生不是因为每个变更有问题,而是因为用户习惯了系统的工作方式,他们不喜欢它改变了。他们可能批评新用户界面,或有某种情感论点关于为什么新东西“烂”,但通常他们真的只是对任何变更发生感到不安。这不是不寻常的;它是几乎所有人类中存在的一个因素。人们往往有一定 appetite 对于他们愿意在一段时间内体验多少变更,如果你超出那个,他们变得不安。
重要的是识别 when 人们的反馈只是这种“变更厌恶” vs 关于有价值事物的真实反馈。有几种方法可以判断:
- 变更厌恶通常持续3到10天。如果你在推出变更后的前3到10天内从用户收到反馈,并且同样的反馈没有被大量用户提供,值得考虑用户的响应是否只是变更厌恶。
- 变更厌恶反馈通常是情感的。它可能是侮辱性的。它可能表达为只是意见(“新菜单的颜色丑”)vs 事实(“我测量了,新工具比旧工具慢10倍。”)。
你在管理变更时试图避免的是创建如此多的变更厌恶以至于你引起反抗。反抗基本上看起来像如此多的人变得愤怒,他们去找你的管理层,他们停止你的工作。当有疑问时,向更少的人推出更小的变更,以更慢的扩展速率。随着时间的推移,你将学习你可以推出多少变更,多快。永远,永远不要做“大爆炸”发布,其中所有用户一次体验大规模变更。
现在,所有这些 said,永远不要将所有反馈归因于“变更厌恶”。通常人们确实有合法的反馈。如果许多人提供你相同的事实反馈,你看着它,他们的反馈有意义,你认为修复它会改进产品,那很可能不是变更厌恶。另外,说“这只是变更厌恶”并不意味着你应该完全忽略反馈。你至少应该承认它,让人们知道他们被听到。它确实意味着你不应该与那个人争论或试图与他们推理,因为他们正在有情感反应,你试图“逻辑”他们 out of it 不会帮助任何人。如果你认为是变更厌恶,你承认他们,他们只是继续与你战斗,有时你应该只是忽略他们并继续做你的工作。如果他们3天后带着更合理的论点回来,那么你知道不只是变更厌恶,而且他们可能到那时更有帮助,无论如何。
阅读更多 27 4 分享
加载更多
© 2025 版权所有。由 The Fox 提供支持。
管理同意联系 关于 书:理解软件 书:代码简洁性
转到顶部