El proceso de desarrollo de software está compuesto por varias etapas que van desde la gestación misma y el diagnóstico hasta el mantenimiento y eventual muerte (o recambio) del software. (Pressman. 2010). Estas etapas son:
Comunicación
Planificación
Modelado.
Construcción.
Despliegue.
Dentro de este proceso, los programadores tienen la responsabilidad de la construcción de software, es decir, la escritura del código fuente respetando los lineamientos de diseño generado en las etapas anteriores.
Entendemos por programación el "arte" de escribir instrucciones con el objetivo de obtener una respuesta del ordenador. Estas instrucciones deben estar escritas en un lenguaje determinado respetando la sintaxis del mismo.
¿Por qué decimos que es un arte? Por que para que un programa triunfe, perdure, sea utilizado y reconocido debe tener algunas características más. Podemos mencionar algunas que se me ocurre en estos momentos. Usted podría agregar algunas más que considere pertinente. Un programa debe ser,
Eficiente.
Elegante.
Seguro.
Fiable (o confiable).
Veloz.
Amigable
...
Y para que un programa posea estas cualidades se requiere de la aplicación de técnicas de programación. Estas son fundamentales para escribir programas con las cualidades antes mencionadas.
El estudio de las técnicas de programación sin el conocimiento de algún lenguaje y algo de práctica resulta ser muy abstracto y poco productivo para quien desea incorporar dichas capacidades a su "caja de herramientas". Para que se logre la incorporación de dichas técnicas es necesario escribir código, practicar, y para ello conviene manejar algún lenguaje. El C o el C++ son ideales ya que luego pueden fácilmente trasponerse a otro lenguaje.
De modo tal que el aprendizaje de un lenguaje y la incorporación de algunas técnicas de programación a dicho aprendizaje es una actividad que podría hacerse en forma paralela. Si no es posible, pues primero considero tener conocimiento del lenguaje y luego profundizar en las técnicas.