mmm... tu pregunta es bastante abierta pero ahi va:
La programacion tiene tantos enfoques como temas te pudieran venir a la mente, la programacion es un arte de formar, darle vida y cuerpo a las cosas que quiza solo viven en la imaginacion
La programacion la puedes orientar directamente al software (diceno, creacion, actualizacion, etc)
O la puedes orientar al hardware (diceno, creacion, actializacion), de pequenos bloques de programa que dan vida y funcion a dispositivos electicos o electronicos
Erick Rios