I’m an adult looking to learn programming – my intial desire was to learn to make Android apps and I began by buying a copy of Ivor Horton’s Beginning Java – an 1100+ page tome on the subject a little over a month ago. I’ve since gone through 240 pages, with many hours poured into rereading sections, typing in all the examples and doing all the exercises as well as going through the exercises on CodingBat.com. I find the book a great way to learn all the nitty gritty details of the language and intend to eventually finish the book.
In that time I also got into programming AutoLISP routines (for AutoCAD) for my day job as a CAD drafter/designer to make life easier for me and my coworkers. Having a goal of actually making something useful really ignited a crazy manic energy in me and I would just work on those from when I got home from my day job until I went to bed and I’d wake up in the monring and work on them some more, and be thinking of them at work and looking up functions on break and such.
I realize that AutoLISP and Java are two different animals in terms of learning curve, but I’d really like to start making useful things in Java, and I have some ideas for some simple GUI programs I’d like to make again to help me at work.
With a basic knowledge of classes, inheritance, flow controls and the primitives would it be advisable to just skip to the Swing section of the book (with the intention of going through it all eventually) or read the Oracle tutorials (or get a faster paced book?) in an attempt to actually make something useful even if its very simple. Or should I just grind it out and progress in a linear fashion through the book? How did you guys learn? Like the title says doing silly things like putting rabbit objects in magic hat objects and dog.bark() gets a little boring.
Java is an enormous programming language and you aren’t going to master everything with it. It sounds like you’ve got a great foundation, so at this point I would suggest creating some useful application and looking up the information you need to implement it on an as needed basis.