我实验室的很多人都在使用Processing。当然他们的工作很酷,但我想知道使用Processing比普通旧Java有什么好处?是否让我做了我本来很难做的事情?
是的,我已经浏览了http://processing.org,但它并没有真正解释为什么Processing只是带有一个整洁的IDE和一组库的Java。
答案 0 :(得分:20)
就这样说吧 - 看起来像Processing正在创建另一个抽象层来“掩盖”Java中某些对于初学者来说被认为“难”的编程元素。
从本质上讲,抽象使我们能够以更少的背景知识实际“更容易地做事”。如果您使用普通Java创建/处理图像,那将是一个令人头疼的问题。
处理看起来像是创建了这个框架,所以你所做的只是使用可用的工具(如果我没有弄错的话可能是拖放?)来创建一个完成的产品,而不用做那些细节。
答案 1 :(得分:13)
来自一位前新媒体艺术学生,他使用了很多处理以及Open Frameworks和Cinder,处理自己独立的宇宙非常适合创建有趣的交互式和非交互式图形,声音有时甚至是3D模型。但任何对Processing有深入了解或兴趣的人都会很快发现,除了有趣的效果之外,任何值得创造的东西都很可能需要理解和实现OOP原则,同时意识到Processing并不是最终的全部和所有Java的其余部分可供使用并开始将Eclipse用作eclipse或其他IDE中的库,用于Java开发,就像任何对Open Frameworks或Cinder有高级知识或兴趣的人都会看到其中的限制并开始使用它们作为C ++开发的工具包。
艺术系学生可能不会学习Java或C ++来创建软件,但我们确实学习这些语言以创造外观,互动,感觉和听起来有趣的东西。而Processing作为此目的的起点很有意义。事实上,任何只使用处理语言创建单个文件草图且没有OOP实现的人不再是编程的初学者或菜鸟,而是没有完全掌握OOP概念的软件工程学生。
答案 2 :(得分:3)
只是一个猜测(我对Processing一无所知),但是人们喜欢表达,而Java是我所知道的最不优雅的语言。如果Processing能让你变得优雅,那么对那些和我一样对Java感兴趣的人来说可能会非常有吸引力。
答案 3 :(得分:3)
基本上只是品牌重塑。它针对艺术家,音乐家,业余爱好者和10岁的年轻人,而不是程序员。如果你告诉一个艺术学生他必须学习Java,他可能会对这个想法犹豫不决。 Java毕竟是一种相当复杂的语言,他已经围绕着OOP概念(与普通的相反,对普通的非程序员来说不直观)。
Processing(及其姐妹语言Processing.js和Wiring(在C中))更像是一种编程风格+一种非常大,易于使用,文档齐全的库。处理中的程序通常是程序性的而不是OO。虽然您可以这样做,但预计程序不会大于单个文件。另一方面,包含的库是非常高级的,你可以用十几行代码完成很多工作。
为什么要用这种方式混合Java / javascript / C?好吧,要尽可能多地删除编写代码的障碍。记住目标受众。你应该能够在几个下午为你12岁的女儿教授加工,如果她愿意,她应该能够在屏幕上为粉红色的心和独角兽制作动画。
答案 4 :(得分:1)
处理可以轻松创建视觉效果,动画(2D和3D),交互性等。框架已经或多或少地设置为创建这样的程序,并且许多不必要的Java元素隐藏。我说隐藏是因为程序员仍然可以访问完整的Java语言,如果他们愿意的话,这就是Processing的美妙之处。它允许初学者创建程序而不会产生繁杂的开销,随着您的成长,您可以利用更高级的概念。
其他受访者表示,处理不是面向对象的 - 当然是!毕竟它是基于Java构建的。就像我之前说的那样,这取决于程序员。如果他希望创建更高级的程序,他可以这样做,并充分利用面向对象的所有功能。