Ion Programming