Well I’ve officially been thrown into the Java pool. As you may/may not be aware of products that GBS is currently working on, my current position has required quite a bit of custom component development, tweaking and re-writing of existing components. With guidance from the best in the business I’m starting to understand Java more every day.
I think my initial apprehension with the language is that it’s strongly typed. As a Java newb you try something only to be complained at from whatever IDE you’re working in. You’re inital reaction is to track down whatever is complaining only to find out it’s a difference in syntax from what you’re used to. Also another large intimidation factor is trying to figure out the API trees. There are so many it is quite intimidating. But I think this is where your IDE comes in to help you figure this stuff out. After a lot of IDE complaints that may/may not take days to track down, you kinda throw up your hands and come to the conclusion that Java just isn’t your pot of beans (bad attempt at java humor). Well, I disagree. If you’re serious about XPages development and bending XPages to your will, you really need to get more comfortable with Java.
By getting more familiar and comfortable with Java it allows you to create your own custom components, change the way existing components render on the screen or modify/add to the properties and methods of an already existing component. This is a very powerful feature for making XPages do what you want or need. Just take a look at the XPages Extension Library. Java makes you think more about what you write being reusable in other applications. It also teaches you to break out the different steps of figuring something out into logical methods and properties. By doing this it eases troubleshooting efforts and makes your code more readable. In short, it makes you a better developer and opens doors to other technologies.
Learning Java also opens the door for you to start creating your own eclipse/designer plug-ins to make designer work exactly how you want/need it to work. There are several sessions at LotusPhere this year on modifying designer and building plug-ins. Me personally, I’ll be hunting down every java session I can find at LotusPhere (but it seems there aren’t very many).
As I delve more and more into Java I’ll post some good newbie technical articles on the subject, hopefully. So until then, see you at LotusPhere.