像画家一样编程

黑客和画家。我个人对"黑客"这个词有抵触情绪。也许是因为入侵某物的负面含义,或者如果你做得不好就被认为是个hack。但Graham用这个词作为与计算机科学和软件工程的严格对立。

即使读了他使用这个词的理由,我仍然不是100%喜欢它,但我喜欢他通过使用它所表达的观点。

他说计算机科学中的"科学"一词迫使你以错误的方式思考计算机,它更多的是关于研究以及事物的理论和历史,而不是黑客,后者将计算机和编程视为一种表达手段。最终,黑客是在尝试创造东西,就像画家使用他们手头的任何东西来创作艺术一样。

我爸爸就是这样做的一个完美例子。

他用鸡蛋和化妆品画了一幅梵高的画。

他用牙刷画了这个苹果。

对他来说,一半的乐趣是看看他能用限制条件画出多好的画。

我喜欢的是Paul描述他自己编程的方式。

当他编程时,他基本上就是把程序敲打成形。他不会带着脑海中的完美计划坐下来,他只是编码,然后让产品进化。这很像作家写作和画家绘画的方式。

他将自己的编程风格描述为素描。

我绝对喜欢这个比喻。这不很好地概括了我们现在用AI所做的一切吗?与机器一起,我们在素描。你输入一个提示,测试产品,看看你是否喜欢,调整页面并尝试各种想法。你在素描。

因为我没有在大学学习计算机科学,我想我一直觉得也许我编码的方式不是"正确的",我的风格有点随意。我认为如果你刚接触编程,刚开始接触AI,或者从未做过计算机科学,你应该读这篇文章。我希望我刚开始时就读过它。它让一切都感觉轻松一些。

收集你的技巧包并迭代

Graham指出,画家经常会学习一种新技术,然后将其延续到未来的画作中。这就是我们现在可以用AI编程的方式。

我想看看Picasso是如何做到这一点的。

巴勃罗·毕加索,《拿烟斗的男孩》(1905)

这是毕加索早期的绘画风格。这很有趣,但不是他成名的经典毕加索风格。

巴勃罗·毕加索,《亚维农的少女》(1907)

然后两年后他画了这幅画。这是毕加索发明了他将终生重复使用技巧的这一刻。脸部被分解成棱角分明的平面。我也不是艺术史专业,但右下角那个脸的透视真的很奇怪。

巴勃罗·毕加索,《镜前的少女》(1932)

25年后,他仍在使用那个相同的奇怪脸部技巧。

相同的风格模式将适用于你的AI编程。

例如,我有一个500行规则与AI。我要求它编写不超过500行的文件。我个人认为这样效果更好,这样AI就不会创建需要很长时间才能搜索的长文件。现在这是AI编程的既定法则吗?不,绝对不是,但它适合我。

我个人也不喜欢做巨大的功能。我没有耐心等待某个庞大的东西上线,结果却坏了。我宁愿做小步骤。这又是我的风格。

我喜欢编写极简主义UI。我喜欢白底黑字。

你能看到,这些都只是风格的标志。我打赌你有一大堆自己的东西让你的风格独一无二。

我们现在必须学习的奇怪事情是没有"正确的方式"。有你的方式。就像没有"正确的方式"来画画一样。我是说,在我爸爸做到之前,我确实不知道你可以用牙刷画一个苹果。

随着新模型的发布,随着每隔一周就有新功能和工具和小玩意出现,你会忍不住觉得自己落后了。其他人都已经找到了"正确的方式",而你只是在瞎搞。

但我从Paul写的东西中得到了安慰,如果你将自己视为一个创造者和画家,没有"正确的方式"。这就是你的风格。就我个人而言,我有一定的预算来尝试多少新东西。不断尝试新事物是相当累人的,我也喜欢只是实现我脑海中的想法。

此外,AI正在变得如此出色,以至于你的艺术表达和创意一面可以真正闪耀,而它则把机械部分做好。我已经知道我会遭到反对,谈论代码需要多么完美等等,但这并不是他文章的核心。而且无论如何,随着时间的推移,AI会在这方面帮助越来越多。主要部分是使用计算机和编程语言作为表达手段来创造东西,而不是遵循一套完美的规则来理论推导。

我写这篇文章是因为这很有趣,直到现在,编程世界一直以计算机科学为中心。当然是这样,所有这些基础设施都是这样建立的。

但困难的事情将是试图改变人们的观念,意识到以前可能没有自认为是"程序员"的人现在可以是。

我尝试向人们展示Cursor,他们说"哦我永远做不到,因为我不是开发人员",这真的就是我要为之写作的人。这让我想起我长大后告诉我爸爸我不擅长绘画,他会说,那只是因为我还没有尝试足够多并找到与我产生共鸣的风格。这里也是如此。当然,你以前可能不是开发人员,但这些工具让你可以。你可能是一个独特的程序员。你可能打破各种规则和惯例,但这将是你的风格。我认为这是一个非常令人兴奋的时刻。


原文链接: Stop Thinking Like a Computer Scientist, Start Coding Like a Painter

汇智网翻译整理,转载请标明出处