一、 为什么读这本书?

1.想了解如何更好地利用 AI 工具来辅助编程。

在我日常的工作中,常使用 ChatGPT 和 DeepSeek 来辅助编程。当然,方式比较简单与直接,就是将问题丢给它们,然后看一下这些 AI 工具怎么解答,根据解答选择比较好的解决方案。但是,有两个问题经常困扰着我:1. AI 工具给出的解决方案是错误的。例如:我使用的 Python 版本是 2.7.18,Flask 框架版本是 1.1.4, 那么相应的 Flask-SQLAlchemy, marshmallow, marshmallow-sqlalchemy 等应该使用哪个版本?这个问题截止到目前这些 AI 工具都没有给出正确的版本。2. AI 工具给出的解决方案不是最佳的。例如:在 Flask web 开发中,应该使用哪个 restful 框架?对于这个问题, AI 工具始终没有给出最佳的选择理由。

对于以上两个问题,我时常在想是否是我的提问方式不正确?刚好有一天看到朋友圈有朋友在阅读 《AI-Assisted Programming》(《AI辅助编程实战》) 这本书,所以打算看一下。借鉴别人利用 AI 工具来辅助编程的经验。

2.想看看 O'Reilly 最近几年出的书水平是否有改进。

我买的第一本书 O'Reilly 的书是 2018年出版的《利用Python进行数据分析 (原书第2版)》, 当时感觉比较简略,后面就再也没有买过 O'Reilly 的书了,而 《AI-Assisted Programming》是 2024 年出版的,6 年过去了,想必 O'Reilly 出的书应该有所改进。

二、这本书写了什么?

简单介绍了 AI 工具的 发展,详细介绍了 Copilot 和 其它 AI 工具的使用,软件开发流程。

从 2025 年 3 月 13 日至 2025 年 7 月 27 日,期间断断续续花了 38 天阅读完《AI-Assisted Programming》(《AI辅助编程实战》)。

三、这本书特点

1.很多生词

这是我阅读过的所有书中生词最多的书。这本书只有 200 多页,然而我却从 2025 年 3 月 13 日至 2025 年 7 月 27 日花了 38 天才阅读完,之所以从 3 月拖到 7 月,是因为生词实在太多,然而又毫无技术价值,导致我一度不想读,但本着“要么不做,要做就做好”的原则,还是选择继续读下去,最后就变成这样读一天,然后用三天调整心情的节奏。示例:á la(第 4 页), voilá(第 6 页).....搞不懂作者为什么一定要用法语。

2.很多形容词

只要这个特点出现一次我就提一次,真正好的东西是不需要那么多形容词来说这个东西好的,用太多形容词来修饰往往是为了掩饰一些不好的东西。示例:

A key theme of the evolution of programming languages is abstraction. This is a fancy way of describing how systems get easier for developers to use. When the tedious details are handled in the background, developers can focus on what matters most. This has been a driving force of innovation, allowing for breakthroughs like the internet, cloud computing, mobile, and AI.

上面这段话是随便截取的,我们来看下有多少形容词:第 1 句:key;第 2 句:fancy;第 3 句:tedious;第 4 句:driving;真的大可不必这样,去掉这些形容词完全不影响阅读。

3.很多比喻

第 5 页,AI is the big umbrella: it includes all systems that can pull off tasks with the flair of human intelligence.

第 83 页,Amazon CodeWhisperer is like a Swiss Army knife extension for IDEs like VS Code, PyCharm, and AWS Lambda.

......

AI 是 “big umbrella”, CodeWhisperer 像“Swiss Army knife”,我觉得这样的比喻毫无意义,一点儿也没显示出其特点。

4.很多引用

书中引用了大量的各种人士说的话,示例:Andrej Karpathy,Quinn Slack,Zach Lloyd,Marwan Elwaraki,Salwa Al Alami, James LePage,Deepak Kumar......整本书读下来让我有一种感觉:xxx 说 xxx。感觉像作者就是拉这些人来站台。

