free MP3s recorded of codesimian: fractalSound1.mp3 b.mp3 c.mp3 d.mp3 but its more fun to create your own...

Start CodeSimian NOW (applet)

limited by internet security,
not all parts of CodeSimian work here.
Requires Java 1.5 and 2 ghz CPU

Download CodeSimian NOW (JAR file)

or click SAVE then double-click CodeSimian.jar
Requires Java 1.5 and 2 ghz CPU


of the most common things in CodeSimian language

Intro/Tutorial | SourceCode | FAQ? | ListOfCommands | ~~Sounds/Audio (generated by equations)~~ | PlayElectricGuitarWithTheMouse | FREE MP3s (play and modify them with CodeSimian) | Pictures | Javadoc/TechnicalDocuments | CompareToJava | Plans (what to build) | RootClass | 1 Type | SystemReq | Humans | DNA | Bugs/Flaws | Wiki | Def | my resumE (give me a programming job) | Contact


1. abbreviation for CodeSimian
2. Name of the root class:


parameter of a CS. Params also have type CS. CS is a "composite design pattern". CSs must have a quantity of params (countP()) between minP() and maxP(). Params are set by CS.setP(int,CS) or get by CS.P(int).


one of 10 Java Methods that do the main function of a CS.
L is for Objects. The others return primitive.
V() executes but returns nothing because its void.
V() Z() B() C() S() I() J() F() D() L(Class)

FUEL (of a CS)

CSs require fuel to execute. Fuel comes in 2 forms, an int fuel individual to each CS, and a CS fuel that can be shared between CSs and can have more complex behaviors.

PROXY (of a CS)

Most CSs have a proxy. Proxies are executed between the executions of every 2 connected CSs. Proxies enforce FUEL to stop a CS from executing if it runs out. Proxies can check for runtime errors and fix them. Proxies are the best way to redefine control-flow in code without changing that code.


1. Relating to, characteristic of, or resembling an ape or a monkey.
2. An ape or a monkey.
3. Relating to or resembling an ape; "simian features"

code monkey

1. A person only capable of grinding out code, but unable to perform the higher-primate tasks of software architecture, analysis, and design. Mildly insulting. Often applied to the most junior people on a programming team.
2. Anyone who writes code for a living; a programmer.
3. A self-deprecating way of denying responsibility for a management decision, or of complaining about having to live with such decisions. As in "Don't ask me why we need to write a compiler in COBOL, I'm just a code monkey."
(Definitions from


1. An interpreted programming language, with only 1 type (code is data), made with Java, that can be used as strings of its own code or as Java objects. CodeSimian code (even a 1-line program) can write or modify other CodeSimian code, but like a code-monkey would, because it is not (right now) as smart as Human programmers. Main purpose is to write artificial intelligences that modify (parts of) themselves or write other code.


Why that name?

Simian is more vague than monkey. Monkey is a type of simian. The name implies GENERAL-artificial-intelligence, which can learn things it was not programmed to understand. General = vague.

Code-Monkey means a stupid software programmer. The best artificial-intelligence is stupid at writing code and is only as smart as a mouse. A mouse can interpret visual input and produce intelligent movements of its legs to navigate a maze, but to artificial-intelligence (unless programmed specificly for maze-navigation) rarely can tell the difference between one left turn an an other. Visual input is blurry, at different angles, moving, different object positions... if you cant adapt you're not intelligent. For an artificial-intelligence to understand its own code would be the most advanced technology ever, the start of exponentially more awesome softwares (in theory)...

Privacy Policy