Beruflich Dokumente
Kultur Dokumente
Y
c
Un factor importante en un lenguaje de programación es saber cuál lenguaje se
está usando. El lenguaje modela el proceso del pensamiento del programador, y la
calidad del lenguaje puede influir en el diseño de los programas realizados.
Una de las artes que aún están prevalecientes es el diseño de lenguajes de
programación. el diseño de estos lenguajes es extremadamente largo. Si bien los
lenguajes primitivos han existido desde hace unos 25 años y hasta hace poco
comenzaron a salir nuevos diseños de lenguajes de programación.
Los primeros lenguajes fueron pioneros, y su diseño era muy pobre, por decir los
diseñadores del FORTAN tuvieron suficientes problemas diseñando e
implementando uno de los primeros lenguajes de alto nivel, FORTAN apunta a los
usuarios quienes se han aferrado tan tenazmente a ciertas características
obsoletas del lenguaje y ciertos diseñadores de lenguajes quienes han perpetuado
entusiastamente los defectos de FORTRAN.
Después del inicio del desarrollo de los lenguajes de alto nivel y la implementación
de los primeros compiladores, sobrevino un periodo bastante largo en el que
intentos inteligentes fueron hechos para diseñar nuevos lenguajes sin los defectos
de los viejos.
Todas estas preguntas son necesarias para poder diseñar un lenguaje, pero
dentro de estas la más importante es la última que sería el propósito del lenguaje,
î
La inspiración para el diseño de un lenguaje de programación ha brotado de varias
fuentes en el pasado. Muchas de estas importantes fuentes serán discutidas en
ésta sección: lenguajes naturales, matemáticas, leguajes de programación
existentes, y propio uso y experimentos.
De forma general las construcciones derivadas del lenguaje natural son válidas
por obvias y legibles o sea hacen lo que dicen hacer, dejemos en claro que
programar no son matemáticas, generalmente los programadores y matemáticos
usan diferentes métodos y resuelven diferentes problemas porque tienen
diferentes objetivos.
Este punto nos menciona que es importante comunicarnos con la máquina, para
detectar algunos errores y demás cosas, la meta de la programación es la
comunicación con los humanos.
Además puede ser que una instrucción sea ambigua para un humano pero no
para un compilador. Un buen ejemplo de esto es la expresión ³a/b/c´. En general,
Es importante que un lenguaje sea fácil de utilizar ciertos aspectos merecen una
mención específica, la más importante es legibilidad, e deseable que los
constructores del lenguaje sean fácil de leer y recordar para que una vez que el
programador esté familiarizado con el lenguaje no tengan que consultar manuales,
hay algunos lenguajes que son adorados por su flexibilidad , de lo contrario la inútil
flexibilidad puede ser un problema, por ejemplo ALGOL 60 que el compilador tiene
que lidiar con variables que tienen el mismo nombre y por lo tanto emergen
errores.
Un lenguaje debe de ser compatible, o sea que debe de ser tan simple como sea
posible para compilar sin ninguna reducción en su efectividad comunicativa y su
utilidad. Además de los problemas de compilación, algunas ideas deben ser
otorgadas a las ayudas al eliminar errores, herramientas de medida y otras ayudas
para probar el programa. Estas facilidades son importantes para los usuarios de
un lenguaje si los programas son verificados apropiadamente. La compatibilidad
de un lenguaje no es enteramente apreciada sino hasta la parte de la
Y { { !" #
c
c
Y
Aunque una de las esperanzas originales de los lenguajes de algo nivel era que
serían independientes de la máquina, esta esperanza no ha sido totalmente
realizada. La mayoría de los lenguajes actuales siguen siendo fuertemente
dependientes de máquina, y la transportabalidad de programas sufre como
consecuencia.
!
1. Complican el lenguaje.
2. Conducen a la implementación de las diferencias, desde que algunas
personas las implementaron fielmente y otras ³mejorarán´ el obviamente
mal diseño eliminándolas.
3. tienden a ser ³endurecidos´ y no pueden ser removidos incluso después
de haber sobrevivido su utilidad, a partir de esto invalidaría las
implementaciones existentes.
"
# $ $
c c
La selección se organiza en base de los varios tipos de estructuras los objetos
expuestos de los programas, y el énfasis se pone en cómo las estructuras son
adiós influenciado el lenguaje de programación funcionando. En este contexto las
implicaciones para el diseño de la lengua se discuten. Las estructuras se piden
esencialmente en una secuencia Final-Inicio(Bottom-Up), trabajando del nivel más
bajo a del más alto nivel.
Y { { !" #
c
c
Y
Otro aspecto en la declaración de constantes es que es útil para poder escribir una
constante por cualquier otro tipo de datos en el programa. Por ejemplo, debe ser
posible escribir un arreglo constante. Tales constantes deben de eliminar en gran
parte la necesidad de inicializar los arreglos ya que la mayoría de los arreglos son
realmente arreglos constantes, y evitarle al programador destruir accidentalmente
el contenido de una constante.
Tenga en cuenta que esta sintaxis es realmente apropiada sólo cuando toda la
información es sobre, por ejemplo, matriz límites se localiza en el tipo de
especificación. La facilidad de lectura de esta forma disminuye rápidamente si la
lista de nombres de variables se complica con otras cosas como la inicialización.
A habido una gran controversia con respecto a la mejor opción para las primitivas
estructuras de control. Muchas de las discusiones se centran alrededor de la
inclusión o exclusión del GOTO. Es casi universalmente aceptado que es mejor
usar estructuras de control de alto nivel en lugar que el restringido GOTO. Es
igualmente ampliamente aceptado que un apropiado set de construcción de alto
nivel que eliminara a alas dos la necesidad de y el deseo por el GOTO. En lo que
no se está muy de acuerdo es en lo que se debe de comprender en dicho set.
Imprimirá:
El valor de x es 4:
El valor de st es string
c ")c*++,"
Aunque "el mantenimiento de los pequeños que" es importante en todo el diseño
de un idioma, es útil prestar atención especial a la reducción de tamaño una vez
que el diseño se ha solidificado.
+#-* +
Esta sección se refiere a determinados aspectos de la práctica de la programación
en idioma diseño. En particular, se discute una serie de herramientas que se
pueden utilizar para especificar un idioma, el problema de la evaluación de un
lenguaje de diseño, el lenguaje y la aplicación consideración.
Es posible describir una lengua de arriba hacia abajo (empezar con "el programa")
o de abajo hacia arriba (empezar con "número", "identificador", etc.) Para los
idiomas de tamaño razonable, hay poco para elegir entre ellos. El enfoque de
arriba hacia abajo es tal vez un poco más clara para situaciones en las que hay
poco de anidación de las definiciones (por ejemplo, la descripción de la
"declaración")