Posts 阅读:黑客与画家
Post
Cancel

阅读:黑客与画家

Paul Graham 拿黑客与画家相比,真的是越比越像。黑客和工程师以及科学家所不同的点在于,他们在打造一件作品,这件作品不仅能解决用户的问题,而且还能在使用体验和构造的美感上都有非常高的自我追求。人工智能Copilot也许能取代堆砌代码的工作,但对产品的思考是目前的AI无法取代的。虽然画家的工作如今也可能会被Midjourney这样的AI产品所追赶甚至取代,但那只是在表象层。对于内容的思考以及呈现包含非常个人的风格,这点并不能被取代。

  • 黑客不是科学家,虽然他们毕业的专业叫“计算机科学”。他们最擅长的,是用手中的计算机创造出好用好玩的软件。 那是他们的作品,无法用代码行数,运行速度等指标来评价,正如一件绘画作品无法用颜料色号,笔画多少来衡量一样。在黑客手中打造出来的软件,更像是一件艺术品,比如1984年苹果公司推出的Machintosh电脑。
  • 画画用铅笔打草稿,正如编程可以直接用Debug的方式把软件先跑起来,然后在上面慢慢改,直到软件变得越来越好用,每个细节都能尽善尽美。你也可以先用纸笔完全设计好程序,再转化成代码,但最终那个打磨过程,还是会直接发生在代码上。
  • 大学和实验室强迫黑客成为科学家,企业强迫黑客成为工程师。所谓的工程师,是因为企业里还有其他角色来定义他们认为的最终软件应该是什么样,最重要的头衔就是“产品经理”。 他们设计好产品,然后通过“黑客”的手转化成代码。所以“黑客”在用软件实现某个功能,而不是设计软件。在那里,程序员被当作技工。
  • 从画家身上借鉴怎么成为黑客?答案就是实践。正如画家要通过不停的画画来保持手感,黑客也要不断的编码来保持自己的编程能力。好消息是现在有Copilot,所以在编码辅助上有更加方便强大的功能。
  • 创作者的另一个学习途径是通过范例。对画家来说,博物馆就是美术技巧的图书馆。平时多看一些画展,品鉴其他画家的作品,提升自己的审美和甚至技法的认知。同样的,黑客可以通过观看优秀的程序学会编程,不是看它们的执行结果,而是看它们的源代码。在这点上,开源社区的发展,极高的帮助和繁荣了程序员这个社群。
  • 如同优秀的绘画作品一样,优秀的软件也要求对美的狂热追求。从前端到后台,从API到数据库表设计,甚至到源代码的缩进和变量命名,处处都有黑客对美的要求。
  • 绘画作品如果需要多人协作时,每个人会负责其中一部分,这也是软件协作的方式。
  • 就像绘画作品一样,大多数软件是为人类用户准备的。所以,黑客必须像画家一样,时刻考虑到用户的人性需要,这样才能做出伟大的产品。你必须能够站在用户的角度思考问题,也就是说,你必须学会“换位思考”。
  • 软件的部分功能就是解释自身。为了写出优秀的软件,你必须假定用户对你的软件基本上一无所知。你要明白,用户第一次使用你的软件的时候,不会预先做好功课,他们没有任何准备就开始用了,所以软件的使用方式最好能符合用户的直觉,别指望用户去读使用手册。在这方面,我见过的最佳系统是1984年原始的麦金塔计算机。
  • 源代码也应该可以自己解释自己。如果我只能让别人记住一句关于编程的名言,那么这句名言就是《计算机程序的构造和解释》一书的卷首语:程序必须写得能够供人们阅读,偶尔供计算机执行。 “换位思考”不仅是为了你的用户,也是为了你的读者。
  • 在达·芬奇的年代,绘画并不是一件很酷的事情,达·芬奇用自己的工作推动绘画成为一种伟大的表达方式。同样,编程到底能够有多酷,取决于我们能够用这种新媒介做出怎样的工作。
  • 如果互联网软件能够击败桌面软件,一定是赢在更方便这一优势上,无论从用户的角度,还是从开发者的角度来看都是如此.

Live in the future, then build what’s missing – Paul Graham

#reading

This post is licensed under CC BY 4.0 by the author.

Recent Update

    Trending Tags

    Contents

    回顾:2023年

    纪录片:锵锵行天下-姑苏城外

    Trending Tags