May 13, 2017
Happy Coding now has Java tutorials!
I love Processing. Processing makes it easy to get something visual and interactive up and running without worrying about a ton of boilerplate code. However, that easiness comes with a downside: Processing also hides a ton of stuff from you.
Normally that’s a good thing, but it can also make it harder to learn about the more advanced stuff that’s going on behind the scenes. It’s hard to talk about inheritance if Processing hides the fact that your sketch is a subclass. It’s hard to talk about stuff like the classpath and the compiler if the Processing editor handles that stuff for you. You get the picture.
And that hidden stuff is important if you want to get into stuff like server or Android development, or if you want to move to more “business-y” types of programming.
On the other hand, starting from scratch and trying to learn Java without any prior experience can be a little bit daunting. You have to learn about the command prompt, classes, access modifiers, and writing functions, all just to create a simple program that prints some text to the console. Boring!
So I think that starting out in Processing and “graduating” to Java is a pretty reasonable way to learn about coding. That lets you learn about the basics in a fun environment, and then build on those basics to jump into more advanced stuff in Java. And we now have tutorials that help you do exactly that!
From here I’m planning on adding more advanced tutorials: stuff like algorithms, Android, and server development. I’m also planning on adding tutorials for P5.js and libGDX, but those are probably further down the road. I also need to expand the examples to catch up to all the new tutorials.
Creating this site (and programming in general) feels a bit like this:
I’ll start writing one thing, realize I need to write something else first, start writing that, realize I should organize things a bit differently, start doing that, realize I should write something before that… so it can feel like nothing is ever really finished.
I haven’t really started advertising this site yet, mostly because of that unfinished feeling. But I know that feeling will never go away, and the addition of Java tutorials feels like a pretty good place. So I’ve “officially” started advertising the site! Right now I just have a little banner ad up on Java-Gaming.org.
If you’re the type of person who gets excited about banner advertisements, here it is in all its glory:
I went through a few iterations of this ad. I started out with an idea of evoking Bob Ross (I like to think of “my approach” to learning programming as the Bob Ross approach to coding), but I didn’t want to infringe on any copyrights. I thought about hiring an artist, but I didn’t have any real requirements. So after a couple hours of tinkering in Processing, I had this thrown together. And while I wouldn’t say I’m proud of a banner ad, I don’t think it looks completely horrible, so this is what I’ll use for now.
I chose to advertise on Java-Gaming.org becuase it’s where I hang out, not to mention legends like Kevin Glass, Caspian Prince, and orangepascal. (Oh, and Notch.) Plus JGO uses Project Wonderful and I have a few bucks leftover from Static Void Games. I don’t expect to gain a million users or anything, but now that I have the ad I can start putting it other places too. Plus there’s something about declaring this whole thing “done”, or at least done enough.
I’d like to start advertising more, and I think I’ll start by seeking out more artistic sites. If you have any ideas about where to advertise, or different ways to advertise, I’m very open to suggestions!