最后,我强烈推荐《Processing:视觉设计师和艺术家编程手册》一书,作者是《Processing》的作者 Casey Reas 和 Ben Fry。这是一本精美的书,经过精心编辑,充满了灵感来源。
Yes, it is useful and not a waste of time. I'm using Processing mainly for building proof-of-concepts for visualisations and graphic experiments. The time between an idea in my head and working code on my laptop is small, mainly because Processing does not throw too many obstacles in that course.
The ease of experimenting with things in Processing is an advantage in learning to program. Processing is actually a front-end to Java programs. At run-time the Processing code is translated to Java code.
Processing comes with a small but capable development environment (IDE), excellent documentation, a large library of extensions and a significant set of examples and demos.
Finally, I strongly recommend the book Processing: A Programming Handbook for Visual Designers and Artists by Casey Reas and Ben Fry, the authors of Processing. It's a beautiful book, carefully edited and full of sources for inspiration.
Processing has been used for hundreds of high-end projects in a wide range of fields, from multimedia installations to information visualization. It is not a toy or an educational exercise, despite its roots as a teaching tool.
The core application framework simplifies most common multimedia needs (OpenGL, Quicktime, PDF export, camera capture), removing project overhead involved in the boring task of setting up basic applications.It uses an extensible code structure that has allowed the creation of dozens of useful libraries for everything from 3D import / export to complex geometry synthesis.
Anything that beautiful could never be a waste of time. :) It's probably the leading tool in its space, which would be something like, "Declarative languages for visualizing data". (Though I'm told it can do more than that.) Its got a O'Reilly book - that's always a great sign.
'Useful' and 'Beautiful' do not describe the library (processing is not a language), but the programs written in it. They are usually beautiful, but can be useful, too. Perhaps browsing it's showcase can give you a hint about some useful programs. Processing is very well suited for visualization apps, so it can indeed be useful for that.
Now, that's for the usefulness of the applications. For the usefulness of programming them, I think it's a pretty cool way to show more visually how some fundamental concepts of programs work, which you may find enjoyable. Processing is being used a lot nowadays to teach fundamentals of programming; it'd be cool to learn recursion by making fractals.
I have used processing for many interactive installations and found it really useful, because you get real fast results. Programming visual effects is really easy and elegant. Some examples to watch:
If you are dealing with a lot of data (many bitmaps, videos and sound) you might consider its limitations. I was happy to use it and will continue using it for certain projects.
So as a conclusion: processing is no waste of time. It's a really useful language for real world applications (in its own domain of course).
I agree with what the other posters have said, but I would add that every development tool has advantages and disadvantages. While it is easy to jump right in and visualize stuff with processing, the drawback is that it is hard to incorporate processing code into another project. Tools are in development to make this easier, but if you want a graphical environment that works in your application, all the time that processing saves you when prototyping is mostly lost in the re-adaptation of the code or getting it to work.
Processing is definitely useful for many purposes.
I think the post on "Processing for Programmers" by Eliot Lash answers your question very well, and in much detail. I'll give some highlights based on my experience below, but I recommend you have a look at the post, which also covers practicalities.
Your question has to do with the perception of Processing as a simple programming language and environment that doesn't require much experience to use. However, Processing is also a neat tool that makes life easier for more experienced developers, and the skills you develop with Processing can be definitely useful outside the "classroom" or prototyping contexts.
First off, as a programming language, Processing acts merely as a "layer" on top of Java that simplifies things. All Processing code is translated to Java code first. This means you can write Java code and import Java libraries in your Processing code, within (or outside) the Processing IDE. Pedagogically, this helps Processing serve as a "gateway" programming language into Java and other fully-featured languages. You can start coding with Processing, slowly make way into Java in a familiar environment, and then progress to more advanced tools.
You can also import Processing functionality into your Java projects (see here and here). This lets you exploit the speed and simplicity of Processing for multimedia etc., in the context of complex applications that require a more fully-featured programming language.
On top of these innate features, over the years, people have developed tools, libraries, etc. that can make your Processing skills useful in many contexts. Some examples:
Web/browser:Processing.js is a JavaScript library that lets you run Processing code verbatim in the browser. p5.js is a library for writing JavaScript based on Processing principles and functionality.
Mobile: You can develop Android apps using Processing by using the IDE in "Android mode".
Electronics, IoT...: The Arduino programming language and environment are very, very similar to Processing.
发布评论
评论(7)
是的,它很有用,而且不浪费时间。我使用处理主要是为了构建可视化和图形实验的概念验证。我头脑中的想法和笔记本电脑上的工作代码之间的时间很短,主要是因为处理过程不会在该过程中遇到太多障碍。
在处理过程中进行实验的容易性是学习编程的一个优势。处理实际上是Java程序的前端。在运行时,处理代码被转换为 Java 代码。
Processing 附带一个小型但功能强大的开发环境 (IDE)、优秀的文档、大型扩展库以及一组重要的示例和演示。
最后,我强烈推荐《Processing:视觉设计师和艺术家编程手册》一书,作者是《Processing》的作者 Casey Reas 和 Ben Fry。这是一本精美的书,经过精心编辑,充满了灵感来源。
Yes, it is useful and not a waste of time. I'm using Processing mainly for building proof-of-concepts for visualisations and graphic experiments. The time between an idea in my head and working code on my laptop is small, mainly because Processing does not throw too many obstacles in that course.
The ease of experimenting with things in Processing is an advantage in learning to program. Processing is actually a front-end to Java programs. At run-time the Processing code is translated to Java code.
Processing comes with a small but capable development environment (IDE), excellent documentation, a large library of extensions and a significant set of examples and demos.
Finally, I strongly recommend the book Processing: A Programming Handbook for Visual Designers and Artists by Casey Reas and Ben Fry, the authors of Processing. It's a beautiful book, carefully edited and full of sources for inspiration.
处理已用于从多媒体装置到信息可视化等广泛领域的数百个高端项目。尽管它本质上是一种教学工具,但它不是玩具或教育练习。
核心应用程序框架简化了最常见的多媒体需求(OpenGL、Quicktime、PDF 导出、相机捕获),消除了设置基本应用程序的无聊任务所涉及的项目开销。它使用可扩展的代码结构,允许创建数十种有用的功能从 3D 导入/导出到复杂几何合成的所有内容的库。
所以不,这不是浪费时间。
我自己作品的参考:
Processing has been used for hundreds of high-end projects in a wide range of fields, from multimedia installations to information visualization. It is not a toy or an educational exercise, despite its roots as a teaching tool.
The core application framework simplifies most common multimedia needs (OpenGL, Quicktime, PDF export, camera capture), removing project overhead involved in the boring task of setting up basic applications.It uses an extensible code structure that has allowed the creation of dozens of useful libraries for everything from 3D import / export to complex geometry synthesis.
So no, it is not a waste of time.
A references from my own work:
任何美丽的事物都不会浪费时间。 :) 它可能是其领域的领先工具,类似于“用于可视化数据的声明性语言”。 (尽管有人告诉我它可以做更多的事情。)它有一本 O'Reilly 的书 - 这总是一个好兆头。
Anything that beautiful could never be a waste of time. :) It's probably the leading tool in its space, which would be something like, "Declarative languages for visualizing data". (Though I'm told it can do more than that.) Its got a O'Reilly book - that's always a great sign.
“有用”和“美丽”并不是描述库(处理不是一种语言),而是描述用它编写的程序。它们通常很漂亮,但也很有用。也许浏览它的展示可以给您一些有用程序的提示。处理非常适合可视化应用程序,因此它确实对此很有用。
现在,这是为了应用程序的实用性。对于对它们进行编程的有用性,我认为这是一种非常酷的方式,可以更直观地展示程序的一些基本概念如何工作,您可能会觉得很有趣。如今,处理被广泛用于教授编程基础知识;通过制作分形来学习递归会很酷。
'Useful' and 'Beautiful' do not describe the library (processing is not a language), but the programs written in it. They are usually beautiful, but can be useful, too. Perhaps browsing it's showcase can give you a hint about some useful programs. Processing is very well suited for visualization apps, so it can indeed be useful for that.
Now, that's for the usefulness of the applications. For the usefulness of programming them, I think it's a pretty cool way to show more visually how some fundamental concepts of programs work, which you may find enjoyable. Processing is being used a lot nowadays to teach fundamentals of programming; it'd be cool to learn recursion by making fractals.
我已经在许多交互式安装中使用了处理,并发现它非常有用,因为您可以快速获得结果。视觉效果编程非常简单和优雅。
一些值得观看的示例:
如果您正在处理大量数据 (许多位图、视频和声音)您可能会考虑它的局限性。我很高兴使用它,并将继续在某些项目中使用它。
所以结论是:处理并不浪费时间。它对于现实世界的应用程序来说是一种非常有用的语言(当然在它自己的领域)。
I have used processing for many interactive installations and found it really useful, because you get real fast results. Programming visual effects is really easy and elegant.
Some examples to watch:
If you are dealing with a lot of data (many bitmaps, videos and sound) you might consider its limitations. I was happy to use it and will continue using it for certain projects.
So as a conclusion: processing is no waste of time. It's a really useful language for real world applications (in its own domain of course).
我同意其他发帖者所说的内容,但我想补充一点,每种开发工具都有优点和缺点。虽然很容易直接跳入并可视化处理内容,但缺点是很难将处理代码合并到另一个项目中。正在开发的工具可以使这一切变得更容易,但如果您想要一个在您的应用程序中工作的图形环境,那么当原型设计大部分在重新调整代码或使其工作时丢失时,处理总是可以节省您的时间。
I agree with what the other posters have said, but I would add that every development tool has advantages and disadvantages. While it is easy to jump right in and visualize stuff with processing, the drawback is that it is hard to incorporate processing code into another project. Tools are in development to make this easier, but if you want a graphical environment that works in your application, all the time that processing saves you when prototyping is mostly lost in the re-adaptation of the code or getting it to work.
处理对于许多目的来说绝对有用。
我认为 Eliot Lash 关于“程序员处理”的帖子给出了答案你的问题问得很好,也很详细。我将根据我的经验在下面给出一些重点,但我建议您看一下这篇文章,其中也涵盖了实用性。
您的问题与将处理视为一种简单的编程语言和环境,不需要太多使用经验有关。然而,Processing 也是一个巧妙的工具,可以让更有经验的开发人员的生活变得更轻松,并且使用 Processing 开发的技能在“课堂”或原型设计环境之外绝对有用。
首先,作为一种编程语言,Processing 只是充当 Java 之上的一个“层”来简化事情。所有处理代码首先被转换为Java 代码。这意味着您可以在处理 IDE 内部(或外部)编写 Java 代码并在处理代码中导入 Java 库。从教学角度来看,这有助于将Processing 用作Java 和其他功能齐全的语言的“门户”编程语言。您可以使用Processing开始编码,在熟悉的环境中慢慢过渡到Java,然后进一步使用更高级的工具。
您还可以将处理功能导入到您的 Java 项目中(请参阅此处< /a> 和此处) 。这使您可以在需要功能更齐全的编程语言的复杂应用程序的上下文中利用多媒体处理的速度和简单性。
除了这些固有的功能之外,多年来,人们还开发了工具、库等,可以使您的处理技能在许多情况下发挥作用。一些示例:
Processing is definitely useful for many purposes.
I think the post on "Processing for Programmers" by Eliot Lash answers your question very well, and in much detail. I'll give some highlights based on my experience below, but I recommend you have a look at the post, which also covers practicalities.
Your question has to do with the perception of Processing as a simple programming language and environment that doesn't require much experience to use. However, Processing is also a neat tool that makes life easier for more experienced developers, and the skills you develop with Processing can be definitely useful outside the "classroom" or prototyping contexts.
First off, as a programming language, Processing acts merely as a "layer" on top of Java that simplifies things. All Processing code is translated to Java code first. This means you can write Java code and import Java libraries in your Processing code, within (or outside) the Processing IDE. Pedagogically, this helps Processing serve as a "gateway" programming language into Java and other fully-featured languages. You can start coding with Processing, slowly make way into Java in a familiar environment, and then progress to more advanced tools.
You can also import Processing functionality into your Java projects (see here and here). This lets you exploit the speed and simplicity of Processing for multimedia etc., in the context of complex applications that require a more fully-featured programming language.
On top of these innate features, over the years, people have developed tools, libraries, etc. that can make your Processing skills useful in many contexts. Some examples: