I'm hedging a bit. As my company gets a bit more complex, it mathematically makes sense that I get further away from the mainstream hierarchy of the management team. I don't think it's the way anybody planned or that such matters are inevitable, but there was something in a press release I just read that made me itch - something about my parent company not being committed to organic growth. For the calendar year 2009 I don't think that there are going to be, say 4 or 5 hires in my region. So time spent trying to be a godlike manager might be time wasted. But all that's just an aside. The news is that I'm investing some time in learning Java.
For a database guy, there isn't a really good reason to know Java, especially if you do data management and architecture and tuning like I do. I'm a strong Perl and ksh scripter and I know more than enough to round out my skills. My greatest technical value lies in knowing something about when it's best to do things in relational vs ETL vs multidimensional performance-wise in systems that use all three technologies - especially in UNIX environments. Plus I know a thing or two about building multidimensional models in just about every industry. That's good enough for a full professional career. But you know what? I'm not satisfied. I feel like I should master APIs so I can build super custom stuff as well as interfaces around some of the custom security and back end management processes I have worked with over the years.
I haven't done any OO programming in about 20 years. I was one of those guys who struggled back in the days before Booch made a name for himself. And also one of those guys who couldn't afford a machine big enough to handle the C++ compiler when it first came out. Plus I can recall all the bellyaching about awt when Java was new. But you know the golden rule, when the economy is slow, go back to school. So now is a perfect time for me.
Now I've gone on these tangents before. I learned Web stuff and CMS and php and a bit of Ruby all with absolutely no applications in my industry. But this time I'm going to really make sure that my stuff gets integrated. Even if it doesn't, I'm going to build the tools that I've always wanted to have, including a multidimensional fake data generator. With any luck, I'll make it read outlines. With any further luck, I'll make it read indices and generate a visualization of cubes.
But the great thing about this hedge is that it's just good to know Java and I think I should be applying myself to that and getting some traction in the general programming market. Not that I don't love what my company is doing, but we're headed towards some integration stuff in the industry and I think it will be very good for me to speak a few more languages. I'm going to do Python as well for some Google integration but that's on the back burner. I think Python will be much simpler and if I get bogged down in it I won't handle the more difficult task that Java presents.
So as I stumble my way forward, I'll put entries here in my Java journal at Cubegeek. Stay tuned.
A good way of getting up to speed with Java is to first try out Groovy. Groovy can use any Java class (and visa versa) so playing with APIs is fast and fun. As you've learnt Ruby in the past you'll find the "scripting" side of Groovy very familiar http://blog.gobansaor.com/2008/07/20/groovy-as-talends-scripting-language/.
Tom
Posted by: Tom Gleeson | December 31, 2008 at 06:25 AM
you might want to d/l yourself a copy of Eclipse (and buy a book on how to use it). It's a fantastic IDE at a reasonable cost ($0). I will be happy to answer any Java/Eclipse questions you may have :) just email me at the provided address.
Posted by: cjm | January 10, 2009 at 02:33 PM
I got the Eclipse Ganymede release and put up two installs. They are the same version but they look very different. I'm not clear on why one has so many more bells and whistles than the other. I imagine that there are dozens of plug-ins, and support for languages other than Java. I'd like to figure that out - I'm kind of stalled right now because the latest install I have looks unfamiliar - very basic and few of the options in the toolbars I had before.
Posted by: Cobb | January 10, 2009 at 04:48 PM