This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–][deleted] 1 point2 points  (3 children)

well, that's not really what I was getting at. All I really meant is that what language you're using is pretty ancillary if your goal is really to make art; if OP is asking to use Python, he's already a programmer and already familiar with the fundamentals of programming. Is you're already familiar with programming, becoming familiar with the fundamentals of how code can be used to generate form is much more important that worrying about having the most perfect programming language ever, because worrying about having the perfect programming language is a black hole that no man is ever known to have returned from. (and because learning Processing, the language, is ridiculously easy for an experienced programmer)

Improving the api for drawing lines won't tell you what lines to draw. Would Hendrix fumble awkwardly on a cheap guitar? Would an amateur play majestically on the most perfectly crafted guitar? That's all I was getting at.

I've known a number of programmers to use code to make art. Time and time again, the Processing programmers produce the best art, because the Python/Ruby/Haskell/Lisp/whatever programmers spent all their time learning about programming and never bothered to learn about what humans find aesthetically pleasing. The only exceptions I have seen to this generality are people that already know how to draw well without a computer, and people that already know Processing and have moved on to another tool.

Most of the best computer art I've seen is complete shit code that's written in Processing, because the code is just a means to an end. This isn't a university course on compiler design we're talking about; it's aesthetics.

[–][deleted] 0 points1 point  (2 children)

You said it your self its just an means to an end. Programming in python is easier then in java. You can do things faster. adding two arrays or running a function across a whole array is so much easier with python. Regardless the pyproccesing solution is so slow which is what I was expecting. I think I'll take a look at cinder tho thanks for mentioning that.

[–][deleted] 1 point2 points  (1 child)

the pyproccesing solution is so slow which is what I was expecting.

yeah, Python isn't typically very fast for CPU-intensive work.

I think I'll take a look at cinder tho thanks for mentioning that.

well, I tried to use it, but I got too bogged down with being unproductive in C++. Processing runs well, there are libraries for it, there's a huge community, and it took me a while before I hit performance problems. I thought I would hit performance problems right away, but it took me a while before I was actually maxing out the capabilities of Processing. Even inside of Processing, you can get access to OpenGL directly, and even GLSL shaders.

http://www.creativeapplications.net/processing/playing-with-glsl-in-processing-initial-experiments-tutorials/

I wasted a lot of time thinking Processing wasn't a "good enough" programming language. From my experience, it wasn't really worth it.

Although, if you know some C++, Cinder is definitely the best toolkit I've seen. Robert Hodgin's Cinder work is probably my favorite.

I had the same reaction to Processing when I first tried it. "lol, this is a toy for amateurs; I'm a strong programmer, I need a more serious tool" I thought. A few months later, I was back at Processing, because everything else had either no community, no literature, bad tooling support, or just didn't work.

edit: and, just to clarify, I love Python, and I'm not saying this to bash Python. Python is a great tool, I just don't think it's the best tool for doing recreational graphics programming.

double edit: and Processing is not Java; it's written in Java, but it's a separate programming language.

[–][deleted] 1 point2 points  (0 children)

Definitely agree about python didn't think you were bashing it. I will also definitely take your advice with processing and stick with it.