carykh / yoyleCityWords

This is a city renderer I created in 2013. It's all hacked together and very slow, so watch out. Explanation video here: https://www.youtube.com/watch?v=y0nsXiI_I9c
MIT License
81 stars 21 forks source link

Have you thought about abandoning processing? #2

Open escitalopram opened 7 years ago

escitalopram commented 7 years ago

Just sayin… It enforces a lot of really bad, bad, bad, bad, bad programming practices (e.g. forcing all the code to be in one file) and practically prevents you from using object oriented programming to its full extent (which you'll probably need for projects this size to be maintainable [i.e. readable {for others}]).

And most terribly, it curtails your fantasy… A guy with your skill level could probably use OpenGL with a run-off-the-mill Java application; this would certainly speed up full quality rendering to 60fps… and it would be easier to use more advanced rendering techniques, like shaders, etc.

hanss314 commented 7 years ago

He shouldn't abandon processing, it's quite useful for some things. Still, I agree cary should use some other programs for things like this.

AlexCMueller commented 7 years ago

Cary admitted several times in the video that processing is not the right tool for the job, but it was one of the few things he's familiar with. Cary is pretty good at using a few things like flash and processing, but for the most part doesn't step out of his comfort zone when it's not absolutely necessary. I do agree however that he should start playing with OpenGL.

krux02 commented 7 years ago

Normally I wound not mind and just go. But I think your comment is very damaging. I know your intentions are good, but I don't think you know what you are talking about.

  1. multiple files: How are multiple files better than a single file for one project? Logical separation of things, I would agree that's important, but you don't need several files for them. Having dozens of short files also necessarily means that the project is neatly arranged. Despite that, the file is also not really big.

  2. Object oriented programming: Just because object oriented programming is something you understand, it doesn't mean that it will improve on this project. Object oriented design is sotheng that might have a few use cases here and there, but in my experience things are often much simpler when design patters from object oriented programming like inheritance, information hiding, interfaces, virtual methods, ... are not used for anything at all. They often just obfuscate how things actually work, or get in conflict when performance is important.

  3. Being productive with Raw OpenGL. Just no. Raw opengl get's in your way when you want to do something pretty quickly. You even have to write your own code to compile and link shaders. And then from java it is even worse, because you have to fiddle with those java.nio.ByteBuffer objects to pass anything to the GPU.

So please just close this issue without any reply.

AlexCMueller commented 7 years ago
  1. Processing allows multiple files. Cary made this in 2008 back when he didn't feel like doing that
  2. 2008 was also when Cary disliked OOP. Processing does not limit java's OOP capabilities at all.
  3. Agreed, OpenGL is hard. It's pretty powerful once you get past all that though
escitalopram commented 7 years ago

@krux02 You noticed you just contradicted yourself? OOP be bad for too little performance, but OpenGL too bad for too high of complexity? Do you want performance or not?

hanss314 commented 7 years ago

Can we just close this issue now? It doesn't address anything that's can really be changed.