+ is HQ9+ with two differences: there are no "H", "Q", or "9" instructions, and all characters that are not + are explicitly ignored.
Unlike some languages, + is relatively simple to learn, even for non-programmers. It has only one instruction,
+, which increments the program's accumulator. All others are ignored.
Increment the accumulator once:
Increment it five times:
What a useful language!
+ is a push-down automaton, as the
+ instruction simulates pushing to a stack. The initial state can also be a halt state, and the only state, and a
+ instruction can loop back to the initial/halt/only state, pushing a value to the stack as it does so.
There is an interpreter written for + in perl in 60 bytes:
my$r=$ARGV;open my$z,'<',$r or die$!;my$c=()=<$z>=~/\+/g;
An interpreter written in XENBLN in 12 bytes (input the program):
And another interpreter written for + in Lua, hosted here.