A Programmable Logic Controller (PLC) is an industrial computer that has been ruggedized and adapted for the control of manufacturing processes, such as assembly lines, machines, robotic devices, or any activity that requires automation. PLCs can automate a specific process, machine function, and monitor and record run-time data such as machine productivity or operating temperature. PLC programming is the process of creating a program that controls the behavior of a PLC. PLC programs are typically written in a programming device, which can take the form of a desktop console, special software on a personal computer, or a handheld programming device. The most commonly used PLC programming language is Ladder Logic, which mimics circuit diagrams with "rungs" of logic read left to right. Other languages used to program a PLC include Structured Text, Sequential Function Charts, Function Block Diagrams, and Instruction List. The programming inside the controller is critical and should be done in such a way that it is easily understood by the end-user.