IJ2 is out
 Sec. 13: Settings & Preferences Up Main page Sec. 14: Macros 

Part III. Extending ImageJ

ImageJ capabilities can be extended by loadable code modules in the form of macros, scripts or plugins. 300 +  macros, 500 +  plugins and 20 +  scripts are available through the ImageJ web site. Below is a short description of these three type of ImageJ add-ons:
Macros↓ The easiest way to execute a series of ImageJ commands. The ImageJ macro language — a Java-like language — contains a set of control structures, operators and built-in functions and can be used to call built-in commands and other macros. Macro code is stored in text files (.txt and .ijm extensions).
Plugins↓ Much more powerful, flexible and faster than macros (most of ImageJ’s built-in menu commands are actually plugins) but harder to write and debug. Plugins are written in the Java programming language (.java source files) and compiled to .class files.
Scripts↓ ImageJ uses the Mozilla Rhino interpreter to run JavaScripts. Similarly to plugins, scripts have full access to all ImageJ and Java APIs but do not need to be compiled (scripts and macros run interpretively). On the other hand, scripts lack the simplicity of macro language and feel less integrated in ImageJ.
 Sec. 13: Settings & Preferences Up Main page Sec. 14: Macros