Armbob is a small object oriented language, with a C-like syntax, developed, with his permission, from David Betz's Bob 1.5 in 1994 by G.C.Wraith.
Two versions are available to download, one compiled for ARM architecture 7 appropriate for modern RISC OS platforms and one compiled for ARM architecture 3 for older. You can also download the sources.
The original intention was to provide a more modern alternative to BASIC, which could nevertheless be used for writing wimp programs. In this it has subsequently been eclipsed by RiscLua, a higher-order language. Nevertheless, it may be that those accustomed to first-order languages such as BASIC or C, will find ArmBob more to their taste. Version 4.0 was the first 32-bit compatible version.
ArmBob uses a stack-based virtual machine, into whose instructions programs are first compiled before execution. It is comparable in speed to BASIC. Before compilation there is a pre-processing stage; preprocessor directives resemble those of C. These enable the use of macros, predefined constants, conditional sections and splitting programs up into re-usable modules. There is no explicit typing, and no use of pointers. There are, however, classes, with single-inheritance, which use notations that have become standard across several object-oriented languages. These can play the role of structures, and offer a substantial advantage in expressiveness over BASIC.