《程序员逻辑》新版发布与下一步计划

Hillel Wayne — Computer Things 产品

摘要

Hillel Wayne 宣布其著作《程序员逻辑》发布 v0.13 版本,包含大量重写和新内容,并概述了迈向印刷版的下一步计划。

<p><img alt="cover.jpg" class="newsletter-image" src="https://assets.buttondown.email/images/f821145f-d310-403c-88f4-327758a66606.jpg?w=480&amp;fit=max" /></p> <p>历时四个月,《程序员逻辑》的新版本现已发布!v0.13 超过五万字,比 v0.12 大 20%,同时也是我写过最长的东西。<sup id="fnref:longest"><a class="footnote-ref" href="#fn:longest">1</a></sup>完整发布说明<a href="https://github.com/logicforprogrammers/book-assets/blob/master/CHANGELOG.md" target="_blank">在此</a>,但我想谈谈最大的几项变化。</p> <p>首先,每一章都已重写。每一章。从相对较小的改动到完全重写,不一而足。粗略地通过 git diff 统计后,我估计删除了约一万一千字?<sup id="fnref:gross-additions"><a class="footnote-ref" href="#fn:gross-additions">2</a></sup>最大的变化可能在于 Alloy 章节。经历了许多不眠之夜后,我意识到正确的方法不是将 Alloy 作为数据建模工具来教授,而是将其作为领域建模工具。这在技术上意味着本书不再涵盖数据建模。</p> <p>此外,各章节之间的关联也大大增强。例如,介绍性数学章节预先暗示了每个数学概念在未来技术中的用途。我还更加注重一些通用“主题”,比如表现力与保证的权衡(暂定名)。一个让我非常兴奋的主题是兼容性(非常暂定名)。事实证明,<a href="https://buttondown.com/hillelwayne/archive/the-liskov-substitution-principle-does-more-than/" target="_blank">里氏替换原则</a>/子类型化、<a href="https://buttondown.com/hillelwayne/archive/refinement-without-specification/" target="_blank">数据库迁移</a>、向后兼容的 API 变更以及<a href="https://hillelwayne.com/post/refinement/" target="_blank">规约精化</a>,基本上都遵循相同的一般原则。我目前称其为“兼容性”,但可能需要一个更好的名字。</p> <p>最后,各章节中新增了许多主题。<code>测试</code>章节妥善涵盖了结构属性和蜕变属性。<code>证明</code>章节涵盖了归纳证明和递归函数证明(作为练习)。<code>逻辑编程</code>章节终于加入了关于回答集编程的部分。你应该明白了。</p> <h3>下一步计划</h3> <p>我还想为本书添加很多内容:适当的数据建模、数据结构、类型论、基于模型的测试等。但我已经连续两年添加新素材了,如果继续下去,它永远无法完成。因此,从这个版本开始,所有内容都已就位!</p> <p>就像两年前的十一月、两年前的一月以及去年七月那样,内容都“已就位”。为了确保 100% 不会受到添加新内容的诱惑,我将整份手稿交给了文字编辑。所以,如果我多写了,它将不会得到编辑。这是一个很好的停止动力。</p> <p>我还需要找一位技术审阅者和校对者。当这三个阶段都完成后,就“只是”调整版面和寻找好的印刷商的问题了。我不知道时间线如何,但我真的想在夏天之前能有可以拿在手里的东西。</p> <p>(我还需要获取知名人士的推荐语。在这方面有点受阻,因为我极力避免利益交换,所以我想避开任何帮助过我或在书中被提及的人。鉴于我利用了自己大部分的人脉来帮忙……不过我有一些想法!)</p> <p>前方还有很多工作要做。即便如此,两年来第一次没有研究要做,也没有章节要写,感觉太疯狂了。或许我会再次更新博客!或许我会举办工作坊!或许我会在芝加哥温度超过 6°F 时出门!</p> <hr /> <h2>会议季</h2> <p>在相当平静的 2025 年之后,2026 年的会议季看起来会相当忙碌!以下是我目前计划演讲的地点:</p> <ul> <li><a href="https://qconlondon.com/" target="_blank">QCon London</a>,3月16-19日</li> <li><a href="https://craft-conf.com/2026" target="_blank">Craft Conference</a>,布达佩斯,6月4-5日</li> <li><a href="https://softwareshould.work/" target="_blank">Software Should Work</a>,密苏里州,7月16-17日</li> <li><a href="https://hfpug.org/" target="_blank">Houston Functional Programmers</a>,线上,12月3日</li> </ul> <p>前三场我将演讲我的主题“如何发现不存在系统中的错误”的不同变体,该主题去年曾在 <a href="https://systemsdistributed.com/" target="_blank">Systems Distributed</a> 上演讲。最后一场理想情况下将是基于《程序员逻辑》的演讲。</p> <div class="footnote"> <hr /> <ol> <li id="fn:longest"> <p>第二长的是我 2003 年的 NaNoWriMo。第三长的是《Practical TLA+》。&#160;<a class="footnote-backref" href="#fnref:longest" title="跳回正文脚注 1">&#8617;</a></p> </li> <li id="fn:gross-additions"> <p>这意味着我总共写了 20,000 字。作为对比,v0.1 版本是 19,000 字。&#160;<a class="footnote-backref" href="#fnref:gross-additions" title="跳回正文脚注 2">&#8617;</a></p> </li> </ol> </div>
查看原文
查看缓存全文

缓存时间: 2026/05/16 03:40

