介绍给大家一种简单又酷炫的语言 processing

无聊逛图书馆的时候发现了一本关于 processing 的书。翻阅了一下发现还是不错的东西。

根据维基百科的定义:

processing(不论指的是语言还是 IDE) 最初就是为不会编程的设计师设计的,也就意味着这种语言非常简单(是经过大量简化的 Java)。设计者在设计这种语言的时候就把「作为一个有效的工具,通过激励性的可视化反馈帮助非程序员进行编程的入门学习」作为一个目标。

举个简单的例子:

void setup(){
  size(480,120);
  smooth();
}

void draw(){
  if(mousePressed){
    fill(0);
  }else{
    fill(255);
  }
  ellipse(mouseX,mouseY,80,80);
}

这个没有学过看看就能发现一些规律,比如第一个 setup 很明显是用来画窗口的。

把这段代码直接输入到 processing 里,然后点击一下上面的运行,就会出来效果。


大概效果是这样的:


这个程序是你只要把鼠标移动到窗口内就会在鼠标的轨迹上不断画出圆形,当你把鼠标左键按下去的时候圆是黑的,不按下去的时候圆是白的。

让我这样业余学习编程的人很兴奋的一点是它可以非常容易的生成一个可执行文件。直接点工具栏里的导出程序就可以了。你可以导出 linux 的二进制文件也可以导出 win 的 exe 可执行文件(也许因为这货是基于 Java 的吧,所以是「一次编译,到处运行」)。然后你要是会打包还可以直接把他打成一个可分发的 rpm 或者 deb。

从代码到一个图形界面的可执行的文如此容易,这让我这样的小白会很有成就感。

不过很多 Processing 不是用来写可运行的程序的,而是用来做一些多媒体视频的。

Processing 可以用非常短的代码编写出一些多媒体特效。这些特效可以很容易的导出图片,再由图片生成视频(都是 processing 内置的功能)。google 一下可以发现很多 processing 的艺术作品比如 这个 ](http://www.douban.com/group/topic/53643222/) 。同一作者还有很多作品可以在 这里 ](http://ravenkwok.com/) 找到。看上去都很高大上的样子。

我个人比较是喜欢的还有 这个 ](http://www.douban.com/group/topic/22869586/) 。看上去复杂但据说并不很难。。。作者本人说就是用最简单的 processing 可视化代码做的,是她(貌似是个妹子)学习 processing 的第一个 demo。初学就可以写出这样的东西,对新手小白真的是莫大的鼓舞。

Processing 还可以和 Arduino(一种硬件) 配合使用来实现一些创意。好吧这个我不太懂。。。。不过这里有个 实例 ](http://tieba.baidu.com/p/2404577797) ,

openSUSE 用户可以在 OBS 里找到 Processing

一个是教育源里的,一个在我的私人车库里。教育源里的那个版本有点旧,是 1.5.1 的。中文环境下有几个地方有乱码的小问题(用是可以用的),而且他严格说他不是编译的,是直接把一个二进制包 copy 到系统里的。现在官方提供两种 32 位和 64 位二进制包,也不好直接 copy。而且在 OBS 中使用二进制包也是不好的对吧,所以我就从源代码编译再打了一个包。

我的私人车库那个版本是最新的 2.2.1 版本。花了我一天的时间修修补补终于算可以用了,经过我测试暂时没有发现什么大问题。你们要是信得过我就装着用吧。。。。。。通过这次折腾了解了很多 OBS 里以前不知道的东东,我会把它总结在 另一篇帖子 ](https://forum.suse.org.cn/viewtopic.php?f=15&t=2823&p=22203#p22203) 里了。

关于 processing 教学贴什么的等我考完试自己折腾一下看能不能整理出点什么。不过这东西不难,网上找一下可以找到不少入门的东西。

恩。先就这样吧。。。。各位学生童鞋好好考试。。。。

class.coursera.org/digitalmedia-002
用 Processing 授课

用过,我们学校有个教授用这个玩意儿。

反正当年真的很恶心。 给的 Linux 版本是可执行文件,而且一定要把临时目录建设在 root 里面,导致你必须以 root 权限运行之。

不知道现在有没有改善。 估计开发者是苹果用户吧,权限意识实在太差……

不太清楚。。。。不过他对 openJDK 不太友好倒是真的。。。

不过好歹编译过了。。。。