展开讨论

经验与复盘经验摘录 · 机器翻译

当我毕业时,我震惊地发现没有公司关心我所学的任何架构……

……当我毕业时,我震惊地发现没有公司关心我所学的任何架构概念。UML类图、时序图、ER图等等……都已经过时了。在一些大型互联网公司开始扩展的时候,时序图曾一度重新受到关注……但并没有真正持续下去。如今大多数软件都充满了竞争条件和深层次可被利用的架构缺陷。加密货币已经遭受了许多这样的攻击。数十亿美元的资金因竞争条件而损失……而这只是被发现的那些。我们今天使用的编程原语并没有优化以避免竞争条件,甚至没有尝试鼓励良好的并发模式;恰恰相反,它们鼓励方便但无序的并行化,并且它们被优化以关注类型安全,这是一个远不那么令人担忧的问题。我为Node.js构建了一些强大的异步原语,但没人关心!没人!事情糟糕到似乎有些人希望它就是这个样子。……

源讨论伟大抽象的‘隐藏’成本原帖 137 条评论 · 导入时统计
3

这条内容在回应什么?

父级讨论 · 节选

DO

在过去几年里,我得出了一个结论:在公司里,了解抽象机制底层工作原理的人反而是一种负担,而不是优点。 越来越多的公司只想要快速完成Jira工单,而不是那些会提出异议或质疑是否是构建某样东西的最佳方式的人。他们想要的是结果,不在乎它是否运行良好。他们不在乎它是否高效。他们想要的是现在。 我们正在转向React,用它来取代我们过去十年一直使用的内部框架。这次转变最大的部分是“招聘”。 我的总体感觉是,没有人真正了解React的底层工作原理。当我问问题时,得到的回答通常是“别担心”。 一切都变得庞大、过度构建且糟糕,因为大多数人从未尝试去学习哪怕一层更高级的知识。…

完整原文

社区评论 0

还没有社区评论,来聊聊你的看法。

原讨论中的回复 3

仅展示本次导入中包含的直接回复。中文为机器翻译,可查看英文原文。

GL

好文章,最近我一直在处理线程和进程之间的并发问题。同时还要保持跨平台,这需要学习很多东西。如果你有大的缓冲区,还想保持一定的性能,那么理解所有传输机制和缓存级别是非常有趣的。我觉得这些是我在教育中跳过的部分,教育一直专注于对象的静态结构,而不是数据传输的动态性。

完整原文
BU

是的,按值传递或“值语义”可以防止许多编程错误。传递对不可变数据的引用也可以起到类似的作用。在底层语言中,内存布局和调用约定映射到目标硬件,因此需要考虑性能差异。 按值传递确实会对程序的结构产生重大影响,并使程序更容易推理。 我想指出的是,“并发安全”是一个确实存在的术语,尽管“线程安全”更为常见。这些大致属于内存安全的范畴,这个话题主要是由于安全问题,但也包括学术研究。 这两种观点并不完全一致。像Go这样的非并发安全语言也可以被认为是广义上的内存安全。实用的解释是,在垃圾回收语言中,数据竞争更难被利用。从学术的、基于原则的观点来看,…

完整原文
JE

我的经历非常相似。在我阅读并理解了Leslie Lamport早期的工作以及Edward Lee关于在并发环境下获得确定性结果的研究之后,我的思维模型有了巨大的提升。我甚至找到了最早的一篇数学证明论文,证明了写入和读取必须在时间或空间上分开(Rust借用检查器的数学基础),但现在却找不到它了。 - https://lamport.azurewebsites.net/pubs/time-clocks.pdf - https://en.wikipedia.org/wiki/Chandy%E2%80%93Lamport_algorit... - https://www2.eecs.berkeley.edu/Pubs/TechRpts/2006/EECS-2006-...

完整原文
在 Hacker News 阅读

尊重不同观点,分享具体经验。

登录后即可发帖、评论、转发和引用。