# 面向程序员的逻辑:新版本及后续计划 来源:https://buttondown.com/hillelwayne/archive/logic-for-programmers-new-release-and-next-steps cover.jpg 历时四个月,《面向程序员的逻辑》(Logic for Programmers)的下一个版本现已发布(https://logicforprogrammers.com/)!v0.13 版本超过 50,000 词,比 v0.12 大了 20%,也是我写过的最长的作品。¹(https://buttondown.com/hillelwayne/archive/logic-for-programmers-new-release-and-next-steps#fn:longest)完整发布说明见此处(https://github.com/logicforprogrammers/book-assets/blob/master/CHANGELOG.md),但我会重点谈谈最大的改动。 首先,每一章都重写了——每一章都是。从*相对*较小的改动到完全重写,一应俱全。经过粗略的 git diff 统计,我大概删除了 11,000 词?²(https://buttondown.com/hillelwayne/archive/logic-for-programmers-new-release-and-next-steps#fn:gross-additions)最大的变化可能来自 Alloy 章节。经过无数个不眠之夜,我意识到正确的做法不是将 Alloy 作为*数据建模*工具来教,而是将其作为*领域建模*工具来教。从技术上讲,这意味着本书不再涵盖数据建模。 此外,各章节之间的关联也大大加强。例如,数学入门章节会铺垫每种数学方法在未来技术中会如何应用。我还更强调了一些通用“主题”,例如表达能力与保证的权衡(暂用名)。一个让我非常兴奋的主题是兼容性(极度暂用名)。事实证明,里氏替换原则(https://buttondown.com/hillelwayne/archive/the-liskov-substitution-principle-does-more-than/)/ 一般的子类型化、数据库迁移(https://buttondown.com/hillelwayne/archive/refinement-without-specification/)、向后兼容的 API 变更以及规范精化(https://hillelwayne.com/post/refinement/)都遵循*基本上*相同的通用原则。目前我将其称为“兼容性”,但可能需要一个更好的名字。 最后,各章节中新增了大量主题。《测试》一章正确涵盖了结构属性和变形属性。《证明》一章涵盖了归纳法和递归函数证明(通过练习)。《逻辑编程》一章终于增加了关于回答集编程的内容。诸如此类。 ### 后续计划 本书还有很多内容我想添加:恰当的数据建模、数据结构、类型论、基于模型的测试等。但连续两年都在添加新内容,如果继续下去,这本书永远完不了。因此,从这个版本开始,所有内容都已到位! 就跟两年前十一月(https://buttondown.com/hillelwayne/archive/five-unusual-raku-features/)、两年前一月(https://buttondown.com/hillelwayne/archive/logic-for-programmers-project-update/)以及去年七月(https://buttondown.com/hillelwayne/archive/logic-for-programmers-turns-one/)曾宣称的“内容已全部到位”一样。为了确保 100% 不会再被诱惑添加新内容,我已经把整份手稿交给了文字编辑。所以,如果我再写新内容,它们就不会被编辑。这是一个很好的激励,让我停止添加。 我还需要找一位技术审校和一位校对人员。这三个阶段都完成后,就“只是”修复排版和找好印刷商的问题了。我不确定时间线如何,但我真的很想在夏天之前拿到一本可以捧在手里的书。 (我还需要一些知名人士的推荐语。这有点难度,因为我努力避免交易性行为,所以希望避开那些帮助过我或在书中被提到的人。考虑到我已经动用了大部分人际关系来帮忙……不过我也有一些想法!) 前方仍有大量工作。即便如此,这是两年来第一次我不用再做研究或写章节,感觉真是疯狂。也许我会再次更新博客!也许我会举办工作坊!如果芝加哥气温超过零下 14 度,也许我还会出门走走! --- ## 会议季 在相对平静的 2025 年之后,2026 年的会议季看起来将会非常繁忙!以下是我目前已确认的演讲安排: - QCon London(https://qconlondon.com/),3 月 16-19 日 - Craft Conference(https://craft-conf.com/2026),布达佩斯,6 月 4-5 日 - Software Should Work(https://softwareshould.work/),密苏里州,7 月 16-17 日 - Houston Functional Programmers(https://hfpug.org/),线上,12 月 3 日 前三个会议,我会做我去年在 Systems Distributed(https://systemsdistributed.com/)上演讲的变体版本:“如何在并不存在的系统中发现错误”。最后一个会议,理想情况下我会做一个基于《面向程序员的逻辑》的演讲。

相似文章

Logic for Programmers 已完成

Hillel Wayne — Computer Things

Hillel Wayne 宣布其著作 'Logic for Programmers' 完成并发布 1.0 版本,这是一本关于在软件开发中使用逻辑的指南,现已提供印刷版,早期电子书购买者可免费更新。

面向程序员的逻辑学 v0.15,现场编程

Hillel Wayne — Computer Things

Hillel Wayne 宣布其著作《Logic for Programmers》的 0.15 候选版本,并重点介绍了一场以 Strudel 和 CLAVIER-36 为特色的现场编程聚会,用于音乐编程。

Logic for Programmers 额外内容

Hillel Wayne — Computer Things

Hillel Wayne 为其著作《Logic for Programmers》发布补充章节,涵盖并发进程、一阶逻辑、Liskov 历史规则及排序等主题。

《Logic for Programmers》食物募捐活动只剩一周

Hillel Wayne — Computer Things

Hillel Wayne为其书籍《Logic for Programmers》提供折扣,以此推广为Greater Chicago Food Depository举办的募捐活动,并分享了关于结构化并发和goto语句历史的技术笔记。