Programación‎ > ‎0.- Introducción‎ > ‎

¿Qué es la programación?

Se conoce como programación de computadores a la implementación de un algoritmo en un determinado lenguaje de programación, conformando un programa. Mientras que un algoritmo se ejecuta en una máquina abstracta que no tiene limitaciones de memoria o tiempo, un programa se ejecuta en una máquina real, que sí tiene esas limitaciones. El lenguaje de programación puede ser de alto nivel, medio nivel o bajo nivel, en función del grado de abstracción.

Tabla de contenidos

  • 1 Programas y algoritmos
  • 2 Compilación
  • 3 Programación e ingeniería del software
  • 4 Objetivos de la programación

Programas y algoritmos 

Un algoritmo es una secuencia no ambigua, finita y ordenada de instrucciones que han de seguirse para resolver un problema. Un programa normalmente implementa (traduce a un lenguaje de programación concreto) un algoritmo. Nótese que es la secuencia de instrucciones en sí la que debe ser finita, no el número de pasos realizados como la ejecución de ellas.

Los programas suelen subdividirse en partes menores (módulos), de modo que la complejidad algorítmica de cada una de las partes sea menor que la del programa completo, lo cual ayuda al desarrollo del programa.

Según Niklaus Wirth un programa está formado por algoritmos y estructura de datos.

Se han propuesto diversas técnicas de programación, cuyo objetivo es mejorar tanto el proceso de creación de software como su mantenimiento. Entre ellas se pueden mencionar las programaciones lineal, estructurada, modular y orientada a objetos.


Compilación 

El programa escrito en un lenguaje de programación (comprensible por el ser humano, aunque se suelen corresponder con lenguajes formales descritos por gramáticas independientes del contexto) no es inmediatamente ejecutado en una computadora. La opción más común es compilar el programa, aunque también puede ser ejecutado mediante un intérprete informático

El código fuente del programa se debe someter a un proceso de transformación para convertirse en lenguaje máquina, interpretable por el procesador. A este proceso se le llama compilación.

Normalmente la creación de un programa ejecutable (un típico.exe para Microsoft Windows) conlleva dos pasos. El primer paso se llama compilación (propiamente dicho) y traduce el código fuente escrito en un lenguaje de programación almacenado en un archivo a código en bajo nivel, (normalmente en código objeto no directamente al lenguaje máquina). El segundo paso se llama enlazado (del inglés link o linker) se junta el código de bajo nivel generado de todos los ficheros que se han mandado compilar y se añade el código de las funciones que hay en las bibliotecas del compilador para que el ejecutable pueda comunicarse con el sistemas operativo y traduce el código objeto a código máquina.

Estos dos pasos se pueden mandar hacer por separado, almacenando el resultado de la fase de compilación en archivos objetos (un típico.obj para Microsoft Windows,.o para Unix), para enlazarlos posteriormente, o crear directamente el ejecutable con lo que la fase de compilación se almacena sólo temporalmente. Un programa podría tener partes escritas en varios lenguajes (generalmente C, C++ y Asm), que se podrían compilar de forma independiente y enlazar juntas para formar un único ejecutable.


Programación e ingeniería del software 

Existe una tendencia a identificar el proceso de creación de un programa informático con la programación, que es cierta cuando se trata de programas pequeños para uso personal, y que dista de la realidad cuando se trata de grandes proyectos.

El proceso de creación de software desde el punto de vista de la Ingeniería tiene los siguientes pasos:

  1. Reconocer la necesidad de un programa para solucionar un problema ó identificar la posibilidad de automatización de una tarea.
  2. Recoger los requisitos del programa. Debe quedar claro qué es lo que debe hacer el programa y para qué se necesita.
  3. Realizar el análisis de los requisitos del programa. Debe quedar claro cómo debe realizar el programa las cosas que debe hacer. Las pruebas que comprueben la validez del programa se pueden especificar en esta fase.
  4. Diseñar la arquitectura del programa. Se debe descomponer el programa en partes de complejidad abordable.
  5. Implementar el programa. Consiste en realizar un diseño detallado, especificando completamente todo el funcionamiento del programa, tras lo cual la codificación debería resultar inmediata.
  6. Implantar (instalar) el programa. Consiste en poner el programa en funcionamiento junto con los componentes que pueda necesitar (bases de datos, redes de comunicaciones, etc.)

La Ingeniería del Software se centra en los pasos de planificación y diseño del programa, mientras que antiguamente (programación artesanal) la realización de un programa consistía únicamente en escribir el código.


Objetivos de la programación 

La programación de ordenadores debe perseguir tres objetivos fundamentales:

  • Corrección: un programa es correcto si hace lo que debe hacer. Para determinar si un programa hace lo que debe es muy importante especificar claramente qué debe hacer el programa antes de desarrollarlo y una vez acabado compararlo con lo que realmente hace.
  • Claridad: es muy importante que el programa sea lo más claro y legible posible para mejorar el mantenimiento del software. Cuando se acaba de escribir el código del programa, se deben buscar errores y corregirlos. Más concretamente, cuando el programa está concluido, es necesario hacerle ampliaciones o modificaciones, según la demanda de los usuarios, esta labor puede ser llevada acabo por el mismo programador que implementó el programa o por otros.
  • Eficiencia: debe consumir la menor cantidad de recursos posible. Normalmente al hablar de eficiencia se suele hacer referencia al consumo de tiempo y/o memoria.

La eficiencia y la claridad de un programa pueden ser objetivos contrapuestos: se puede conseguir mayor claridad sacrificando parte de la eficiencia o viceversa. Pero hay que tener en cuenta que el tiempo del programador es caro, y que hoy en día el precio de los ordenadores es razonable y cada vez son más baratos.



Fuente original: http://es.wikipedia.org/wiki/Programaci%C3%B3n

Comments