5.很多惯用语(idiom) 、非正式用语

整本书有非常、非常、非常多的惯用语、非正式用语,除了增加阅读难度外毫无意义。示例:gin up,shady practice,tricks up their sleeve,move rapidly downards through the air.....如果你看到这四个词组(或短句)能理解明白它的意思,那我给你点赞,你阅读这本书应该会比较顺畅。做一个不那么恰当的比喻,如果一本书夹杂大量的口语、方言,我觉得没多少人会喜欢这样的书,因为除非读者熟悉这些口语、方言,否则对读者来说,很多内容很难理解。

四、这本书适合什么样的人?

写到这,我还是很生气,因为我觉得这都不能称为一本书,虽然中文名叫《AI辅助编程实战》,其实概括起来就是一句话:遇到问题可以问这些 AI 工具,仅此而已。读完这本书,回到”为什么读这本书?“,对于“想了解如何更好地利用 AI 工具来辅助编程。”——没有找到更好的方式;对于“想看看 O'Reilly 最近几年出的书水平是否有改进”——只能说从这本书来看,依然没有改进。

鉴于书中内容毫无技术价值,且难以阅读,所以不推荐阅读。

五、推荐指数

按照5 星的标准,本书推荐指数 1 颗星。

六、参考资料

1. 编程

(1)豆瓣,Tom Taulli,《AI-Assisted Programming》:https://book.douban.com/subject/36871090/

(2)源码,Github: https://github.com/ttaulli/AI-Assisted-Programming-Book/

2. 英语

(1) Etymology Dictionary:https://www.etymonline.com

(2) Cambridge Dictionary:https://dictionary.cambridge.org

欢迎搜索及关注:编程人(a_codists)

《AI-Assisted Programming》读后感的更多相关文章

  1. 《DevOps软件架构师行动指南》读后感

    从软件架构师视角讲解了引入DevOps实践所需要拥有的技术能力,涵盖运维.部署流水线.监控.安全与审计以及质量关注,这是本书一开始内容简介的开头,本书的作者是伦恩·拜斯(Len Bass).英戈·韦伯 ...

  2. nodejs开发指南读后感

    nodejs开发指南读后感 阅读目录 使用nodejs创建http服务器; supervisor的使用及nodejs常见的调式代码命令了解; 了解Node核心模块; ejs模板引擎 Express 理 ...

  3. DevOps:软件架构师行动指南(文摘)

    第一部分 背景 第1章 DevOps是什么 第二部分 部署流水线 第三部分 横切关注点 第四部分 案例研究 第五部分 走向未来

  4. 2020年DevOps工程师入门指南

    DevOps兴起于2010年代,到现在DevOps已经在行业中拥有了一席之地,并在继续发展壮大. 有兴趣成为一名DevOps工程师吗?如果想要成为一名DevOps工程师,需要做到以下五点: 要有开发者 ...

  5. 5月29日 Java性能调优指南 读后感

    并行垃圾收集器 串行垃圾收集器 并发标记清除(CMS)垃圾收集器 Garbage First(G1)垃圾收集器 没有深入的学习G1的原理,只是看了大概的思想; SA工具:待学习

  6. 敏捷开发、DevOps相关书籍——书单

    自己瞎整理的一些书单,都是豆瓣评分比较高的书,可以作为选择的一个参考. 书名 豆瓣链接 持续交付:发布可靠软件的系统方法 https://book.douban.com/subject/6862062 ...

  7. 有奖试读—Windows PowerShell实战指南(第2版)

    为什么要学PowerShell? Windows用户都已习惯于使用图形化界面去完成工作,因为GUI总能轻易地实现很多功能,并且不需要记住很多命令.使得短时间学会一种工具成为可能. 但是不幸的是,GUI ...

  8. [转载]你所不了解的DevOps

    DevOps开发运维训练营 一旦建立了创新的文化,即使那些并非科学家或者工程师的人——诗人.演员.记者——也能以团体的形式,接受科学文化的意义.他们信奉创新文化的概念.他们以促进这种文化的方式投票.他 ...

  9. 给 DevOps 初学者的入门指南

    当我们谈到 DevOps 时,可能讨论的是:流程和管理,运维和自动化,架构和服务,以及文化和组织等等概念.那么,到底什么是"DevOps"呢? 什么是DevOps 随着软件发布迭代 ...

  10. CI Weekly #3 | 关于微服务、Docker 实践与 DevOps 指南

    CI Weekly 围绕『 软件工程效率提升』 进行一系列技术内容分享,包括国内外持续集成.持续交付,持续部署.自动化测试. DevOps 等实践教程.工具与资源,以及一些工程师文化相关的程序员 Ti ...

