Why is code called sketch?
To make it sound more friendly
Less intimidating than "program" ![]()
Hi @feraltek. There is an organization named Processing. The Processing initiative was aimed at making programming PCs more accessible (it was much less so in 2001 when Processing was founded than it is now).
The founders of Arduino (and those of the Wiring project that is the ancestor of Arduino) used Processing in their work in interactive design. They saw that in many cases a microcontroller would be much more appropriate hardware for an interactive design project than a PC. They also saw that, at that time, although professional quality software was available for developing microcontroller firmware, it was not at all accessible to anyone who wasn't either exceptionally gifted and dedicated, or with high level of training in the field.
The Arduino/Wiring founders had the idea of creating something like Processing, but for microcontrollers. They envisioned that the two might be used in tandem for projects where a microcontroller is used as an I/O interface, connected to a PC handling more demanding processing and UI tasks (keep in mind the microcontroller and display hardware was much more limited at that time). So they used the terminology and framework API from Processing in the Arduino/Wiring projects. In fact, the Wiring IDE is a fork of the Processing IDE codebase (and Arduino IDE 1.x a fork of the Wiring IDE codebase).
Processing projects are called "sketches", so Arduino projects are also called "sketches".
As for why Processing chose this term, it is likely for the reason already provided by the other respondents here.
Arduino and Processing work very well together. All of my elaborate Hallowe'en builds combine the two. It's so easy, in fact, I'm almost ashamed to admit that I've never bothered to learn how to interface Arduino with other languages like Python or Javascript, which would probably open up all sorts of new possibilities.
Anyway, Processing (I use different versions for different things, but most often Processing4 in Java mode) allows Arduino users to send Serial data (such as Serial.println("start"); ) to the Processing app to play videos, switch game graphics, display images, play audio, lots more.
Thanks. When a word is 'borrowed' from prior uses for a new process it's usually logically chosen by the founders. I'd never heard of Processing or Wiring before your note, but I can see what they have in common with the Arduino concept - a bit like "wizards" to ease otherwise complex tasks. Basic and Logo in the 1960s were among the earlier attempts.
"Sketch" because it's like a pencil cartoon for the tapestry produced from it - the designer did the sketch, and the experts rendered it in the more challenging procedures and materials of the final product. The ino file is the sketch, rendered into a useful thingumy by hidden elves working away in the cpp file and compiler.
Two totally HORRIBLE names from a web search PoV!
Thank you ptillisch for an unusually accurate and un-contentious history!
Looking at some coding attempts, sketch(y) is probably a good word.
Tom..
![]()
Just FYI
Long ago the main sketch file of an Arduino sketch had the extension .pde which stands for Processing Development Environment. I have actually no idea what ino stands for.
You might still encounter .pde files if you download a library from github.
The "ino" in Arduino.
Like when someone uses a generic term for their industry when they register a business name and web domain. "I would have contracted you but when I searched for your company named "House Removals" I didn't know which one was yours".
IoT, Internet of Things, what things!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Be specific..
Tom...
![]()
Ship Union Pacific ![]()
Much less so in 2001, though.
How do you figure? "Data processing" and "circuit wiring" have always been all over the web... If anything, search engines have gotten smart enough to know that "processing" alone probably means the IDE, and even "wiring" now includes wiring.org in the first page of results.