Está en la página 1de 4

2.

2 Consideraciones preliminares en el diseo de lenguajes de programacin


Debemos tomar en cuenta las palabras reservadas del lenguaje, los operadores, los tipos de datos. Debemos considerar el objetivo del lenguaje, si es un lenguaje de enseanza, si es un lenguaje para profesionales, si el cdigo desarrollado va a ser mejor. EFICIENCIA DE LOS LENGUAJES DE PROGRAMACION Compilacin rpida del cdigo fuente y ejecucin rpida del cdigo objeto. Los factores fundamentales en la calidad del software son: la eficiencia, la portabilidad, la verificabilidad, la integridad, la facilidad de uso, la exactitud, la robustez, la extensibilidad, la compatibilidad y la reutilizacin. En trminos generales, estos factores pueden describirse de la siguiente forma: La eficiencia: capacidad para el aprovechamiento ptimo de los recursos que emplea. Los lenguajes OOP arrastraron en un principio la reputacin de ser ineficaces. Esto se deba en gran medida a que los primeros lenguajes (como Smalltalk) eran interpretados y no compilados. La existencia de compiladores permite a los desarrolladores ganar rapidez. Actualmente, usando un buen lenguaje orientado a objetos como C++, Java, etc. Junto con las libreras apropiadas para la realizacin de un programa, puede que se ejecute ms rpidamente que el mismo programa compilado con un lenguaje procedural La portabilidad: facilidad para ser ejecutados en distintos entornos lgicos o fsicos. La verificabilidad: capacidad para soportar procedimientos de pruebas, test o ensayos. La integridad: nivel de proteccin frente a procesos que traten de alterarlo. La facilidad de uso: comodidad y claridad en la interaccin con el usuario. La exactitud: nivel de precisin que alcanzan los resultados obtenidos. La robustez: capacidad para funcionar correctamente en situaciones extremas. La extensibilidad: capacidad para adaptar su funcionamiento al incremento en sus objetivos. La compatibilidad: facilidad de poder ser aplicados en conjuncin con otros programas.

La reutilizacin: posibilidad de utilizarlos (total o parcialmente) en nuevos contextos. INDEPENDENCIA DE LA MQUINA Independencia de la mquina: Puesto que diferentes usuarios utilizan diferentes ordenadores, el sistema debe ser accesible por todos ellos sin merma de prestaciones, especialmente por las plataformas mayoritarias: Windows, MacOS? y Unix. Los programas Windows son independientes de la mquina en la que se ejecutan (o al menos deberan serlo), el acceso a los dispositivos fsicos se hace a travs de interfaces, y nunca se accede directamente a ellos. Esta es una de las principales ventajas para el programador, ya que no hay que preocuparse por el modelo de tarjeta grfica o de impresora, la aplicacin funcionar con todas, y ser el sistema operativo el que se encargue de que as sea. A la hora de explotar un gran nmero de bases de datos de diferentes editores nos encontramos ante un doble problema. Por una parte, la citada falta de homogeneidad de los sistemas informticos de los usuarios; por otra parte, cada una de las bases de datos suele tener su propio programa de consulta, de modo que nos encontramos multitud de programas diferentes que debern conocer los usuarios. Dichos programas estn en su mayor parte diseados para ordenadores tipo PC con sistema operativo Windows. Teniendo en cuenta todo lo anterior, podemos ver que el sistema ha de permitir acceder a multitud de mquinas diferentes a una serie de programas en muchos casos incompatibles con ellas. Los servidores de aplicaciones son la base de programas informticos diseados para ser ejecutados desde ordenadores personales a travs de Navegadores de Internet convencionales. Con ello se consigue independencia de la mquina (los programas funcionan en cualquier ordenador), independencia de ubicacin (es posible utilizar los programas desde cualquier lugar) y una administracin ligera y centralizada (mantenimiento cero de los programas de los ordenadores de los usuarios al residir stos en el servidor). SIMPLICIDAD Un lenguaje debe ser tan simple como sea posible. Debe haber un nmero mnimo de conceptos con reglas simples para su combinacin. Un lenguaje de programacin debe esforzarse en la simplicidad sintctica y semntica. Simplicidad en la semntica implica que el lenguaje contiene un mnimo nmero de conceptos y estructuras. Estos conceptos deben ser naturales, rpidamente aprendidos, y fcilmente entendidos. La simplicidad requiere que un idioma incorpore tan pocos conceptos como sean posibles. El lenguaje debe ser una ayuda para el programador antes de

