# Design By Numbers Comparison

Design By Numbers (DBN) was developed for teaching general programming concepts to artists and designers with no prior programming experience. DBN is an extremely minimal language and environment, thus making it easy to learn but limited in its potential for creating advanced applications.

DBN was originated by John Maeda, director of the Aesthetics + Computation Group (ACG) at the MIT Media Laboratory. Processing originated in the ACG and many years of experience developing and teaching with DBN informed its development. DBN is free and can run inside a web browser.

Color
Processing Design By Numbers
background(0); Paper 100
background(255); Paper 0
background(255, 204, 0); N/A
stroke(255); Pen 0
stroke(0) Pen 100
stroke(255, 204, 0); N/A
fill(0, 102, 153); N/A
Shape
Processing Design By Numbers
point(30, 20); Set [30 20] 0
line(0, 20, 80, 20); Line 0 20 80 20
rect(10, 20, 30, 30); Field 0 20 40 50 100
Image
Processing Design By Numbers
set(30, 20, 255); Set [30 20] 100
a = get((60, 10); Set a [60 10]
pixels[y*width+x] [x y]
Data
Processing Design By Numbers
int x = 70; // Initialize
x = 30; // Change value
Set X 70 // Initialize
Set X 30 // Change value
float x = 70.0;
x = 30.0;
N/A
int[] a = {5, 10, 11};
a[0] = 12; // Reassign
set 5
set 10
set 11

set 12 // Reassign
Control
Processing Design By Numbers
void draw() {
// Statements
}
Forever
{
// Statements
}
for (int a=45; a<=55; a++) {
// Statements
}
Repeat A 45 55
{
// Statements
}
if (c==1) {
// Statements
}
Same? C 1
{
// Statements
}
if (c!=1) {
// Statements

}
NotSame? C 1
{
// Statements
}
if (c < 1) {
// Statements
}
Smaller? C 1
{
// Statements
}
if (c >= 1) {
// Statements
}
NotSmaller? C 1
{
// Statements
}
if ((c >= 1) && (c < 20)) {
// Statements
}
NotSmaller? C 1
{
Smaller? C 20
{
// Statements
}
}
if (c >= 20) {
// Statements 1
}
else if (c == 0) {
// Statements 2
} else {
// Statements 3
}
N/A
Input
Processing Design By Numbers
mouseX
mouseY
void mousePressed() {
// Statements
}
N/A
if (key=='a') {
// Statements
}
void keyPressed() {
// Statements
}
N/A

This translation was created by Josh Nimoy.