FAQ
Cover
This is the archive Discourse for the Processing (ALPHA) software.
Please visit the new Processing forum for current information.

   Processing 1.0 _ALPHA_
   Suggestions
   Software Suggestions
(Moderator: fry)
   Processing for the "power user"???
« Previous topic | Next topic »

Pages: 1 
   Author  Topic: Processing for the "power user"???  (Read 1479 times)
kenpex


Processing for the "power user"???
« on: Mar 3rd, 2005, 3:01pm »

...or is processing too much hyped?
 
Processing is a good tool, with maybe a bit of hype. It's nice to try new ideas, it can be useful for the novice, but what if I'm already experienced in the digital media? Then processing is almost nothing more than a library for java, maybe it did not want to be anything more, and it's a pretty good library because it's simple and it has lots of features. But how much time can it save for an experienced user? Well if I have to recreate everything from scratch it's quite much, but usually you will use only a subset of its functionality, and many ppl already have some code to do the basic things they need, and the functionality given by the processing library is broad (it covers different areas) but very basic, it can save a day or two of initial development.
What's the point? The point is that p5 is a nice library and maybe it does not -want- to be anything more, but as is it's great for some ppl, great for some tasks, but maybe some "power users" could prefer using a language that makes -programming- easier, not that just gives them a couple of shortcuts with things that they could code from scratch anyways or that they already have coded or that they could find in other libraries.
I tryied to do a 3d particle system with processing, with a couple of rebound planes and stuff like that. It was easy-ish. A few lines of code. But it wasn't elegant. It wasn't beautiful. Yeah I could draw a line easily, but the code itself was nothing special. For example when I wanted to update my particles I had to do something like:
 
for(every particle p)
 p.position.x+=p.velocity.x ...
 
What I wanted to have was something like particles.apply(p->p.position+=p.velocity), that's something (first class functions, operator overloading) that I use everytime with graphics stuff and that processing lacks. JRuby, Jython, Pizza, Nice, Groovy... are all Java-compatible languages that can save programmers much more lines and that are much more useful for rapid prototyping in general than processing... and that can save much more time. With a good library they can handle graphics easily too, and with nicer ides, nicer syntax etc...
What's the point? There are better languages than processing? Yeah sure, but that's obvious. I just wanted to note that if processing is intended as a library then it's great, if I have to see it as a programming language for graphics then it's unsuited for its purpose, because it's only java, and java is not a really good language for graphics. I know it would be a major effort (it would be easier to just switch from jikes to a compiler of another robust jvm-java-compatible language like groovy that already has all the desidered extension), but that's my suggestion, and those are the features that I find lacking in processing:
 
- first class functions (important and not too hard)
- explorative programming (read-eval-print interactive interpreter)
- dynamic typing (not really good for the JVM) / type inferencing (difficult)
- coroutines
- operator overloading/more "builtin" types (not too hard)
 
Pages: 1 

« Previous topic | Next topic »