Welcome to the Java Programming Forums

The professional, friendly Java community. 21,500 members and growing!

The Java Programming Forums are a community of Java programmers from all around the World. Our members have a wide range of skills and they all have one thing in common: A passion to learn and code Java. We invite beginner Java programmers right through to Java professionals to post here and share your knowledge. Become a part of the community, help others, expand your knowledge of Java and enjoy talking with like minded people. Registration is quick and best of all free. We look forward to meeting you.


Members have full access to the forums. Advertisements are removed for registered users.

Results 1 to 5 of 5

Thread: Processing

  1. #1
    Crazy Cat Lady KevinWorkman's Avatar
    Join Date
    Oct 2010
    Washington, DC
    My Mood
    Thanked 636 Times in 540 Posts

    Default Processing

    Processing Homepage: Processing.org
    Processing API: Extended Language (API) \ Processing.org
    Processing on Wikipedia: Processing (programming language) - Wikipedia, the free encyclopedia
    Processing Monsters: Processing monsters (a collection of open source Processing sketches that display monsters)
    Open Processing: OpenProcessing - Share Your Sketches! (a collection of open source Processing sketches that do other cool stuff)
    The game I made in Processing: Escape from Monster City

    Full disclosure- this started to feel like an advertisement, so I just want to say that I’m not affiliated with Processing at all. I just started playing with it, and I’m really excited about how it can be used to not only introduce new programmers to Java, but for experienced users to take Java to the next level.

    I participated in Ludum Dare last weekend, and I took that as an opportunity to learn Processing, which is “an open source programming language and environment for people who want to create images, animations, and interactions” built on top of Java.

    I’m extremely impressed by what Processing allows you to do in such a short amount of time. Out of the box, you have a 60 fps rendering loop, easy access to 3D primitives, and cool lighting effects, as well as image handling, camera manipulation, input processing, and a ton of other stuff I haven’t gotten into yet- all done in the object oriented style of Java. It seems like a perfect tool for a novice programmer who wants to play around with cool visuals without worrying about Swing, event listeners, threading, the inner workings of Java deployment, etc.

    Your first Processing sketch:

    Since Processing is built on Java (every Processing sketch is a PApplet, which extends Applet), I feel like it could be an ideal “stepping stool” to introduce new programmers to the language. We’ve seen so many people frustrated with the basics, or even the not-so-basics. I still have trouble setting up a reliable high-fps game loop, and I also have trouble thinking about how they’re doing the 3D, lighting, and camera effects. Processing abstracts that kind of stuff away, leaving you free to focus on the cool, fun stuff.

    And it’s not hard to get started on that cool, fun stuff. The tutorials are just as good, if not better than, the Java tutorials, and the Processing API lists all of the methods that are available to you. The Processing development environment comes with a slew of examples that you can easily open, run, and play with to see what happens. Processing also makes it easy to output an applet, as well as OS-specific executables. Also, the Processing community is really cool- almost everything is open source, and tons of people share their Processing sketches for other people to use as an example.

    A 3D example:

    That will satisfy most novice programmers without frustrating them too much, at least for a while. But then when they want to do something more complicated- embed a Processing program in a GUI with buttons, or use a third party library, or deploy their program using Java webstart or jnlp, for example (none of which is hard, but requires Java knowledge)- that’s when we (as Java educators and supporters) step in. And by that time, the novice programmers have probably been using Processing long enough to understand the process of looking at examples, reading through the API, and trying things out- which makes it easier to teach them Java.

    A camera example:

    All of that being said, I do have a few complaints. Processing hides the stuff that might scare away new programmers from Java, but that’s not always a good thing- it’s important for a programmer to understand the annoying little things, and although it’s sometimes frustrating, Java does force you to learn them. Stuff mostly “just works” in Processing, but what happens when it doesn’t? By hiding things like compiling, deployment, classpath, etc, Processing leaves the novice user in the dark about what’s going on behind the scenes. Also, Processing is (currently) based on Java 1.4, so don’t expect to use enums, annotations, enhanced for loops, generics, etc.

    Also, Processing breaks quite a few rules that the Java programmer in me cringes at- “don’t mix business logic with rendering code” is a pretty basic golden rule, and Processing throws it out the window right away. Processing also allows you to do your drawing at any time- in the rendering loop, in an event handler (er, in the methods that Processing uses to hide event handlers), in other methods- all without a Graphics Object. You also have access to things like mouseX and mouseY without writing any listener code. I think these things might cause confusion and bad practices when people make the switch from Processing to Java.

    A collision example:

    Still, I’m super excited to dive into the world of Processing. Looking at the Processing API reminds me of when I first got started learning Java, how my friends and I would come home after high school and start playing around with notepad, the command line, and the API, just to see what we could do. And Processing isn’t just for beginners- with a combined knowledge of Java and Processing, you can do some really awesome stuff.

    One thing I’m most excited to try out is Processing’s Android support. From the Processing wiki: “The primary goal of this project is to make it foolishly easy to create Android apps using the Processing API”. With Java steadily losing ground to flash when it comes to visuals and games, that could really turn the tide in the near future.

    So, does anybody else have any experience with Processing? I really recommend trying it out, whether you have never written a line of code before or you have made a million dollars developing indie games in Java. I’d love to see what other people are doing and compare results, so feel free to drop me a PM or start a thread with Processing in the title. This post is already long enough, so I won’t bother with any tutorials (the Processing tutorials and examples are better than anything I could come up with anyway), but I’d love to answer any questions you might have- mostly because answering Java questions is how I learned the most about Java, so answering Processing questions will help me learn Processing!
    Last edited by KevinWorkman; August 24th, 2011 at 10:02 AM.
    Useful links: How to Ask Questions the Smart Way | Use Code Tags | Java Tutorials
    Static Void Games - Play indie games, learn from game tutorials and source code, upload your own games!

  2. The Following 2 Users Say Thank You to KevinWorkman For This Useful Post:

    JavaPF (August 24th, 2011), newbie (August 24th, 2011)

  3. #2
    Forum Squatter newbie's Avatar
    Join Date
    Nov 2010
    North Wales
    My Mood
    Thanked 115 Times in 106 Posts
    Blog Entries

    Default Re: Processing

    Thanks Kevin, It's a good overview of Processing!
    Will be sure to check it out soon.
    Please use [highlight=Java]//code goes here...[/highlight] tags when posting your code

  4. #3
    mmm.. coffee JavaPF's Avatar
    Join Date
    May 2008
    United Kingdom
    My Mood
    Thanked 294 Times in 227 Posts
    Blog Entries

    Default Re: Processing

    This looks really cool Kevin. Can't wait to give it a try..
    Please use [highlight=Java] code [/highlight] tags when posting your code.
    Forum Tip: Add to peoples reputation by clicking the button on their useful posts.

  5. #4
    Junior Member
    Join Date
    Aug 2011
    Thanked 0 Times in 0 Posts

    Default Re: Processing

    Hey, Kevin.
    Thank you ^^

  6. #5
    Junior Member Omnamah's Avatar
    Join Date
    Sep 2011
    My Mood
    Thanked 0 Times in 0 Posts

    Default Re: Processing

    Favourited, (Y).

Similar Threads

  1. [SOLVED] Processing Decimals <1 & >0
    By bgroenks96 in forum What's Wrong With My Code?
    Replies: 1
    Last Post: July 24th, 2011, 01:53 PM
  2. Processing Arrays
    By av8 in forum What's Wrong With My Code?
    Replies: 4
    Last Post: June 27th, 2011, 06:19 AM
  3. Image Processing
    By subash in forum File I/O & Other I/O Streams
    Replies: 4
    Last Post: June 8th, 2011, 08:40 AM
  4. Porting from Processing IDE to Eclipse
    By kafka82 in forum What's Wrong With My Code?
    Replies: 12
    Last Post: June 4th, 2011, 10:18 AM
  5. Signal processing API.
    By ivanloes in forum Java Theory & Questions
    Replies: 4
    Last Post: December 18th, 2010, 05:56 PM