This subject gives you the overview over available development tools for Lotus Notes. Remember, there are several toolkits and most of them are available for different platforms. Lotus has always had a very strong focus on multi platform issues, and most toolkits are available for all mainstream operating systems. This means that you'll find Notes C APi for Windows, Linux, S/390 etc.
Where do you find the toolkits ?
You should have received a CD with most of the current APIs for the Windows platform. when that CD gets old, continue your search for new toolkits (or for other platforms than Windows :-)) on the The Lotus Developer Domain homepage. Go to the Developers-section to download toolkits. Note that you have register at the IBM site in order to download, but at the time of writing, the registration was free.
The "easy" tools.
You have a decent set of tools at your disposal without even buying another tool, or starting up a compiler. These built in tools are:
You can develop highly functional and very advanced applications with these tools, and probably a good 90-95% of all Notes applications are made with these tools. This course will not cover any of these tools in detail.
The "not-so-easy" tools
The not-so-easy tools circle around the API toolkits and some of the other APIs that has their foundation in the Notes C API. Please see the following subjects for detailed discussions for each toolkit.
A quick look at how Lotus has implemented the support for all these languages - the adapter way!
You might get the idea that Lotus has to maintain an awful lot of code in order to keep all it's APIs up to date between each Notes release. Of course the do! But Lotus has created a neat strategy lying below all API development. They have create the logic of programming language adapters.
Deep down all APIs are based on the same core functions - the Notes C API - the core functions of Lotus Notes and Domino. By introducing a middle layer, they can divide the core functionality of the Notes C API from the implementation of each programming language. By creating an adapter for each programming language, they can "snap-in" new languages much quicker compared to developing native support for each language in the Notes core.
Basically each language, from @Formula, LotusScript to C++ and Java are implemented via their own adapters to the Notes C API.
Again, a pretty cool concept when you take look on other software!
By the way, adapters was introduced with Notes Release 4, back in 1995