Apollo (programming language)
From Wikipedia, the free encyclopedia
The Apollo programming language is a variant of another popular programming language, brainfuck.
Apollo was designed to solve a basic readability problem present in brainfuck, which is its primary drawback. Readability of most languages has presented a large human-factors problem for many years, and there has been much research into improving it.
Apollo solves the readability problem by combining the Perl Acme::Bleach module's syntactical clarity with the simple semantics of brainfuck. The results are programs that are quintessential examples of language design where the goal is obfuscation of both content and goals.
To reiterate brainfsck's syntax, there are eight symbols in the language, with any other symbols being ignored.
Brainfuck's symbols are: < > + - [ ] . , All other characters are comments and are ignored.
Apollo's symbols are: <tab> <space> <Linefeed> <carriage-return> <vertical-tab> <control-G/bell> <null> <escape> (substituting, respectively, for the above Brainfuck symbols).
These symbols have the advantage of being nonvisible on a normal computer screen. Likewise, printouts of program source likewise appear empty. This is highly useful in hiding source code from those who would wish to copy it without attribution.
An interesting aside is that Apollo programs can be interspersed into other program code. That means it is possible to carefully create a C, C++, Java, or other-language program that will compile to one purpose in that language and a completely different purpose in Apollo.
Much work remains (and, frankly, will remain) to be done in further developing IDEs for programmers to use this language. It is thought the best way to create an interface would be to use a simple numeric keypad, with each number remapped to one of the Apollo characters.
Some language reviewers have complained that Apollo's use of carriage returns in its language syntax is needlessly complex. However, research has shown that any sufficiently sized Apollo program will include a quantity of carriage returns naturally and thus there won't be too many characters on one line.
For more information, see the entry on brainfuck and transpose the characters used there to envision how the Apollo language would behave.