que alcance el estado real de codificacin en programacin. Debe darle un conjunto de conceptos claro, simple y unificado para que pueda usarlos como primarios en el desarrollo de lenguajes. Para ello es deseable tener un nmero mnimo de conceptos diferentes, con las reglas de su combinacin lo ms simples y regulares posibles. Esta claridad semntica y de conceptos es el factor determinante del valor de un lenguaje. La simplicidad sintctica requiere que la sintaxis represente cada concepto en una y una nica forma y que sta interpretacin es tan legible como sea posible. Esto no necesariamente implica que la sintaxis es tan concisa como sea posible, desde que la concisin es a menudo contraproducente a la legibilidad. Excluye mltiples representaciones de la misma semntica conceptual y representaciones sintcticas que son fcilmente confusas. UNIFORMIDAD La representacin de los objetos lleva implicado tanto el anlisis como el diseo y la codificacin de los mismos. La estructura lgica de la BD definida mediante el LDD debe ser uniforme y acorde al modelo de datos del SGBD, para facilitar la manipulacin de esta estructura. En el caso especfico del LDD, el lenguaje del SGBD debe ser capaz de definir la estructura lgica de la BD, sin entrar en detalles de implementacin ni mecanismos en que se accede a los datos de la BD. La forma idnea de realizar lo anterior es mediante un lenguaje declarativo, el cual permite declarar la estructura del modelo de acuerdo al modelo de datos que utiliza el SGBD. Para el caso del LMD, el lenguaje del SGBD debe incluir formas de especificar qu se desea hacer con los datos (insertar, recuperar, modificar o borrar datos), sin entrar en detalles acerca de cmo se realizan estas operaciones. Igual que en el caso anterior, la mejor manera de realizar esto es mediante un lenguaje declarativo que permita especificar la estructura de la operacin a realizar, de acuerdo siempre con el modelo de datos utilizado por el SGBD. Generalizacin y especializacin La generalizacin dice que algo similar tambin es correcto, pero es difcil de implementar. Hay que especializar para facilitar la implementacin sin perder la utilidad del lenguaje.

Resumen: Para el diseo de lenguajes de Programacin se debe considerar varios aspectos, entre ellos las tareas que se desean realizar y los datos a manejar. Generalmente diseamos un lenguaje porque necesitamos comunicarnos con algo de manera fcil y rpida, por ejemplo un archivo, un hardware, una base de dato; ependiendo de la tarea que se quiera realizar entonces diseamos. Una forma de como hacerla y como podemos relacionarlo con otras tareas para permitir que esa relacin pueda ser automatizada. Adems de las tareas que se van a realizar tambien se debe pensar en los tipos de datos que se van a manejar, por ejemplo nmeros, cadenas, ya que si se van a realizar operaciones, hay que pensar en que espacio de memoria se van a almacenar. Otras cosas a considerar son como se va a manejar la memoria, y a que tipo de computadoras estarn enfocados. A que se refiere la independencia de la mquina con respecto a un lenguaje de programacin? Se refiere a que los programas funcionen en cualquier ordenador, independencia de ubicacin es posible utilizar los programas desde cualquier lugar y una administracin ligera y centralizada mantenimiento cero de los programas de los ordenadores de los usuarios al residir stos en el servidor. Cules son los puntos a tomar en cuenta en el diseo de los lenguajes de programacin? Debemos tomar en cuenta las palabras reservadas del lenguaje, los operadores, los tipos de datos. Debemos considerar el objetivo del lenguaje, si es un lenguaje de enseanza, si es un lenguaje para profesionales, si el cdigo desarrollado va a ser mejor. A que se refiere la eficiencia en los lenguajes de programacin? Capacidad para el aprovechamiento ptimo de los recursos que emplea. Qu caracterstica es la que da el verdadero valor a un lenguaje de programacin? La simplicidad A que se refiere la Uniformidad en los lenguajes de programacin? Caractersticas parecidas deberan tener apariencias parecidas. Caractersticas distintas no deberan tener la misma apariencia.