编程作为艺术:反对AI驱动代码生成的论据
编程是一门艺术学科
编程不仅仅是解决业务问题的功能性工具;它是一种艺术形式。虽然许多开发者认为自己的工作纯粹是功利性的,但设计软件的行为涉及审美选择、表达结构以及与其他创意学科相呼应的沉思层次。因为编程具有功能性而将其视为“非艺术”的倾向,是对艺术本身的误解,因为许多传统上被认可的艺术形式——如委托肖像画或新闻写作——也是为平凡或功能性目的而创作的。
平凡工作在精通中的作用
技术精通是通过练习平凡任务而培养的。正如小说家通常从文案撰稿人开始,或音乐家花费多年在酒吧演奏背景音乐,伟大的软件架构师通常通过编写“无聊”的日常工作代码来发展他们的技能。
通过AI生成的“垃圾”消除这一“平凡”的开发层次,移除了开发者学习识别乏味并培养创造优雅抽象动力的关键训练场。当AI被用来消除理解而非提升理解时,行业面临失去真正创新能力以及从对问题领域的深度手动参与中涌现出的罕见技术卓越时刻的风险。
软件设计中的美学
软件美学不仅延伸到视觉界面,还延伸到代码的内部结构和API的设计。一个典型的例子是Deferred模式的发明,它是对回调和错误回调参数乏味性的美学反应。这类贡献之所以有影响力,正是因为它们关注问题的美学和开发者的用户体验。
程序是为人们阅读而写的,只是顺便为机器执行。代码的这种以人为本的特性使其成为一种表达媒介。无论是Unix哲学中的哲学含义,还是对操作系统行为的美学批评,软件对其创造者和用户都有深远的美学影响。
关于“艺术与工艺”辩论的观点
社区讨论揭示了那些将编程视为艺术的人和那些将其视为商业工程努力的人之间的尖锐分歧。
支持编程作为艺术的论据
- 认知之美: 一些开发者在类型级计算或通过优雅抽象将100行代码减少到10行的能力中发现了特定的美。
- 人类意图: 艺术由人类意图定义;人类站在作品旁声称“这是我的”的行为对于真正的艺术是不可或缺的。
- 采样与重用: 编程被比作音乐中的采样流派,其中重用现有的“样本”(库/框架)来创造新事物是一种合法的艺术行为。
支持编程作为工程的论据
- 商业实用性: 批评者认为专业软件工程是一种商业努力,其主要目标是业务影响和可靠性,而非艺术表达。
- “管道”视角: 一些人将编程视为“管道”——连接业务逻辑块——并认为输出(运行的程序)是唯一重要的,无论代码是否“美观”。
- AI作为生产力工具: 许多从业者认为AI消除了单元测试和API学习的苦差事,使他们能够专注于更高层次的设计和愿景,他们认为这才是过程中的真正“艺术”。
结论:AI入侵的风险
虽然AI可以提高短期生产力,但用自动化生成系统性替代人类编码威胁着工艺的长期健康。如果行业将编程视为商品而非创意学科,它面临着一个未来,即软件的生产缺乏深度沉思和人类意图,而这些正是实现真正伟大技术成就所必需的。
Sources
相关
- Dispatch
- Dispatch
- Dispatch
- Dispatch
- Dispatch