Java is the workhorse of corporate applications. No longer considered sexy but battle hardened and mature. For a Notes developer there are a number of reasons why some Java knowledge is essential: LotusScript doesn't allow network access (and "cheating with COM objects" doesn't count), doesn't provide threads or, most important, access to a rich eco system of ready baked libraries. You want to create some fancy components for your Notes client or a sharable extension library for XPages, Java it is. But how to get started? There are a number of resources that give you easy access:
- There is the outstanding CS106A Introduction to Computer Science | Programming Methodology taugth by Mehran Sahami of Stanford. The course is free available for download via YouTube, iTunes or BitTorrent. There are 28 50min meetings which might seem too steep. However it is a good brushup on programming methodology and a lot of code inside Domino will benefit from more decomposition.
- The perfect IDE to learn (and a companion for inspecting new stuff) is BlueJ. Its object inspector is so powerful, that Microsoft tried to patent it. There is a excellent introduction book available titled "Objects First With Java"
- Once you gotten deeper into Java, you want to make friends with Eclipse picking a nice tutorial or a video. After all Domino Designer runs on Eclipse now
- A deeper understanding of Java can be found in Bruce Eckel's Thinking in Java. The 3rd edition is free, if you like the updated version, get the 4th edition
- To get an idea how basic operations work in Domino, look for the classic "Programming Domino With Java" by grand master Bob.
- There are plenty of online resources like the
SUNOracle Developer Network, the Java Ranch or StackOverflow
- Last not least there is IBM Developerworks and its peek into the future Alphaworks