# What constitutes programming for the purposes of this site?

According to our Help Center (emphasis mine),

Programming Puzzles & Code Golf is for programming contests and challenges.

Sounds simple enough, and 99 times out of 100 it is. But there are certain challenges which don't really require writing code, at least in the most traditional sense. Here are a few examples:

Given that all challenges here must be programming challenges, how do we define programming? This is an important distinction for drawing a line between on- and off-topic challenges.

• Related, now-deleted meta question.
– Doorknob Mod
Jan 23 '16 at 4:11
• From googling "define programming": instructions for the automatic performance of a task into a computer or other machine. seems to fit well enough Jan 23 '16 at 4:15
• @Doᴡɴɢᴏᴀᴛ Sure, but consider the challenges I linked. Does writing writing a series of logic gates fit that description? Jan 23 '16 at 4:21
• @AlexA. a control mechanism to complete a task? I'd consider a series of logic gates a "control mechanism" Jan 23 '16 at 4:52

## Making a circuit is programming

Brainfuck is definitely programming, and it's a bunch of register move commands. So is bit hacking and other kinds of atomic code golf. Think of logic gates the same way -- a low-level Turing-tarpit "esolang".

All the examples in question are about circuits, so I'll just leave it at that.

• This is pretty much what I was wondering, despite the question being phrased in more general terms. Jan 23 '16 at 22:28
• Hit the nail on the head here; great answer. It's also worth mentioning that NAND (and NOR) gates are functionally complete, and if you can have an unlimited number of them, that's enough for Turing completeness (related SO question).
– user45941
Jan 24 '16 at 21:46