Objetivos de la Programaci�n
En la preparaci�n de un programa, el programador puede tener que escoger entre
soluciones alternativas en muchos puntos. Cada elecci�n debe hacerse para satisfacer
los objetivos y restricciones de la tarea de programaci�n particular. Aqu� asumiremos
como apropiados para toda tarea de programaci�n los siguientes objetivos:
- Exactitud
- Claridad
- Eficiencia
EXACTITUD
Un objetivo obvio en la escritura de cualquier programa de computador es que tiene
que satisfacer su especificaci�n exactamente. A menudo, sin embargo, a causa de la
complejidad de la labor del programa, y de un entendimiento o cuidado inadecuados
de parte del programador, un programa falla en satisfacer alguna parte de su
especificaci�n. Un programador tiene que ser en todo tiempo cuidadoso de la exactitud
o pertinencia del programa para su prop�sito especificado.
Un factor clave en el logro de exactitud es la simplicidad. Escogiendo el algoritmo
o t�cnica m�s simple disponible, es m�s probable que un programador vea si satisface
o no los requerimientos de la especificaci�n del programa, y es menos probable que la
describa incorrectamente en su programa. La innecesaria complejidad no cumple prop�sito
alguno en la programaci�n de computadores.
Algunos programas son, por supuesto, inherentemente complejos. Para tales programas,
el programador debe adoptar un tratamiento sistem�tico que controle y limite la
complejidad de la que tiene que ocuparse en cada etapa.
CLARIDAD
Un programa es necesariamente tan complejo como el algoritmo que describe. Sin
embargo, es importante que la forma en que el algoritmo est� descrito, por el
texto del programa, no sea mas complicada de lo que es necesario. La claridad del
programa es una ayuda importante para el programador mismo en el dise�o y limpieza
del programa; y para otros que puedan tener que leer y alterar el programa en
alguna etapa posterior.
La claridad del programa es lograda casi en la misma forma que para cualquier texto
escrito, tal como un ensayo o un libro en los cuales se requiere:
a).- Una separaci�n l�gica del texto en partes comprensibles (cap�tulos, secciones,
etc.) que reflejen la distinci�n entre los temas que describen, y su presentaci�n
en una secuencia l�gica que refleje las relaciones entre ellas;
b).- Una selecci�n cuidadosa de las caracter�sticas del lenguaje, usadas en cada
parte para expresar su sentido propuesto tan precisamente como sea posible;
c).- Otra selecci�n cuidadosa de las palabras usadas para denotar los objetos y
conceptos involucrados;
d).- La inclusi�n de comentarios y pre�mbulos para clarificar el texto principal
cuando sea necesario;
e).- Un aprovechamiento de los dispositivos para presentaci�n de textos, tales
como las l�neas en blanco y la sangr�a, para enfatizar la relaci�n entre partes
componentes de textos.
Un programador podr�a ser tan diligente en el uso de �stas t�cnicas para lograr
claridad como el autor de cualquier texto. En muchos casos, la utilidad de un
programa es determinada tanto por la claridad de su texto como por las cualidades
del algoritmo que describe.
EFICIENCIA
El costo de ejecutar un programa de computador, es medido normalmente en t�rminos
de :
a).- El tiempo tomado por el computador para llevar a cabo la secuencia de
operaciones involucradas;
b).- La cantidad de memoria de computador usada en hacerlo.
En muchos ambientes (de m�quina), el programa competir� con otros programas
por el uso de esos recursos del computador, y es, por tanto, l�gico minimizar
los requerimientos del programa para cada uno.
El tiempo tomado para ejecutar el programa, es directamente proporcional al
n�mero de operaciones que el procesador tiene que realizar al hacerlo. El
programador debe, por tanto, escoger un algoritmo que minimice las operaciones
implicadas, y tener cuidado de evitar cualquier operaci�n redundante al expresar
el algoritmo como un programa de computador.
La memoria usada por el programa durante su ejecuci�n, es determinada por la
cantidad de datos que tienen que ser guardados, y por el n�mero de instrucciones
del procesador requeridas para definir el programa, ya que �stas tambi�n tienen
que ser guardadas en la memoria. Para minimizar el almacenamiento usado por su
programa, el programador debe, por tanto, considerar los datos manipulados y el
n�mero de operaciones especificadas por el programa.
Para algunos programas, o partes de programas, el uso eficiente del tiempo o
del almacenamiento puede ser cr�tico; para otros puede serlo menos. El
programador debe estar enterado de cualquiera de tales requerimientos de
eficiencia cuando escriba su programa.
|