Nuke's open, flexible architecture gives developers immense freedom to integrate with their pipeline and create custom tools. See https://www.foundry.com/products/nuke/developers for the developer guides available for download.
Nuke and Hiero Python Scripting Engine
Nuke's Python scripting engine mainly focuses on interface and higher level node manipulation. It fosters rapid development, giving Nuke developers dynamic control over everything from quickly altering the contents of multiple node control panels to easily integrating external asset management tools. Python users also benefit from a vast range of pre-built modules, including tools for XML reading, database access, and more.
Nuke Developer Kit (NDK C++ API)
The NDK is Nuke's low level C++ API. It lets Nuke developers build everything from image process operators to Deep ops and custom op types. Users of the NDK benefit from a range of convenience functionality, and an API tailored directly for Nuke.
The NDK does not allow external node tree access, so is not suitable for scripting style functionality (although it is able to separately call such). Since the API exports C++ symbols, it changes between Nuke major and minor releases. As such, it often requires recompilation of derived operators.
Blink API and BlinkScript
The BlinkScript node lets developers write their own image processing operations inside of Nuke using the Blink Framework. To get the best possible performance from your team’s hardware, the Blink Framework ensures code can be written once and then run fully optimized on a variety of devices. The BlinkScript node can translate image processing code into standard x86 or SIMD accelerated code to run on the CPU, or OpenCL to run on the GPU.
The Blink API allows C++ plug-in developers to harness Foundry's Blink technology. Image processing algorithms can now be implemented once and deployed on CPU and GPU devices. The API provides greater flexibility and exposes features of the Blink technology that is not available in the BlinkScript node. This results in the ability to create faster and more complex effects.
The Blink API now ships with Nuke and enables you to use the Blink framework inside an NDK plug-in.