Es quien escribe, depura y mantiene el código fuente de un lenguaje informático.
Hace el conjunto de instrucciones que ejecuta una computadora para realizar una tarea determinada. Los programadores también reciben el nombre de desarrolladores de software.
En la jerga técnica se dice que el programador genera el código fuente y el programa intérprete genera el código objeto, que también se denomina código binario o código máquina.
Un programador se encarga de implementar algoritmos mediante un lenguaje de programación. Actualmente el término se asocia también al analista, porque a nivel práctico es complicado diferenciar las tareas de ambos actores en el desarrollo de un software.
El programador desarrolla los programas pensando en el usuario, en las personas que lo van a utilizar.
No es lo mismo desarrollar un programa sencillo con funciones básicas que un programa complejo destinado, por ejemplo: a ingenieros aeroespaciales.
El Usuario #
Accede en general al programa a través de un archivo ejecutable que se instala en la PC y puede ser ejecutado repetidas veces para realizar una tarea determinada. Por ejemplo: los usuarios utilizan el programa Word para escribir textos.
El Programador #
Accede a un programa desde un archivo de texto con instrucciones a la computadora escritas en un determinado lenguaje de programación, que luego podrá convertirse en un ejecutable.
Pero para que un programa pueda llevarse a cabo, independientemente del lenguaje en que se desarrolle, se requiere un equipo profesional, tiempo de investigación, pruebas y recursos.
Además de tener en cuenta al usuario o destinatario del programa que se desarrolla, se debe considerar el lenguaje (la jerga de programación es también llamado plataforma) en la que será ejecutado el programa.
Se denomina plataforma porque es precisamente la base, el principio sobre el cual se constituye un hardware y sobre el cual un programa puede ejecutarse o desarrollarse.
A lo largo de sus carreras, los programadores se van especializando en distintos lenguajes, en distintas plataformas y conforman equipos de trabajo. Compuestos por diseñadores, analistas e ingenieros.
Programadores de Mainframe #
Se orienta hacia los lenguajes de programación más antiguos, de los que aún existen muchos en funcionamiento que requieren mantenimiento y actualización.
Entre los conocimientos que se requieren se cuenta COBOL, JCL(Job Control Language) y bases de datos jerárquicas, entre otros.
Programadores de Nuevas Tecnologías #
Gira principalmente en torno a internet y sus requerimientos: la Web 2.0, comunidades virtuales, redes sociales y los negocios por medios electrónicos o e-commerce.
Entre sus conocimientos se destacan lenguajes del lado del servidor como Java, ASP, .NET, JSP, PHP, Ruby, Phyton, o Perl, y lenguajes del lado de cliente como HTML, XHTML, CSS, Javascript ó AYAX.
Programadores de Firmware y Videojuegos #
Tienen conocimientos de hardware, microprocesadores, ensamblado y C+.
Programadores de Sistemas Abiertos #
Rama asociada a programas compatibles con distintas estructuras. Requiere conocimientos de C+, Pascal, etc.