随机推荐

  1. 【最新】MySQL 5.6 保姆级安装详细教程

    MySQL5.6简介 MySQL 5.6 是 MySQL 数据库管理系统的一个重要版本,以其稳定性.性能优化和功能扩充受到广泛关注与使用.该版本在数据库领域中提供了更加高效的数据处理能力.增强的复制功 ...

  2. MySQL与Java 整型数据映射

    tinyint 占用1个字节,取值范围-128到127,映射成Java中的Integer类型:tinyint(1)用来表示boolean类型,0代表false,非0代表true,映射成Java中的Bo ...

  3. Vue 学习笔记 [Part 2]

    作者:故事我忘了¢个人微信公众号:程序猿的月光宝盒 目录 一. 计算属性 1.1. 计算属性的本质 1.2. 计算属性和methods对比 〇.ES6补充 0.1. let/var 0.2 const ...

  4. java面向切面编程---AOP之环绕通知

    package com.xlkh.bigscreen.common.aspect; import com.alibaba.fastjson.JSON; import com.fasterxml.jac ...

  5. 资深育儿专家智能体,AI都已经涉及这块了?

    本文由 ChatMoney团队出品 介绍说明 在育儿的道路上,您是否常常感到迷茫和无助?面对孩子的成长问题.教育难题以及各种突发状况,您是否渴望有一位专业的导师为您指引方向?现在,让资深育儿专家智能体 ...

  6. [原创]《C#高级GDI+实战:从零开发一个流程图》第04章:来个圆形,连线它!

    一.前言 上一节我们实现了在矩形与矩形之间添加连线,光是矩形太单调了,某些问题也暴露不出来,我们本节就来看一下,如何添加一个圆形,且支持圆形与圆形.圆形与矩形.矩形与矩形间的连线.在这个过程中我们会发 ...

  7. Wondows11安装 Docker Desktop 教程

    环境准备 确保电脑BIOS里面开启了虚拟化,可以任务管理器里面查看 启用wondows虚拟化支持 控制面板-程序-启用或关闭wondows功能 这里如果是家庭版,可能没有Hyper-v,没有就不勾 或 ...

  8. websocket h5控制 pc 大屏 进行协同操作

    接到产品需求单 ,哎说多都是累 这几天接口写个没停 今天捣鼓一下这个需求 需求简要说明:客户找我们做的pc端可视化大屏 需要扫码 到 h5端移动端控制pc端大屏 移动端当然也是一个网页 一对一操控 分 ...

  9. SQLServer常用个技巧(一):根据某字符截取后面的字符串,String转int

    SELECT GOODS_CD AS goodsCd, 原字符串 reverse( GOODS_CD ) AS dCsdoog, 颠倒 LEFT ( reverse( GOODS_CD ), char ...

  10. Datawhale AI夏令营-学习笔记(一)

    大数据相关知识: 文本编码:将人类可读的文本转换为机器可理解的数值向量表示,这是所有文本分析任务的基础. 常用方法包括独热编码.词嵌入 (如Word2Vec.GloVe等静态词向量)以及基于预训练模型 ...