A2 LDP
A2 LDP
A2 LDP
Eléctrica
Lenguajes de Programación
Actividad # 2
Sintaxis formalizada, para poder diseñar sobre bases sólidas un procesador (lo que en sistemas
expertos se llama tradicionalmente «motor de inferencias» , Apartado 1.2).
Desde el punto de vista pragmático, expresividad suficiente para representar de la manera menos
forzada posible el conocimiento. Esto significa que, para una determinada conceptuación, el
lenguaje con el que se construyen los modelos en el nivel simbólico debe permitir una
interpretación declarativa (Figura 1.5) que represente todos los aspectos de esa conceptuación.
En la práctica puede ocurrir que no encontremos el lenguaje «ideal» , y tengamos que «forzar»
la conceptuación para que se ajuste al lenguaje elegido.
Hay lenguajes formales, o «teóricos» , que satisfacen en mayor o menor grado esas condiciones
y lenguajes de implementación, o «prácticos» , que, siguiendo el modelo de algún lenguaje
formal, están adaptados para mecanizar la construcción de ontologías. Nos centraremos en los
primeros, que son relativamente «estables» , y sobre los que se basan los segundos, algunos
muy «volátiles» . Por ejemplo:
Prolog es un lenguaje de implementación de la lógica de primer orden, que en sus versiones más
recientes incluye también construcciones para la programación con restricciones. El Capítulo 4
se dedica a la lógica de primer orden; un resumen de Prolog se da en el Apéndice A.
OWL (Web Ontology Language) es un lenguaje de ontolologías para la web basado en una lógica
de descripciones (en realidad, son tres sublenguajes). Procede de la fusión de otros dos
elaborados independientemente alrededor del año 2000: DAML (DARPA Agent Markup
Language, de la Agencia de proyectos del Ministerio de Defensa U.S.A) y OIL (Ontology
Inference Layer, de un consorcio formado en el marco de los programas de la U.E.). En 2001 se
formó un comité conjunto que hizo una propuesta al Consorcio Web (W3C), y éste publicó el
estándar («Proposed Recommendation» en la terminología del W3C) en 2003, modificado el 10
de febrero de 2004. Existen numerosas propuestas de mejoras y modificaciones. En el Apéndice
B se resume la versión actual.
Hasta la segunda mitad de los años 80 se estaban utilizando diversos lenguajes que podían
clasificarse en dos tipos:
Lenguajes basados en la lógica de predicados de primer orden, con sintaxis y semántica
formalizadas, con una base rigurosa para el razonamiento, pero con grandes dificultades para
implementar algoritmos de razonamiento eficientes, con una rigidez sintáctica que impide ciertas
conceptuaciones «naturales» y con pocas posibilidades de modularización.
Lenguajes basados en modelos de psicología que, al estar derivados del estudio de la mente
humana, permiten conceptuaciones más naturales y algoritmos de razonamiento más eficientes,
pero que tienen una sintaxis menos formalizada y carecen de una definición semántica precisa
(a pesar de que uno de ellos se llama «redes semánticas» )
Lenguajes de consulta
Los lenguajes de consulta pueden ser clasificados de acuerdo a si son lenguajes de consulta de
bases de datos o lenguajes de consulta de recuperación de información.
Un lenguaje de programación de alto nivel se caracteriza por expresar los algoritmos de una
manera adecuada a la capacidad cognitiva humana, en lugar de la capacidad con que los
ejecutan las máquinas. Estos lenguajes permiten una máxima flexibilidad al programador a la
hora de abstraerse o de ser literal. Permiten un camino bidireccional entre el lenguaje máquina
y una expresión casi oral entre la escritura del programa y su posterior compilación. Por lo general
suelen estar orientados a objetos, a eventos o a funciones, pudiendo estos combinarse.
Asimismo, pueden ser compilados o interpretados. Algunos ejemplos son: Java, PHP, Python,
Javascript, C#.
En los primeros lenguajes, la limitación era que se orientaban a un área específica y sus
instrucciones requerían de una sintaxis predefinida. Se clasifican como lenguajes
procedimentales o lenguajes de bajo nivel. Otra limitación de estos es que se requiere de ciertos
conocimientos de programación para realizar las secuencias de instrucciones lógicas. Los
lenguajes de alto nivel se crearon para que el usuario común pudiese solucionar un problema de
procesamiento de datos de una manera más fácil y rápida.
Lenguaje de alto nivel se refiere al nivel más alto de abstracción de lenguaje de máquina. En
lugar de tratar con registros, direcciones de memoria y las pilas de llamadas, lenguajes de alto
nivel se refieren a las variables, matrices, objetos, aritmética compleja o expresiones booleanas,
subrutinas y funciones, bucles, hilos, cierres y otros conceptos de informática abstracta, con un
enfoque en la facilidad de uso sobre la eficiencia óptima del programa.
Conclusión.
En esta actividad se conocieron diferentes temas entre los cuales los lenguajes
de consulta y de alto nivel que son muy utilizados y tenemos que saber que son
y como se aplican.
Bibliografía.
https://s3.amazonaws.com/academia.edu.documents/38609102/introduccion_a_la_progra
macion_teoria_y_practica.pdf?AWSAccessKeyId=AKIAIWOWYYGZ2Y53UL3A&Expires=1
550901580&Signature=FmMGI835qBALMjfQApOs2HJDbjg%3D&response-content-
disposition=inline%3B%20filename%3DIntroduccion_a_la_Programacion._Teoria_y.pdf