As minification of computers increases,The definition of of programmable devices has been less understood by majority of individuals. To clear this air means going back to the basics, that is, the definition of a computer, a program and hence a programmable device.
A computer can simply be defined as any device that can be instructed to carry out arbitrary set of arithmetic and logical operations. The fact that it is any device does not limit it by size, shape or any other physical attributes.
A program on the other hand is the set of instruction interpreted by a computer, this can either be logical instructions or arithmetic instructions . Programming languages are used to write this instructions. Programming languages are human like languages optimized so that compilers can have an easy time converting this instructions to binaries for computers to understand.
eg Java to byte-code C# to MSIL etc
Following the above descriptions two things come to the mind Integrated Chips (IC) for manipulating instructions and memory for storing instructions. Thus microprocessor and micro controller concepts
A micro controller is an embedded device with both processor(IC) and memory on it. e.g micro-waves, TVs etc. This item’s use microcontrollers to manage and manipulate operations.
A microprocessor is an Integrated Chip(IC) for manipulating instructions only .Its instructions are usually fed from an external memory devices. Eg laptop and computer processor
This illustrations thus summarize the programmable devices debate. Any device or object that can be embedded by the above two is thus a programmable device.