标签
本博客系列第二篇,主张 Modern C++ 是一种思维模式而非新的标准:通过 std::equal 和 C++20 ranges 等算法,默认编写正确、高效、安全的代码,取代传统基于循环且易出错的写法,并警告 AI 工具正在大规模生成不安全的经典 C++ 代码。
哈佛大学 CS50 提供免费的自学节奏 Python 编程入门课程(CS50P),为期 10 周,适合初学者,包含真实编程项目和习题集,并可选择通过 edX 获取认证证书。
一篇 Code Simplicity 博客文章,主张开发者在编程时每当停下来思考,都意味着存在某个潜在问题——通常是理解不够透彻——并解释了为什么更深入地理解工具、符号和问题本身,才是实现快速、简洁编程的真正秘诀。
宣布 Clojure/Conj 2026 大会,会议演讲的 YouTube 播放列表已上线,并在 Lobsters 上有讨论帖。
matklad 的一篇博客文章,主张公共函数不应调用其他公共函数;相反,应将共享逻辑提取到私有辅助函数中,以避免接口随着时间的推移而退化,但也指出便捷 API 是一个例外。
Raymond Chen 的 The Old New Thing 博文讲解了 C++/WinRT 中创建自实现对象时 make 与 make_self 的区别,建议在无需访问实现类成员时直接使用 make,以避免不必要的间接转换。
一则广为流传的轶事讲述了这样一件事:一名远程程序员在技术测试和面试中表现出色并被录用,却在首次线下白板编程环节中暴露出能力存疑的问题,凸显了人们对招聘过程中利用人工智能作弊的担忧。
一篇个人叙述,讲述了作者利用夜间时间,将 Richard WM Jones 的 JONESFORTH 从 GAS 语法移植到 NASM 语法(基于一台 2007 年的 Asus eeePC),并分享了环境配置、学习动机以及学习 x86 汇编语言过程中所遇到的挑战。
Raymond Chen 解释了为什么 COM 静态存储不适合用于清理无法编组的委托,因为它只在最后一个线程关闭 COM 时才执行清理,而不是按套间级别执行,并且查询全局接口表(Global Interface Table)仍然更快。
Raymond Chen 解释了为什么 RoRegisterForApartmentShutdown 不适合用于清理假 agile 包装器中不可编组的委托,详细说明了 agile 对象要求、注销警告、套间亲和性以及 O(n) 查找性能等方面的限制。
程序员兼准父亲 Steve Krouse 借助 Neil Postman 的《The End of Education》,探讨 AGI 时代教育的目的,并反思自身编程技能以及整个学校体系在 AI 冲击下的存续问题。
一位资深程序员反思自己不情愿地采用 AI 编程代理,哀悼编程作为一种手艺的消逝,认为 vibe coding 能交出令人惊叹的成果,却失去了曾经定义这一职业的理解与乐趣。
一条推文批评了关于 LLM 已经「解决」编写极其复杂程序这一被过度炒作的观点,以经过验证的编译器 CompCert 为例,说明这项任务仍然需要顶尖的人类专业能力。
Raymond Chen 在他的 C++ future 库系列文章的收官篇中,解释了 std::future 和 std::shared_future,以及它们如何操作底层的“源”,并为 future 库的各个组件提出了替代命名建议。
一位开发者分享了将 Marginalia 搜索的倒排索引从 Java 移植到 C++ 的进展,指出代码的表达能力有所提升,行数可能减半,而 std::span 在处理连续内存时非常实用。
Raymond Chen 解释了 WIN32_LEAN_AND_MEAN 宏的起源:它在 Windows 95 时期被引入,用于在包含 windows.h 时排除大量头文件,以恢复 16 位 Windows 时代的最小化头文件理念并加速编译。如今由于摩尔定律和预编译头文件的普及,该宏已基本失去实际作用。
作者介绍了在其DrC C2Y编译器项目中为C预处理器添加的有趣扩展,包括__print()/__where()等调试内建函数,以及用于转换参数列表的函数式__map()宏。