• Post Reply Bookmark Topic Watch Topic
  • New Topic

Beginning Java - Learning for visualizations, interactive art  RSS feed

 
Abe Hamon
Greenhorn
Posts: 1
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I am 28 years old and I'd like some advice on learning Java.

My background is in Mechanics and music production. I've worked 5 years as a mechanical technician, made and performed music on the side. I have a bit of experience in visual programming. Max MSP and Pure Data. I both technical and artistic sides of my mind and I'm just looking to push this into the next level.

I want to learn java to further my creative ambitions, to program live visualizations, interactive art, motion tracking generative music.

Similar to: (but not exclusive to)

http://www.youtube.com/watch?v=o90VsOopAws http://www.youtube.com/watch?v=VRkNrWp6tLg

I have 12 weeks where I can work 8 - 10 hours a day, 6 days per week. I'm not expecting to "master" java or become a professional as I know there is alot to it. But I want to learn as much as I can.

A) Given I can study 8 - 10 hours per day, what is realistic possible in 12 weeks, and what is the best way to going about it? I learn by watching and doing. I generally fall asleep reading or learning passively. So I need to be doing stuff to make it interesting.

B) Keeping the 80/20 rule in mind, what 20% of the language should I focus on to be most effective in what I want to do?(visualization/interactive art)? I know threes alot to java and I don't want to waste my time learning all the ineffectual stuff I'm never going to use.

I realize that theres alot to this - And I never plan to stop learning, because I love to learn and always keep my head open.

Thank you.
 
Karthik Shiraly
Bartender
Posts: 1210
25
Android C++ Java Linux PHP Python
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Take a look at Processing and what can be created using it.
Though it's not exactly java, I'm suggesting it because:
- Its goal is to make graphics and visual programming simpler for artistic people. The learning curve for Processing is shorter and much less steeper than java.
- It's very very similar to java, and is simpler than java for drawing and graphics. Take a look at their base API. Some of those functions which are one liners in Processing
would require a lot more code, if using java.
- It compiles to JVM bytecode and runs on JVM, just like java apps. That means any java library can be used in Processing, giving you an easy entry into java world.
- It's straightforward to create more powerful extensions for Processing, if necessary. These are written using java language.


If you're intent on going the java way from scratch, then in my opinion your 20% time should be spent on learning how to render custom graphics using JavaFX library . It's the successor to java's Swing framework for UIs, and has more powerful graphics capabilities than Swing. The efxclipse IDE is a quick way to get start developing with javafx, without running into java compiler and classpath issues that often demotivate beginners.

In terms of knowledge required, coding effort and lines of code required to implement some advanced graphics, I would state it as Processing < JavaFX < Swing.
 
Winston Gutkowski
Bartender
Posts: 10575
66
Eclipse IDE Hibernate Ubuntu
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Abe Hamon wrote:I want to learn java to further my creative ambitions, to program live visualizations, interactive art, motion tracking generative music.

Then I'm not sure that Java is what you want. Java GUI (non-Web) code tends to be verbose and complex - and is also a bit passé these days - and the "interactive" or "funky" side of visual Web pages is generally done in other ways, with Java simply providing the data (and also, in some cases, the management/deployment backbone).

A) Given I can study 8 - 10 hours per day, what is realistic possible in 12 weeks, and what is the best way to going about it?

Simple answer: Not a lot. Sorry to be blunt, but you did ask. This page (a very good read, BTW) would suggest that you might be able to learn the syntax in a week or so.

I learn by watching and doing. I generally fall asleep reading or learning passively. So I need to be doing stuff to make it interesting.

Then you need to understand that you'll have an initial 'hump' to get over, because you won't be able to do much without some reading.
Java is quite a low-level language, so there's a lot of syntax to get over first - and the "interesting" stuff for you (I suspect) is only likely to start when you can write programs and start putting it all together. This isn't art class; you're learning a programming language - and Java is a generalized one; it's not designed specifically for visual interaction (although it has lots of extensions and libraries that can help you out).

Sorry if I'm not sounding very encouraging, but I think your expectations are a bit high - not just for what you can expect in 12 weeks, but also of what Java offers in "visual" terms. Like Karthik, I suspect there are other, higher-level, languages out there that will get you working with "visual stuff" a lot quicker.

HIH

Winston
 
Campbell Ritchie
Marshal
Posts: 56540
172
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Welcome to the Ranch

My experience is that it is the basics that are difficult to learn. Since Java® is an object‑oriented language, your first propriety is probably learning the conventions of object‑orientation.
 
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
Boost this thread!