En la ciencia de la programacin, el azcar sintctico o la sintaxis dulce es la sintaxis de un lenguaje de programacin que est diseada para hacer las cosas ms fciles de leer o expresar. Hace el lenguaje ms dulce para el uso humano: las cosas pueden ser expresadas de forma sencilla, ms concisa, o con un estilo que algunas/os pueden preferir. Por ejemplo, en los lenguajes de programacin imperativos los bucles for se pueden sustituir por bucles while, y stos a su vez por GOTOs. Ejemplo de Azcar sintctico en C++. i += 2; es equivalente que escribir i = i + 2;
2.- Que es una web semntica? :
La Web Semntica es una Web extendida, dotada de mayor significado en la que cualquier usuario en Internet podr encontrar respuestas a sus preguntas de forma ms rpida y sencilla gracias a una informacin mejor definida. Al dotar a la Web de ms significado y, por lo tanto, de ms semntica, se pueden obtener soluciones a problemas habituales en la bsqueda de informacin gracias a la utilizacin de una infraestructura comn, mediante la cual, es posible compartir, procesar y transferir informacin de forma sencilla. Esta Web extendida y basada en el significado, se apoya en lenguajes universales que resuelven los problemas ocasionados por una Web carente de semntica en la que, en ocasiones, el acceso a la informacin se convierte en una tarea difcil y frustrante. Supongamos que la Web tiene la capacidad de construir una base de conocimiento sobre las preferencias de los usuarios y que, a travs de una combinacin entre su capacidad de conocimiento y la informacin disponible en Internet, sea capaz de atender de forma exacta las demandas de informacin por parte de los usuarios en relacin, por ejemplo, a reserva de hoteles, vuelos, mdicos, libros, etc. Si esto ocurriese as en la vida real, el usuario, en su intento, por ejemplo, por encontrar todos los vuelos a Praga para maana por la maana, obtendra unos
INSTITUTO TECNOLOGICO DE CELAYA
JOEL FRANCO GUTIERREZ
11030352
resultados exactos sobre su bsqueda. Sin embargo la realidad es otra. La figura
1 muestra los resultados inexactos que se obtendran con el uso de cualquier buscador actual, el cual ofrecera informacin variada sobre Praga pero que no tiene nada que ver con lo que realmente el usuario buscaba. El paso siguiente por parte del usuario es realizar una bsqueda manual entre esas opciones que aparecen, con la consiguiente dificultad y prdida de tiempo. Con la incorporacin de semntica a la Web los resultados de la bsqueda seran exactos. La figura 2 muestra los resultados obtenidos a travs de un buscador semntico. Estos resultados ofrecen al usuario la informacin exacta que estaba buscando. La ubicacin geogrfica desde la que el usuario enva su pregunta es detectada de forma automtica sin necesidad de especificar el punto de partida, elementos de la oracin como "maana" adquiriran significado, convirtindose en un da concreto calculado en funcin de un "hoy". Algo semejante ocurrira con el segundo "maana", que sera interpretado como un momento determinado del da. Todo ello a travs de una Web en la que los datos pasan a ser informacin llena de significado. El resultado final sera la obtencin de forma rpida y sencilla de todos los vuelos a Praga para maana por la maana.
INSTITUTO TECNOLOGICO DE CELAYA
JOEL FRANCO GUTIERREZ
11030352
La forma en la que se procesar esta informacin no slo ser en trminos de
entrada y salida de parmetros sino en trminos de su SEMNTICA. La Web Semntica como infraestructura basada en metadatos aporta un camino para razonar en la Web, extendiendo as sus capacidades. No se trata de una inteligencia artificial mgica que permita a las mquinas entender las palabras de los usuarios, es slo la habilidad de una mquina para resolver problemas bien definidos, a travs de operaciones bien definidas que se llevarn a cabo sobre datos existentes bien definidos. Para obtener esa adecuada definicin de los datos, la Web Semntica utiliza esencialmente RDF, SPARQL, y OWL, mecanismos que ayudan a convertir la Web en una infraestructura global en la que es posible compartir, y reutilizar datos y documentos entre diferentes tipos de usuarios.
RDF proporciona informacin descriptiva simple sobre los recursos que se
encuentran en la Web y que se utiliza, por ejemplo, en catlogos de libros, directorios, colecciones personales de msica, fotos, eventos, etc.
SPARQL es lenguaje de consulta sobre RDF, que permite hacer bsquedas
sobre los recursos de la Web Semntica utilizando distintas fuentes datos.
OWL es un mecanismo para desarrollar temas o vocabularios especficos en
los que asociar esos recursos. Lo que hace OWL es proporcionar un lenguaje para definir ontologas estructuradas que pueden ser utilizadas a
INSTITUTO TECNOLOGICO DE CELAYA
JOEL FRANCO GUTIERREZ
11030352
travs de diferentes sistemas. Las ontologas, que se encargan de definir los
trminos utilizados para describir y representar un rea de conocimiento, son utilizadas por los usuarios, las bases de datos y las aplicaciones que necesitan compartir informacin especfica, es decir, en un campo determinado como puede ser el de las finanzas, medicina, deporte, etc. Las ontologas incluyen definiciones de conceptos bsicos en un campo determinado y la relacin entre ellos. Otra tecnologa que ofrece la Web Semntica para enriquecer los contenidos de la Web tradicional es RDFa. Mediante RDFa se pueden representar los datos estructurados visibles en las pginas Web (eventos en calendarios, informacin de contacto personal, informacin sobre derechos de autor, etc.), a travs de unas anotaciones semnticas includas en el cdigo e invisibles para el usuario, lo que permitir a las aplicaciones interpretar esta informacin y utilizarla de forma eficaz. Por ejemplo, una aplicacin de calendario podra importar directamente los eventos que encuentra al navegar por cierta pgina Web, o se podran especificar los datos del autor de cualquier foto publicada, as como la licencia de cualquier documento que se encuentre. Para extraer el RDF se podra utilizar GRDDL, una tcnica estndar para extraer la informacin expresada en RDF desde documentos XML, y en particular, de las pginas XHTML.
3.- Que es un frame? :
La palabra inglesa "framework" (infraestructura, armazn, marco)1 define, en trminos generales, un conjunto estandarizado de conceptos, prcticas y criterios para enfocar un tipo de problemtica particular que sirve como referencia, para enfrentar y resolver nuevos problemas de ndole similar. En el desarrollo de software, un framework o infraestructura digital, es una estructura conceptual y tecnolgica de soporte definido, normalmente con artefactos o mdulos concretos de software, que puede servir de base para la organizacin y desarrollo de software.
Tpicamente,
puede
incluir
soporte
de programas, bibliotecas,
INSTITUTO TECNOLOGICO DE CELAYA
JOEL FRANCO GUTIERREZ
11030352
un lenguaje interpretado, entre otras herramientas, para as ayudar a desarrollar y unir
los diferentes componentes de un proyecto. Representa una arquitectura de software que modela las relaciones generales de las entidades de dominio, y provee una estructura y una especial metodologa de trabajo, la cual extiende o utiliza las aplicaciones del dominio. Los frameworks tienen como objetivo principal ofrecer una funcionalidad definida, auto contenido, siendo construidos usando patrones de diseo, y su caracterstica principal es su alta cohesin y bajo acoplamiento. Para acceder a esa funcionalidad, se construyen piezas, objetos, llamados objetos calientes, que vinculan las necesidades del sistema con la funcionalidad que este presta. Esta funcionalidad, est constituida por objetos llamados fros, que sufren poco o ningn cambio en la vida del framework, permitiendo la portabilidad entre distintos sistemas. Frameworks conocidos que se pueden mencionar por ejemplo son Spring Framework, Hibernate, donde lo esencial para ser denominados frameworks es estar constituidos por objetos casi estticos con funcionalidad definida a nivel grupo de objetos y no como parte constitutiva de estos, por ejemplo en sus mtodos, en cuyo caso se habla de un API o librera. Algunas caractersticas notables que se pueden observar: La inversin de control: en un framework, a diferencia de las bibliotecas, el flujo de control no es dictado por el programa que llama, sino por el mismo. 2 La funcionalidad o comportamiento predeterminado: un marco tiene un comportamiento predeterminado. Este comportamiento por defecto debe ser un comportamiento til, definido e identificable. Su extensibilidad: un marco puede ser ampliado para proporcionar una funcionalidad especfica. El frame, en general, no se supone que deba ser modificado, excepto en cuanto a extensibilidad. Los usuarios pueden ampliar sus caractersticas, pero no deben ni necesitan modificar su cdigo.
Historia, clasificacin y software que utilizan los paradigmas
de programacin:
INSTITUTO TECNOLOGICO DE CELAYA
JOEL FRANCO GUTIERREZ
11030352
Un paradigma de programacin es una propuesta tecnolgica adoptada por una
comunidad de programadores y desarrolladores cuyo ncleo central es incuestionable en cuanto que nicamente trata de resolver uno o varios problemas claramente delimitados; la resolucin de estos problemas debe suponer consecuentemente un avance significativo en al menos un parmetro que afecte a la ingeniera de software. Un paradigma de programacin representa un enfoque particular o filosofa para disear soluciones. Los paradigmas difieren unos de otros, en los conceptos y la forma de abstraer los elementos involucrados en un problema, as como en los pasos que integran su solucin del problema, en otras palabras, el cmputo. Tiene una estrecha relacin con la formalizacin de determinados lenguajes en su momento de definicin. Es un estilo de programacin empleado. Un paradigma de programacin est delimitado en el tiempo en cuanto a aceptacin y uso, porque nuevos paradigmas aportan nuevas o mejores soluciones que la sustituyen parcial o totalmente. El paradigma de programacin que actualmente es el ms utilizado es la "orientacin a objetos" (OO). El ncleo central de este paradigma es la unin de datos y procesamiento en una entidad llamada "objeto", relacionable a su vez con otras entidades "objeto". Tradicionalmente, datos y procesamiento se han separado en reas diferente del diseo y la implementacin de software. Esto provoc que grandes desarrollos tuvieran problemas de fiabilidad, mantenimiento, adaptacin a los cambios y escalabilidad. Con la OO y caractersticas como el encapsulado, polimorfismo o la herencia, se permiti un avance significativo en el desarrollo de software a cualquier escala de produccin. La OO parece estar ligada en sus orgenes con lenguajes como Lisp y Simula, aunque el primero que acu el ttulo de "programacin orientada a objetos" fue Smalltalk. Clasificacin de los paradigmas:
INSTITUTO TECNOLOGICO DE CELAYA
JOEL FRANCO GUTIERREZ
11030352
En general la mayora son variantes de los dos tipos principales, imperativa y
declarativa:
Programacin imperativa o por procedimientos
Programacin orientada a objetos
Programacin dinmica
Programacin declarativa
Programacin funcional
Programacin lgica
Programacin con restricciones
Programacin multiparadigma
Lenguaje especfico del dominio o DSL
Si bien puede seleccionarse la forma pura de estos paradigmas al momento de
programar, en la prctica es habitual que se mezclen, dando lugar a la programacin multiparadigma o lenguajes de programacin multiparadigma. Actualmente, el paradigma de programacin ms utilizado es el paradigma de la programacin orientada a objetos. La programacin estructurada es un paradigma de programacin orientado a mejorar la claridad, calidad y tiempo de desarrollo de un programa de computadora, utilizando nicamente subrutinas y tres estructuras: secuencia, seleccin (if y switch) e iteracin (bucles for y while), considerando innecesario y contraproducente el uso de la instruccin de transferencia incondicional (GOTO), que podra conducir a "cdigo espagueti", que es mucho ms difcil de seguir y de mantener, y era la causa de muchos errores de programacin.
INSTITUTO TECNOLOGICO DE CELAYA
JOEL FRANCO GUTIERREZ
11030352
La Programacin Declarativa, en contraposicin a la programacin imperativa es un
paradigma de programacin que est basado en el desarrollo de programas especificando o "declarando" un conjunto de condiciones, proposiciones, afirmaciones, restricciones, ecuaciones o transformaciones que describen el problema y detallan su solucin. La solucin es obtenida mediante mecanismos internos de control, sin especificar exactamente cmo encontrarla (tan slo se le indica a la computadora qu es lo que se desea obtener o qu es lo que se est buscando).
INSTITUTO TECNOLOGICO DE CELAYA
JOEL FRANCO GUTIERREZ
11030352
La programacin imperativa, en contraposicin a la programacin declarativa, es un
paradigma de programacin que describe la programacin en trminos del estado del programa y sentencias que cambian dicho estado. Los programas imperativos son un conjunto de instrucciones que le indican al computador cmo realizar una tarea.
La programacin funcional es un paradigma de programacin declarativa basado en
la utilizacin de funciones aritmticas que no maneja datos mutables o de estado. Enfatiza la aplicacin de funciones, en contraste con el estilo de programacin imperativa, que enfatiza los cambios de estado. La programacin funcional tiene sus races en el clculo lambda, un sistema formal desarrollado en los aos 1930 para investigar la definicin de funcin, la aplicacin de las funciones y la recursin. Muchos lenguajes de programacin funcionales pueden ser vistos como elaboraciones del clculo lambda.
INSTITUTO TECNOLOGICO DE CELAYA
JOEL FRANCO GUTIERREZ
11030352
La programacin lgica es un tipo de paradigmas de programacin dentro del
paradigma de programacin declarativa. El resto de los su paradigmas de programacin dentro de la programacin declarativa son: programacin funcional, programacin con restricciones, programas DSL (de dominio especfico) e hbridos. La programacin funcional se basa en el concepto de funcin (que no es ms que una evolucin de los predicados), de corte ms matemtico. La programacin lgica gira en torno al concepto de predicado, o relacin entre elementos. La programacin lgica permite formalizar hechos del mundo real, por ejemplo:
INSTITUTO TECNOLOGICO DE CELAYA
JOEL FRANCO GUTIERREZ
11030352
Las aves vuelan
Los pinginos no vuelan "pichurri" es un ave "sandokan" es un perro "alegra" es un ave Software que implementan y se utiliza en los paradigmas de programacin:
Seran el C, BASIC o Pascal.
C++ o Java y Smalltalk Lisp y Prolog Scheme (una variante de Lisp) o Haskell. Logo.