Está en la página 1de 3

Programación

Se llama programación a la creación de un programa de computadora, un conjunto


concreto de instrucciones que una computadora puede ejecutar. El programa se escribe
en un lenguaje de programación, aunque también se pueda escribir directamente en
lenguaje de máquina, con cierta dificultad. Un programa se puede dividir en diversas
partes, que pueden estar escritas en lenguajes distintos.

Software es el sustantivo que denomina a los programas y datos de computadora.

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. Puede haber programas que no
se ajusten a un algoritmo (pueden no terminar nunca), en cuyo caso se denomina
procedimiento a tal programa.

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 el 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.

Referencias históricas
La primera programadora de computadora conocida fue Ada Lovelace, hija de Anabella
y Lord Byron. Anabella introdujo en las matemáticas a Ada, quien después de conocer a
Charles Babbage, tradujo y amplió una descripción de su máquina analítica. Incluso
aunque Babbage nunca completó la construcción de cualquiera de sus máquinas, el
trabajo que Ada realizó con éstas le hizo ganarse el título de primera programadora de
computadoras del mundo. El nombre del lenguaje de programación Ada fue escogido
como homenaje a esta programadora.

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.

También podría gustarte