I'm trying to learn Java. It may not make sense for a retired person to set this as a goal, but there I go. I do want to have a machine I can program, and Windows does not appear to be such a machine. I want to keep my brain sharp, although this may not be the best way.
I'm catching up on a long, long time during which I let my programming skills lapse. I don't count SQL as a programming language. It's a sublanguage. And I don't do PL/SQL well enough to consider myself proficient.
I considered C++ for a while, but I decided that Java was a better move for me. More on that later. And I'm not seeking the leading edge, something like Scala.
I have to admit that I'm not as smart as I was forty years ago. My brain just isn't capable of juggling several unresolved issues at the same time the way it was in my twenties. But I'm not as ignorant either. This cuts both ways.
On the one hand, my tolerance for other people's crap has gone down. When the Java people tell me that their way is the only way, I often know that to be false. But I'll play along, because I want to play in their sandbox.
On the other hand, I know where I want to get to in learning the language. As an example, here is a page I want to master:
http://download.oracle.com/javase/tutorial/collections/interfaces/map.htmlWhy do I want to become proficient with maps? Because it's the lowest common denominator between OOP and the relational data model. I want to be able to "think relational" but "code in terms of objects". That's not easy.