2.2 Consideraciones preliminares
• 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 enseñanza, si es un lenguaje para profesionales, si el código desarrollado va a ser mejor.
EFICIENCIA DE LOS LENGUAJES DE PROGRAMACION
Compilación rápida del código fuente y ejecución rápida del código 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 reutilización. En términos 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 reputación de ser ineficaces. Esto
La portabilidad: facilidad para ser ejecutados en distintos entornos lógicos o físicos .
La verificabilidad: capacidad para soportar procedimientos de pruebas, test o ensayos.
La integridad: nivel de protección frente a procesos que traten de alterarlo.
La facilidad de uso: comodidad y claridad en la interacción con el usuario.
La exactitud: nivel de precisión 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 conjunción con otros programas.
La reutilización: posibilidad de utilizarlos (total o parcialmente) en nuevos contextos.
INDEPENDENCIA DE LA MÁQUINA
Independencia de la máquina: 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 máquina en la que se ejecutan (o al menos deberían serlo), el acceso a los dispositivos físicos se hace a través 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 gráfica o de impresora, la aplicación funcionará con todas, y será el sistema operativo el que se encargue de que así sea.
A la hora de explotar un gran número de bases de datos de diferentes editores nos encontramos ante un doble problema. Por una parte, la citada falta de homogeneidad de los sistemas informáticos 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 deberán conocer los usuarios. Dichos programas están en su mayor parte diseñados 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 máquinas diferentes a una serie de programas en muchos casos incompatibles con ellas.
Los servidores de aplicaciones son la base de programas informáticos diseñados para ser ejecutados desde ordenadores personales a través de Navegadores de Internet convencionales.
Con ello se consigue independencia de la máquina (los programas funcionan en cualquier ordenador), independencia de ubicación (es posible utilizar los programas desde cualquier lugar) y una administración 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 número mínimo de conceptos con reglas simples para su combinación. Un lenguaje de programación debe esforzarse en la simplicidad sintáctica y semántica. Simplicidad en la semántica implica que el lenguaje contiene un mínimo número de conceptos y estructuras. Estos conceptos deben ser naturales, rápidamente aprendidos, y fácilmente entendidos. with little danger of misinterpretation.
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 codificación en programación. 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 número mínimo de conceptos diferentes, con las reglas de su combinación lo más simples y regulares posibles. Esta claridad semántica y de conceptos es el factor determinante del valor de un lenguaje.
La simplicidad sintáctica requiere que la sintaxis represente cada concepto en una y una única forma y que ésta interpretación es tan legible como sea posible. Esto no necesariamente implica que la sintaxis es tan concisa como sea posible, desde que la concisión es a menudo contraproducente a la legibilidad. Excluye múltiples representaciones de la misma semántica conceptual y representaciones sintácticas que son fácilmente confusas.
UNIFORMIDAD
Ya que la representación de los objetos lleva implica tanto el análisis como el diseño y la codificación de los mismos.
La estructura lógica de la BD definida mediante el LDD debe ser uniforme y acorde al modelo de datos del SGBD, para facilitar la manipulación de esta estructura. En el caso específico del LDD, el lenguaje del SGBD debe ser capaz de definir la estructura lógica de la BD, sin entrar en detalles de implementación ni mecanismos en que se accede a los datos de la BD.
La forma idónea 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 cómo 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 operación a realizar, de acuerdo siempre con el modelo de datos utilizado por el SGBD.
Generalización y especialización
– – La generalización dice que algo similar también es correcto, pero es difícil de implementar.
– – Hay que especializar para facilitar la implementación sin perder la utilidad del lenguaje.
Resumen:
Para el diseño de lenguajes de Programación se debe considerar varios aspectos, entre ellos las tareas que se desean realizar y los datos a manejar. Generalmente diseñamos un lenguaje porque necesitamos comunicarnos con algo de manera fácil y rápida, por ejemplo un archivo, un hardware, una base de dato; ependiendo de la tarea que se quiera realizar entonces diseñamos.
Una forma de como hacerla y como podemos relacionarlo con otras tareas para permitir que esa relación pueda ser automatizada. Además de las tareas que se van a realizar tambien se debe pensar en los tipos de datos que se van a manejar, por ejemplo números, 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 estarán enfocados.
Competencias Digitales (Tic’s Basicas) a practicar con este TEMA:
- Usar (click en )www.Google.com para buscar y localizar UN material academico apropiado y que se pueda recomendar para el tema, ver VIDEO BUSQUEDAS abajo en esta pagina.
- En el post ( o tema ) apropiado en el Libro de Blogger, pegar el material localizado y que se recomienda para este tema, ver VIDEO BLOGGER abajo en esta pagina.
pd: Recordar incluir la fuente del tema usando el formato de citacion apropiado, ver VIDEO WIKIPEDIA abajo en esta pagina.
- En el editor de Blogger usar colores para destacar los parrafos mas importantes y usar subrayados para las citas mas relevantes.
- En el post ( o tema ) apropiado en el libro en Blogger, para incluir ecuaciones o notacion matematica se debera usar el icono del editor de Blogger IMAGE y construir esta notacion matematica con imagenes Latex, ver VIDEO LATEX ABAJO.
- Construir al final y despues de la fuente del material, un breve resumen ( no mas de 2–3 parrafos) explicando palabras propias el contenido del tema.
pd: Se pueden usar alguna de las citas que encontradas dentro del tema, solo recordar encerrarla entre comillas.
pd: Se pueden usar tambien cambios en fonts para darle mas visibilidad, consistencia y relevancia al resumen del tema.
- PUNTOS EXTRAS Si se usa una segunda fuente valiosa de informacion y recordar encadenar los dos materiales mediante uno o dos parrafos apropiados.
- Enviar a el maestro o compañeros un correo electronico que incluya la liga a el tema en blogger para revision, recomendacion, sugerencias y evaluacion, ver VIDEO LIGAS GMAIL abajo.
- Sacar una cuenta (click en)http://docs.google.com, usando el correo de Gmail y tratar de conseguir el mismo usuario que se construyo en Gmail y Blogger ver VIDEO GOOGLE DOCS abajo en esta pagina.
pd: Si ya se tiene una cuenta ignorar esta competencia digital.
pd: Google Docs es el equivalente a OFFICE pero con la caracteristica que todos sus componentes ( procesador de palabras, presentacion electronica y hoja de calculo) estan completamente en internet, es decir todos los archivos o material estaran en linea, seguros y siempre disponibles, ademas de que se pueden trabajarlos desde cualquier pc, ya sea la personal, la del laboratorio de la escuela o la de un lugar publico como la biblioteca o un cafe internet.
- Construir una Presentacion Electronica ( usando muy pocos slides) del tema en GOOGLE DOCS e incrustrarla en el tema de bloger ver VIDEO GOOGLE DOCS en esta pagina abajo.
pd: Recordar que una presentacion electronica, es solamente un resumen muy condensado del tema ( o mapa o guia mental ), que ayuda a recordar los elementos y conceptos mas basicos del tema, cuando se estan exponiendo frente a un grupo.
pd: No olvidar incluir un primer slide con el titulo de la presentacion electronica, un segundo slide con un indice de la presentacion electronica y un ultimo slide con dos o tres parrafos de conclusiones y bibliografia.
- Buscar en Google Imagenes o www.Flickr.com o www.PhotoBucket.com una galeria de fotos o de imagenes apropiadas al tema actual,
- Para los casos de Photobucket y Flicker, ambos sitios proporcionan ligas a sus imagenes y tambien objetos (los recuerdan??), que se pueden incluir en el tema del libro apropiado en Blogger.
pd: para estos sitios deberan obtener una cuenta usando el correo de gmail y de preferencia obtener el mismo usario que se ha venido manejando a lo largo del curso.
pd: Tratar de usar resoluciones y tamaños de imagenes chicos o medianos, recordar que todo este material termina en el post del tema en Blogger y esa pagina no tiene mucho espacio para desplegar fotos o imagenes.
pd: El formato apropiado para fotos o imagenes es JPG, tratar de no usar otros formatos.
pd: Se puede construir y conseguir esta coleccion o galeria de imagenes con:
1) Usando Google Imagenes, recordar conseguir solo imagenes que tengan permiso de publicacion abierto, no usar imagenes o fotos que tengan derechos reservados.
pd: Estas fotos almacenarlas en un folder en el desktop o escritorio de su computadora y subirlas a el post en blogger usando el icono IMAGE del editor de Blogger.
2) Flickr y Photo Bucket tambien tienen una gran cantidad de imagenes que se pueden usar o mejor dicho enlazar a el tema o post en Blogger.
3) Tambien se puede usar la camaras digitales o las camaras de sus telefonos celulares.
4) Tambien se puede usar el programa o aplicacion llamado Srip32.exe( solo buscar srip32 en google) bajarlo e instalarlo, este programa permite capturar una pantalla de la pc, es decir si se encuentra un sitio con imagenes o incluso texto apropiado o relevante al tema, capturar la pantalla con srip32 y ya se tendra la imagen, ver VIDEO Srip32 abajo.
- Incluir al menos una imagen de cada uno de los dos sitios (flickr y Photobucket) en el tema o post que se esta construyendo en Blogger.
- PUNTOS EXTRAS Si se incluyen una galeria completa de imagenes apropiadas desde cualquiera de estos sitios de FLICKR o Photobucket.
- Sacar una cuenta (click en)www.DivShare.com, usando el correo de Gmail y tratar de conseguir el mismo usuario que se consiguio en Gmail y Blogger y Flickr ver VIDEO DIVSHARE abajo en esta pagina.
pd: Si ya se tiene una cuenta ignorar esta competencia digital.
pd: Usar Divshare para almacenar material en audio (MP3) apropiado a el tema ( no usarlo para almacenar material comercial o les suspenden la cuenta)
pd: El material en Audio, con formato MP3 se debera producir usando un microfono en la pc y programas de aplicacion apropiados, llamados editores de audio, un ejemplo de ellos es el SOUND RECORDER que ya viene en Windows, pero se recomienda usar mejor AUDACITY ( solo buscar en google AUDACITY) bajarlo e instalarlo, ver VIDEO AUDACITY abajo.
- Crear al menos dos archivos de audio mp3:
1) El primero de ellos sera la lectura completa de este tema en voz apropiada. ( o aprender a editar con audacity la voz)
2) El segundo de ellos sera un resumen del tema. ( buena voz o editarla con audacity)
3) Ambos archivos subirlos a Div Share (recordor que tienen que ser MP3) y el reproductor que proporciona gratis Div Share, ver VIDEO DIVSHARE abajo e insertarlo en el lugar apropiado del tema que se esta construyendo en Blogger.
4) Ejemplo del reproductor incrustado en una pagina:
- Sacar una cuenta (click en)www.YouTube.com, usando el correo de Gmail y tratar de conseguir el mismo usuario que se consiguio en Gmail y Blogger y Flickr.
pd: Si ya se tiene una cuenta ignorar esta competencia digital.
- Para producir video se pueden usar tres fuentes:
1) Localizar Videos apropiados en Youtube.
2) Usar nuestras camaras digitales o nuestros telefonos celulares para producir video.
3) Producir un video de la propia pantalla de la computadora ( muy similar a lo que se hizo con Srip32) pero usando un programa especializado en video, tal como CAMSTUDIO (click en www.CamStudio.org) bajar e instalar ( no olvidar bajar e instalar el CODEC que esta abajo en el mismo sitio.
3.1) para Usar Camstudio solo recordar que es muy similar a Srip32 Solo que el resultado final es un archivo de video AVI.
- Producir un video de resumen del tema (usar camstudio con el fondo de la pagina con el tema e irlo comentando en voz apropiada)
- Producir un video en vivo con la exposicion del tema ( pueden usar la presentacion electronica de fondo o cualquier otro material, pizarron, filminas, rotafolios, etc.)
- Subir los videos a su cuenta en Youtube e incluirlos o ligarlos en la pagina en Blogger, tambien los pueden subir directamente a BLOGGER ver VIDEO BLOGGER VIDEO abajo.
Saludos y suerte prof Lauro Soto, Ensenada, BC, Mexico.