Processing 与创意编程的二十年
2001 年诞生的 Processing 用“草图”降低了写代码的门槛,也让创意编程在艺术教育里扎下了根。
Processing 诞生于 2001 年。这一年,凯西·瑞斯和本·弗莱在 MIT 媒体实验室发起了这个项目,两人都来自约翰·前田创立的美学与计算小组。它的目标很明确:让不以编程为业的人,在视觉的语境里学会编程,让艺术家和设计师也能用代码在屏幕上作画。二十多年后回看,它不只是一个软件,也是创意编程在艺术教育里扎根的起点之一。
Processing 并不是凭空出现的。它借鉴了前田 1999 年发布的 Design By Numbers,那是一个为设计师准备的极简编程环境,只能画灰度图,画布只有 100 × 100 像素。瑞斯和弗莱保留了“为视觉创作者编程”的出发点,又突破了这些限制。最早的网站名叫 Proce55ing,在 2001 年 10 月上线,此后项目一直以开源方式发展。
降低门槛的关键,是“草图”这个说法。Processing 把程序叫作 sketch,把保存程序的文件夹叫作 sketchbook,意思是写代码不必先有完整的设计,可以像画速写一样边写边看。一个草图只需要 setup() 和 draw() 两个函数,前者准备画布,后者一帧一帧地反复执行。学生写下第一行代码,几秒钟后就能看到画面。
对视觉专业的学生来说,另一个好处是每个概念都能立刻变成图像。坐标系是画布上的位置,循环是排列整齐的阵列,random() 是每次都不同的偏移,noise() 是连绵的起伏。抽象的编程概念因此有了视觉上的对应物,学生不是在背语法,而是在观察规则怎样变成画面。
此后的二十多年里,Processing 衍生出一系列后继工具。2012 年,瑞斯、弗莱和丹尼尔·希夫曼成立了 Processing 基金会;2013 年,劳伦·麦卡锡发起 p5.js,用 JavaScript 重新实现 Processing 的思路,让草图直接在浏览器里运行,作品可以用一个链接分享出去。同一套“草图”的工作方式,从桌面软件延伸到了网页。
创意编程能形成一个领域,靠的不只是工具,还有社区和教育。2005 年,瑞斯和弗莱因 Processing 获得 Ars Electronica 的金尼卡奖;参考文档里每个函数都附有可运行的小例子,学习者可以互相分享草图、改写彼此的代码。对不少艺术和设计专业的学生来说,第一次写代码就是在这样的工作坊里,而不是在计算机系的课堂上。
对数字媒体艺术专业的学生来说,Processing 的意义在于让人亲手体会“规则加随机”的方法。仿照前辈艺术家的方格作品,先写出规整的阵列,再逐步加入随机扰动,学生很快会发现,大部分时间花在调参数和挑图上:程序负责执行,人负责设定规则、判断结果。写代码因此成了一种思考画面的方式,而不只是一项技术。
工具会更替,Processing 本身也在变化。但它留下的不只是一个软件,而是一种态度:把编程当作表达媒介,在一次次运行和修改中思考。哪怕以后换了工具,这种边写边看、用规则思考画面的习惯,仍然是创意编程最值得带走的东西,也是这门课希望学生带走的东西。