Professional Documents
Culture Documents
disearon desde los ltimos aos de la dcada de 1960, sin embargo, han
incluido suficientes sentencias de control que se necesitaban para eliminar en
las declaraciones el uso de goto. As, el diseo de las sentencias de control en
un lenguaje puede ser un factor importante para la legibilidad de los
programas escritos en ese lenguaje. Estructura de Datos. La presencia de
facilidades adecuada para la definicin de estructuras de datos en un lenguaje
es otra caracterstica significativa de la legibilidad. Por ejemplo, se supone que
un tipo de dato entero es usado para una bandera indicadora porque no hay
tipos de datos boleanos en los lenguajes. En tal lenguaje, nosotros podemos
tener una sentencia semejante a la siguiente: Suma_es_muy_grande 1
Mientras este significado no es muy claro, entonces en un lenguaje que incluye
los
tipos
booleanos
nosotros
podemos
tener
la
sentencia:
Suma_es_muy_grande true Entonces este significado es perfectamente
claro, de manera similar, los tipos de datos registro proveen un mtodo para
representar como se emplean los registros que es ms legible que usar una
coleccin de arreglos: un arreglo para cada tem de dato en un registro
empleado, el cual es mas usado en los lenguajes que no tiene el tipo registro
Diseo de sintaxis. La sintaxis o forma de los elementos de un idioma tiene un
efecto significante en la legibilidad de los programas. Lo siguientes son tres
ejemplos de diseo sintctico de opciones que afectan la legibilidad Forma de
los identificadores. Los identificadores restringidos a longitudes muy cortas
disminuyen la legibilidad, si los identificadores pueden tener seis caracteres a
lo sumo, como en FORTRAN 77, no es a menudo posible usar nombres
connotativos para las variables. Un extrem ms es el ejemplo del Instituto
Nacional Estndar Americano original (ANSI) (BASIC) (ANSI 197b) en que un
identificador pudiera consistir de una sola carta seguida de otra. La posibilidad
del carcter de conexin como lo raya baja de los identificadores es una gran
ayuda a la legibilidad SUMA_DE_CUADRADOS en ciertamente el que
SUMADECUADRADOS. Se discuten otros problemas del plan acerca de las
formas de identificadores en el captulo 4. Las palabras especiales. La
apariencia y la legibilidad del programa es fuertemente influenciado por las
formas de palabras especiales de un idioma (por ejemplo begin, end, y for)
especialmente importante en el mtodo de formar declaraciones compuestas o
grupos de las declaraciones principalmente en estructuras del mundo. Varios
idiomas usan emparejando pares de palabras especiales o smbolos para
formar grupos. Pascal requiere begin, los pares del extremo a los grupos de las
formas para todo el mando de estructuras excepto repeat, declaraciones en las
que ellas pueden omitirse (otros ejemplos de la falta de Pascal es la ortografa).
C usa abrazaderas para el mismo propsito. Los dos de estos idiomas sufren
porque siempre se termina los grupos de las declaraciones de la misma
manera, que hechuras si es difcil determinar que grupos esta acabndose
cuando un extremo aparece. FORTRAN 77 y ADA hacen a este el que despeja
cuando una sintaxis del cierre distinta para cada tipo de grupos de las
declaraciones para los ejemplos, ADA usa un extremo si para terminar una
estructura de la seleccin y vuelta del extremo para una estructura de la
vuelta. Esto es y ejemplo de conflicto entre simplicidad que es el resultado de
los que se utilicen. Esto puede ser posible, segn lo observado por Hoare, para
utilizar caractersticas desconocidas accidentalmente, cuando los resultados
son extraos. Por lo tanto, un nmero pequeo de primitivas construcciones y
del conjunto de las reglas constante para combinarlas (esto es ortogonalidad)
es mucho mejor que simplemente teniendo una gran cantidad de nmeros
primitivos. Un programador puede disear una solucin para un problema
complejo despus de aprender solamente un conjunto simple de
construcciones primitivas. En la misma vena, demasiada ortogonalidad puede
ser detrimento de la fcil escritura. Los errores en programas de la escritura
pueden ir desapercibidos cuando casi cualquier combinacin de primitivos es
legal. Esto puede conducir a las absurdidades en el cdigo que puede no ser
descubierto por el compilador. Soporte para la abstraccin. Abreviadamente,
medios de la abstraccin, la capacidad de definir y despus de utilizar las
estructuras complicadas de operaciones de manera que muchos de los
detalles. La abstraccin es un concepto dominante en los lenguajes de
programacin contemporneos. Esta es reflexin del rol central que las
abstracciones juegan en la designacin de las metodologas de la
programacin moderna. El grado de la abstraccin que permite un lenguaje de
programacin y la naturaleza de sus expresiones es muy importante para su
codificacin. Un ejemplo simple de un proceso de abstraccin es el uso de un
subprograma en la implementacin de un algoritmo, que en ejecucin se
requiera varias veces en un programa. Saliendo del subprograma, el cdigo
tendra que ser replegado en todos los lugares donde sea necesario, que hara
el programa mucho ms largo y ms aburrido para la escritura. Ms
importante, si el subprograma no fue utilizado, el cdigo del subprograma
podra ser eliminado del algoritmo y as evitar, el entorpecimiento del flujo del
cdigo. Como ejemplo de la abstraccin de los datos, considere un rbol
binario que salve datos del nmero entero en sus nodos. Un rbol binario sera
puesto en ejecucin generalmente en FORTRAN 77 en tres matrices paralelas
del nmero entero, donde dos de los nmeros enteros se utilizan como
subndices para especificar nodos del descendiente. En PASCAL, estos rboles
pueden ser implementados usando una abstraccin de un nodo del rbol en la
forma de una unidad de registro simple con dos punteros y un nmero entero.
Lo natural de la ltima representacin hace mucho ms fcil escribir un
programa de PASCAL que utilice un rbol binario que para escribir uno en el
FORTRAN. El dominio de la solucin del problema del lenguaje est ms
cercano al dominio del problema. La ayuda total para la abstraccin es
claramente un factor importante en la codificacin del lenguaje. Expresividad.
La expresividad en un lenguaje puede referirse a varas caractersticas
diferentes. En un lenguaje como APL, sus operaciones existentes cuentan con
poderosos operadores que permiten un problema grande de computacin
pueda realizarse con un pequeo programa. Generalmente los medios que un
lenguaje tiene son relativamente cmodos antes que incmodas rutas de
especificacin computacional. Por ejemplo, en C, la expresin Contador++ es
ms cmoda y ms pequea que Contador = Contador + 1. Tambin el
operador boleano AND THEN de Ada es un camino cmodo para especificar la
muchos tipos son checados en Pascal, los rangos del algoritmo tambin son
checados. El chequeo es extremadamente importante para la confiabilidad del
programa, debido aquel rango de salida de algoritmo con frecuencia causa
errores que no aparecen hasta mucho despus de las violaciones actuales.
Manejo de Excepciones. La habilidad de un programa para detectar errores al
momento del corrido, as como otras condiciones inusuales, para tomar
medidas correctas y para continuar es una gran ayuda de confiabilidad. Esta
facilidad es llamada Manejo de excepcin; El lenguaje Ada incluye
capacidades extensas para manejo de excepcin, pero las facilidades son
prcticamente no existen en muchos lenguajes usados como Pascal, C, y
Fortran. Restriccin de Alias. De manera holgada el alias quiere decir que se
tienen dos mtodos de referencia distintos, o dos nombres, para la misma
celda de memoria. Ahora es muy aceptado que el alias represente un peligro
en un lenguaje de programacin, lo anterior, porque a la mayora de los
lenguajes de programacin se les permite hacer algunos tipos de alias, por
ejemplo: variables equivalentes en Fortran y punteros en Pascal. En ambos
casos, las dos variables de diferentes subprogramas pueden significar la misma
celda de memoria; algunos tipos de restricciones de alias pueden ser
prevenidos por la designa an del lenguaje. En algunos lenguajes, el alias es
usado para prevenir deficiencias en la facilidad de abstraccin de datos del
lenguaje. Otros lenguajes restringen extremadamente el alias para incrementar
su confiabilidad.
Costo. El costo total de los lenguajes de programacin es una funcin de
muchas de estas caractersticas. Los primeros costos de entrenamiento y el
costo de la escritura del programa en un lenguaje puede reducirse
significativamente en un buen ambiente de programacin. Entrenamiento del
programador. Esta es una funcin de la simplicidad y ortogonalidad del
lenguaje, esto aproxima en propsito a una aplicacin en particular, y a la
experiencia de los programadores. Aunque el ms poderoso de los lenguajes no
necesita ser duro para leer, y ellos frecuentemente lo son. Escritura del
programa. Esta es una funcin de la fcil escritura de los lenguajes. El esfuerzo
original para disear e implementar un lenguaje de alto nivel es manejado por
el deseo para bajar el costo de creacin de software. Compilacin. El tercero
es el costo de compilacin de los programas en el lenguaje. Un impedimento
principal para el uso adelantado de Ada fue la prohibicin de los altos costos de
ejecucin en la tercera generacin de los compiladores Ada. Este problema es
conveniente en compiladores menos seguros como el Ada llega a ser el ms
apropiada. Ejecucin. El cuarto es el costo de ejecucin de programas
escritos en un lenguaje es influenciado grandemente por el diseo del
lenguaje. Un lenguaje, tal como el PL1, que requiere mucho tiempo de
ejecucin para la verificacin de los tipos impide que el cdigo se ejecute
rpidamente, a pesar de la calidad del compilador. Mantenimiento.
Finalmente tenemos al costo de mantenimiento de programas, con la cual se
incluyen las correcciones y modificaciones para aadir nuevas caractersticas.
El costo de mantenimiento depende de un gran nmero de caractersticas del