“对于一次性使用的应用程序,动态语言效果很好。如果一致性很重要,那么值得使用所有你能找到的静态分析工具。但这并不总是必要的。例如,如果你是一个物理学家,想立即得到某个计算的结果,那么只做一次就足够了。这一切都取决于上下文。软件需要的可靠性越高,静态类型语言就越有帮助。”
关于性能
“要真正获得更好的性能,拥有静态类型语言确实很有帮助。对于像 Python 这样的动态语言来说,这非常困难。人们通常通过添加注释来处理这个问题:这就是 TypeScript 的由来,它基本上是带有类型注释的 JavaScript。而且这更加有趣,因为 JavaScript 就是没有类型声明的 Java。”从根本上说,TypeScript 就是语法不同的 Java。
关于速度
“做微服务没问题,但它们至少比调用方法慢一百万倍。想想这会导致什么。对于大多数人来说,实现性能的最简单方法是构建一个干净的可扩展架构并进行横向扩展。但也有人关心底层细节。”
关于协程
“当我在 70 年代早期学习 Simula 时,它有一种很好、很自然的风格。你只需编程并将计算视为一个独立的实体。如果实体相交,它对你来说看起来是透明的。我得出的结论是,作为一种概念,这种方法比围绕消息处理进行编程要好得多。这种方法很难实现,但一旦实现,用这种格式思考就更容易了。”
关于学习方法
“我认为先学哪种语言并不重要。许多人学会一件事,然后一生都会运用它。我认为每所大学都应该有一门教授编程语言 葡萄牙电报放映 比较的课程。例如,一个学期里你有五项使用五种不同编程语言的任务。这使得人们能够快速研究它们,因为它们并没有太大的区别,并了解哪一个更适合。”
关于模式匹配
“我认为,如果我们将这种建筑称为‘典型案例’,那就很棒了。但称其为“模式匹配”听起来像是骗局或虚假广告,因为它没有提供与真正的正则表达式一样多的功能。但作为一个机会,这很棒。”
关于优先级
“当我开始使用 Java 时,我的个人规则之一就是我不想调试奇怪的内存损坏问题。我一生中花了太多的时间来修复这样的错误。这通常涉及某人在循环中用一个额外元素覆盖数组的末尾,而您会在经过一百万条指令之后才发现这一点。我讨厌寻找这样的错误。”