|
Comments
Did you read today's front page stories & breaking news?
SYS-CON.TV
|
Java Basics Learning to Learn
Learning to Learn
By: Neil Poska
Mar. 5, 2004 12:00 AM
I have come to the unpleasant realization that I might have forgotten how to learn. I'm not talking about the small bridges we cross every day in our jobs or our lives. I'm talking about the big tectonic shifts that take place far less often. I suppose it started out when I realized I am jaded. I'm sure there is a difference between "specializing" and "being in a rut," but I can't see it from where I sit right now. I know it's fashionable now to bag on the whole Enterprise JavaBean technology and I don't want to be a part of that, but even that has become more trouble than it's worth to me. As much as I loved the idea of it in the beginning (like most relationships), the emotions have faded as I came to realize how little I was getting out of it compared to the effort I was putting in (like most relationships). I decided to head off in search of new tools and technologies. I settled upon two of the new players in the Java arena, Spring and Hibernate, because they supposedly solve two issues in every project I have dealt with: Spring provides an MVC framework for me, hopefully covering up my woeful lack of experience in that area; and Hibernate provides a robust object-to-relational mapping tool, allowing me hopefully to completely jettison entity beans from my life. It has been many years since I tried to learn a product that was as new as Spring or Hibernate, and it brings up an interesting question: How do you learn these technologies? How do you learn anything new? I have been programming Java for so long that if I have a question about a class method or a different way of accomplishing some programmatic goal, I pretty much know where to look. I know the Javadoc for the Sun APIs to a reasonable level, so finding the missing pieces is pretty easy. I already know where to look and for the most part, what I am looking for. If all else fails, there are hundreds of books available at any bookstore. I can post to an online forum, and people from all over the world will answer (very few of the answers will be helpful, but they will answer :) ). I can even call 10 of my friends and ask their opinions. Spring and Hibernate are different. They are new, and I feel like I'm on my own. I started at their respective project Web sites, hoping to start reading all the documentation that was available. Hibernate has a fantastic documentation set, with many examples and a tremendous reference document that stretches for 138 pdf pages. In addition, there are great user lists and their forum is just about at the perfect activity level. There are enough posts that you can consistently learn, but not so much activity that you have to slog through 500 "I am new to this but..." posts every day. As a result, all my experimentations with Hibernate went flawlessly. Spring, being a somewhat newer product, has some documentation issues. However, in their favor, at least they know it. They often promise that the next version of Spring to be released will completely address the problem; a complete Spring reference manual was due in February and two books are due this year. To counter this issue, the Spring folks enthusiastically support their user forum. One of the Spring contributors even found and responded to my blog, where I was expressing my frustration with them at the time. Let me take a second to reiterate something: the problems I had with Spring are not entirely Spring's fault. I am in uncharted territory, so I expect some pain. In fact, solving these problems is a fantastic way to learn the technology. Spring is promising, interesting, and useful. But to coin a phrase brought to you by the Department of Redundancy Department, I wouldn't be in uncharted territory if the territory weren't so darned uncharted. What have I learned from this process? I guess I learned that the learning process never really changes once you have it down. This was, for some reason, very surprising to me. But sure enough, reading documentation (when it exists), reading APIs, and talking to people is still the way to get things done. Beyond that, we learn by doing, and it is the same whether we are trying to learn a new tool or trying to repair whatever is making that hideous noise in the toilet tank. Most important, I learned how lucky we are to work in a field where we can keep learning and growing. I think about all my friends who aren't programmers; they all have fine jobs, but they will be doing those jobs in mostly the same way until they retire. With a little effort, we can completely overhaul the way we do our jobs. In that way, we never have to worry about being bored or jaded again. Reader Feedback: Page 1 of 1
Latest Cloud Developer Stories
Subscribe to the World's Most Powerful Newsletters
Subscribe to Our Rss Feeds & Get Your SYS-CON News Live!
|
SYS-CON Featured Whitepapers
Most Read This Week
Breaking Cloud Computing News
|
|||||||||||||||||||||||||||||||||||||||||||||||||