
| 关注 @AlSweigart
美国
Al Sweigart 是一位软件开发者和技术图书作者,居住在旧金山。他撰写了几本 Python 书籍,这些书籍以 Creative Commons 许可发布在 https://inventwithpython.com
Al Sweigart 是一位软件开发者和技术图书作者,居住在旧金山。他撰写了几本 Python 书籍,这些书籍以 Creative Commons 许可发布在 https://inventwithpython.com
创作评论
大家好,我是作者。我刚刚发现这篇文章在 9 月份被发布到了 Slashdot 上。很多评论似乎都与我在 Reddit 上看到的类似:普遍不屑一顾文章的前提。这本应是一次学习经历,但我一次又一次地看到评论者指的是他们假设文章所说的内容,而不是文章实际所说的内容。(例如,我可以复制粘贴文章中的确切句子。)
为了澄清这些误解,让我先回顾一下一些更流行的批评
* “不会每个人都成为软件工程师。”
我同意,并在文章中明确地说了这一点。
* “大众编程不会取代软件工程师。”
我同意,并在文章中明确地说了这一点。
* “编程超出了大多数人的能力范围。”
我不同意,几百年前人们也会对识字能力这样说。如果有什么不同的话,那就是今天的编程比例如 80 年代更容易。计算机科学将永远是困难的;编写小型脚本来自动化任务很容易,而且变得越来越容易。
以典型的办公室工作人员的事情,例如电子邮件为例:您不必成为计算机科学家即可设置 Outlook 电子邮件规则。它们是一系列“如果发件人是此人并且包含单词 foo,则将其标记为已读并将其放入此文件夹”的规则。将此(非常有用的)功能扩展到其他应用程序和 Web 服务。这不是编写一个包含复杂数据结构的 10,000 行应用程序。这是一种非常有效的方式来专门配置应用程序。
* “人们宁愿花 5 美元购买一个应用程序,也不愿编写自己的应用程序。”
我同意,我也没有声称普通人会编写自己的 Facebook 应用程序。但是,个人会在他们的 Facebook 应用程序、电子邮件客户端或电子表格程序_之上_有自己的需求和工作流程。“应用程序已经可以做到这一点,我只是希望它能用另一个东西来做这件事。”这些“最后一英里”功能对于专业人士来说市场太小,无法制作,但对于一个用户来说,他们可以拼凑一个脚本就足够重要了。
* “每个人都有汽车,但不是机械师。”
从“损坏”状态到“工作”状态的转变是不同的,而且范围更窄,它不同于希望配置计算机来执行某些自定义操作。而这种巨大的、灵活的配置可能性使计算机与汽车或冰箱等电器或房屋布线等技能不同。如果计算机没有这种巨大的、灵活的用途潜力,那么计算机将与汽车没有什么不同,只需要少数“机械师”。
我必须添加一个发布后的澄清:当我在文章中说人们会学习调试时,我的意思是他们会调试自己的代码。而不是他们会调试其他人编写的代码或为专业软件提交拉取请求。
* “业余程序员会编写糟糕的、有漏洞的代码,并且存在安全漏洞。”
讽刺的回复:那么它会和专业编写的代码一样。
真诚的回复:他们编写的程序范围会小得多。最常见的情况是,这些将是用于自动化简单任务的有限脚本,而不是控制核反应堆。
* “业余爱好者会编写不优雅的代码,无法维护。他们从小处着手,但随后公司变得依赖它,最终不得不花费大量资金来替换它。”
讽刺的回复:那么它会和专业编写的代码一样。
真诚的回复:很好。显然需要那个粗制滥造的脚本,它比以前的东西有所改进。如果它不值得更换的成本,那么公司根本就不会更换它。但是,正是这种粗制滥造的代码发展了公司,并使这些成长的烦恼成为可能。如果这很糟糕,您不妨争辩说我们根本不应该发展农业,因为它导致了现代问题。
* “在 70 年代,如果你拥有一台计算机,你必须为其编写代码。但是计算机正变得越来越像电器,不需要编程。”
编程比过去容易得多,计算机现在也比过去更与文化相关。这使得编程有可能成为一种休闲技能,而不是与工作相关的专业或仅供硬核爱好者使用。与此同时,由于互联网,您现在可以使用计算机做的事情比几十年前要多得多。另请参阅我上面提到的“最后一英里”。
* “我们已经在 Visual Basic 和 COM 上尝试过。它们没有流行起来。”
第一,那是在 90 年代,当时互联网还没有使计算机成为主流用户的社交工具,而 Google 还没有让学习这些工具变得更容易。第二,HTTP 比 Microsoft 独有的 COM(或其他 API 方案)更通用地用于 API 设置。我不知道未来的编程语言和协议会是什么样子,但我知道它们会比我们今天的更相关、更易用,而不是更少。否则我们就不会切换到它们。