OpenViSTAI · Agents · Blockchain · Crypto
Menu
AI Coding Tools

AI Programmer

AI Programmer is a C# research experiment that uses genetic algorithms to generate programs in a small esoteric language. It evaluates candidate programs in a simulated interpreter, scores their output against a fitness target, and evolves later candidates through selection, crossover and mutation.

Independent OpenViST project profile, based on linked sources.

AI Programmer — OpenViST project profile in AI Coding Tools.
OpenViST project illustration. See the linked sources for product details.
Understand the project

Practical overview

When it fits

Use it when you want to study or modify a genetic-programming experiment for specific, measurable computational tasks.

Who it is for

  • Developers exploring genetic programming and program synthesis.
  • Learners studying how fitness scores can guide automated program generation.
  • C# readers interested in modifying a small experimental codebase.

Documented uses

  • Experiment with evolving a program to produce a target string.
  • Explore documented fitness tasks for addition, subtraction, string reversal and a hello-user example.
  • Inspect how candidate genomes are decoded, executed, scored and evolved.
Before you choose

Requirements & limits

  • The project is a proof of concept, with documented examples centered on simple outputs and operations.
  • The README identifies Visual Studio for the master branch and VS Code with .NET 9.0 for the vscode-net90 branch.
  • The optional functions mode requires enabling the function generator and configuring BrainfuckVersion to BrainPlus.
  • The repository reports that some generated solutions required many generations, so the examples should be treated as experiments rather than performance expectations.

Check current requirements in the official documentation. Source-based guidance does not mean OpenViST has run or independently tested this project.

Source-based practical guide

Configure a target task and fitness method

Change the target output or select a documented fitness implementation for the generated program.

Before you start

  • The AI-Programmer repository.
  • Visual Studio for the master branch, or VS Code and .NET 9.0 for the vscode-net90 branch.

Steps

  1. Clone the master branch and open it in Visual Studio, or clone the vscode-net90 branch and open it in VS Code with .NET 9.0.

  2. Change TargetString in the target parameters to the desired output.

  3. In GetFitnessMethod(), select a documented fitness class, such as StringStrictFitness, AddFitness, SubtractFitness, ReverseStringFitness, or HelloUserFitness.

Expected outcome

The project is configured to evaluate generated programs against the selected target or task.

Guide limitations

  • The documented setup and configuration do not guarantee a successful run or a particular generation time.
  • The README describes the project as a proof of concept and focuses on specific tasks.
Source-based practical guide

Enable the documented sub-routine mode

Configure the project to use BrainPlus sub-routine instructions.

Before you start

  • The AI-Programmer repository and its C# source.
  • The documented Visual Studio or VS Code/.NET 9.0 setup.

Steps

  1. Uncomment the functionGenerator declaration shown in the README.

  2. Set the App.config BrainfuckVersion value to 2 for BrainPlus.

  3. Adjust genomeSize as described in the README for use with sub-routines.

Expected outcome

The configuration enables the documented functions mode and BrainPlus instruction set.

Guide limitations

  • The project is presented as an experiment, not a general-purpose program generator.
Evidence and transparency

Sources & review

Source record details
Source availability
Active
Sources checked
17 October 2026
Original website title
primaryobjects/AI-Programmer · Official homepage title · retained in its source language