UNIVERSIDAD DE PANAMÁ CENTRO REGIONAL UNIVERSITARIO DE VERAGUAS FACULTAD DE INFORMÁTICA, ELECTRÓNICA Y COMUNICACIÓN LICENCIATURA EN INGENIERÍA EN INFORMÁTICA ESTRUCTURA DE LOS LENGUAJES DE PROGRAMACIÓN LABORATORIO Nº 2 “Los siete pecados capitales de la introducción al diseño de los lenguajes de programación” Prof. Diego Santimateo Estudiante:
Cédula:
Karem Dayana Flores Batista................................................................9-715-2226
1. Proceda a leer con mucho detenimiento y concentración el artículo que presentamos en la referencia. Tome apuntes, consulte y proceda a hacer su propio análisis de la lectura (No más de cuatro párrafos). (10 ptos). R. / Los lenguajes de programación son un vehículo de comunicación entre los humanos y las computadoras. Es por eso que las características de un lenguaje tienen un impacto importante sobre el éxito de su desarrollo. Tal vez, el iniciarse en un determinado lenguaje trae consigo dificultades que directamente afecten su calidad y eficiencia en su diseño. Particularmente como programadores y desarrolladores de sistemas debemos a menudo ajustar nuestro enfoque ante un lenguaje de programación en aspectos que de alguna manera afecten su diseño entre ellos podemos mencionar la facilidad de uso, la simplicidad de aprendizaje, la mejora en fiabilidad, la reducción de la frecuencia de error y el aumento de satisfacción del usuario. Si no tomamos en cuenta estos aspectos, caeremos en alguno de los 7 pecados capitales de la programación y nuestro código resultará confuso, menos legible y su diseño será más problemático. Nuestra capacidad de
aprender un nuevo lenguaje de programación o de desarrollar técnicas con experiencias de un lenguaje ya conocido. Garantizarán la conexión entre la calidad del código y nuestra satisfacción en el diseño. 2. Ejemplifique utilizando algún lenguaje de programación, tres de los siete pecados capitales, solo un ejemplo en cada caso. Puede usar varios lenguajes. En cada caso proponga y explique una alternativa para eliminarlos. (10 ptos) R. / • Menos es Más: Oz es un lenguaje de programación multiparadigma, pues reúne los principales conceptos de los paradigmas de programación son estos: lógico, funcional, orientado a objetos; entre otros. Combinándolos en un solo lenguaje. Problema El carecer de ciertos conocimientos y cierta experiencia al escribir un código en Oz sin tener claro sus conceptos básicos, puede resultar muy tedioso, ya que el querer utilizar abstracciones en su codificación el que sea entendible y por tanto útil, resulta a un programador principiante complicado. Alternativa Primero pienso que antes de abordar a la utilización de este lenguaje, se debe tener claro uno o varios paradigmas de programación, pues sin estos conocimientos previos, el atacarlo puede resultar un aprendizaje ineficiente, pues debemos desarrollar técnicas que hagan que el programador se preocupe por intentarlo. •
Más es Más : El saber utilizar el Lenguaje C++, ya es un logro, que uno como estudiante puede obtener.
Simplemente porque posee características que sobresalen entre los demás, su implementación es un trampolín muy poderoso, pues es como una introducción en algunos aspectos a Java. C++ nos ofrece el poder extraer conceptos y ponerlos a nivel superior, la herencia, la sobrecarga de operadores en más de un a función o el colocar tantos procedimientos como se quiera en uno sólo. Pero tales características tan sobresalientes puede ser conflictivo enseñarlas directamente, pues el principiante puede no poseer la habilidad que se requiere a la hora de codificar en este lenguaje de programación. Ejemplo: Point A,B,C; Class point { . . . public dibujar(); borrar(); } En este fragmento de código, el principiante no sabe aún que cada una de las instancias hereda lo que se ha establecido, o que el objeto sólo puede hacer lo que está definido. Que el estar orientado a objetos, los objetos se pueden comunicar uno con otros, sin conocerse, tal como en el mundo real. Alternativa Antes de conocer sobre un lenguaje tan poderoso como C++, debemos pensar antes como se resolverá determinado
problema, haciendo que el computador se adapte al problema y no que el problema se adapte al computador. Ya que estamos entrando a un nivel de programación más alto. De tal manera que, la resolución
del problema estará basada más bien en
entidades y las mismas estarán representadas por objetos. •
Trampas Gramaticales: Hay conceptos de programación, que en muchos casos pueden llegar a ser sinónimos y esta similitud trae consigo efectos que de alguna manera el estudiante, asocia para lograr su equivalente, pero que algunas veces no resulta, porque entonces utiliza suposiciones en su código que reducen su claridad. Problema En el siguiente ejemplo trataremos la construcción de un comentario Prolog (se escriben comenzando la línea con un símbolo de “%”) % Hola, esto es un comentario Python (Comienzan con “#”, llega hasta el final de la línea) # Hola, esto es un comentario C (Pueden aparecer en cualquier parte del programa, mientras estén situadas entre los delimitadores”/* */”) /* Hola, esto es un comentario*/ Lo que nos
lleva a concluir, que evaluándolos todos son
comentarios, pero no se escriben igual, sin embargo en el Caso de C y es muy similar a C++. Usados incorrectamente pueden hacer confuso y menos legible el código. De tal manera que escrito debidamente puede ahorrarnos el leer código. El querer reutilizar código sin conocer con anterioridad el lenguaje de programación, que se quiere implementar no nos favorece. Debemos esforzarnos en aprender y así conseguir evitar errores que hagan que podamos diferenciar lenguajes.