面向视觉创作的共同项目
Processing由凯西·里斯与本·弗赖共同发展,起源于美国麻省理工学院媒体实验室约翰·前田领导的美学与计算研究小组。它希望让艺术家、设计师用程序试画、修改和观察结果,把编程变成视觉创作的工作方法。2001年的早期发行包已经包含开发环境、Java运行组件和可修改的图形示例;此时的项目仍处于早期试用阶段。
两位作者随后通过教学扩展软件。2007年手册回顾,2001—2002年率先使用它举办工作坊的机构包括东京武藏野美术大学、巴黎ENSCI—Les Ateliers、巴塞尔HyperWerk和海牙皇家音乐学院。课堂中的困难和新需求成为设计反馈的一部分。
从Design By Numbers向Java扩展
里斯和弗赖都参与维护前田的Design By Numbers教学系统。它让初学者在简单界面中输入代码、点击运行,但使用者进一步要求彩色图像、更大画面、字体以及通过网络分发作品。Processing在这一经验上采用更强的Java语言基础,同时保留轻量界面。
弗赖在2004年论文中说明,早期系统用逐步增加复杂度的模式组织学习:初学者可以直接写静态绘图语句,再接触函数和交互,最后进入更完整的Java编程。原本每个图形程序都要重复编写的窗口初始化和鼠标处理,被放进公共基础程序;简洁绘图接口则减少了创建线条、图像与动画所需的准备代码。
参考:[1]
一个2001年的鼠标灰阶程序
0001预发行版附带的dbn.pde只有两个函数。setup()中依次写size(100,100)和colorScale(100),建立100×100像素画面并设置颜色数值尺度;loop()里只有background(mouseX),把鼠标的水平位置直接交给背景绘制函数。初始化与不断更新的画面由此分开。
这个例子让学习者从可见的鼠标操作理解程序输入:移动鼠标会改变mouseX,而相同绘图语句用新数值重新计算背景。无需先制作按钮或手写事件循环,就能试验输入与图像之间的关系。发行包的run.bat通过Java运行程序加载pde.jar和kjc.jar,说明早期开发环境已把运行组件与编译工具一并交给使用者。
参考:[3]
以“草图”组织编写与分享
到2007年手册所描述的版本,Processing开发环境简称PDE,包含文本编辑区、错误消息区、控制台和运行、停止、保存、导出按钮。程序称为“草图”,每个草图有独立文件夹,主要源文件采用.pde扩展名;图片、字体等素材集中放入data目录。
运行按钮把编译和显示结果连在一起,便于不断试改。导出时,预处理器把草图转换成Java代码,再编译、连同所需类和素材打包为Java applet,并生成嵌入它的HTML文件。这是当时通过网页展示可运行作品的实际途径,也使公开源代码、比较不同人的修改变得方便。
参考:[2]
2005年beta与2008年1.0
里斯与弗赖在2010年的前言中回顾,项目从2005年4月进入公开beta阶段,持续修改语言、环境和教学方式。早期0001版用loop()负责重复绘制,2007年手册中的对应函数已是draw();只绘制一次时,在setup()中调用noLoop()。早期示例与后来的手册共同记录了绘图接口的演变。
官方修订记录将0162标为2008年11月24日的Processing 1.0;两位作者的2010年前言把1.0公开推出记为同月29日。版本记录仍列出OpenGL显示、特定系统启动等已知问题,正式版本随着兼容性调整和持续修正形成。
课堂、研究与共同开发
Processing的使用场所很快超出最初工作坊。2003年首尔弘益大学的一周课程让设计与计算机专业学生共同制作作品;加州大学洛杉矶分校课程把编程与交互讨论结合,让学生制作小游戏和摄像头交互装置。弗赖自己的信息可视化研究也大量依赖这套工具。
软件同时向参与者开放修改与扩充的渠道。用户共享草图,较有经验的程序员提供声音合成、输入设备等扩展库,教师公开教程和学生作业。由两人的开发项目逐步形成的,是编程语言、简单开发环境、教学材料和协作社群相互支持的工作体系。