Documentos de Académico
Documentos de Profesional
Documentos de Cultura
DE LA AMAZONIA
INGENIERIA AGROINDUSTRIAL
LENGUAJE DE PROGRAMACIN
CICLO : VIII
FECHA : MIERCOLES_04_OCTUBRE_2017
1. INTRODUCCION
Las personas para comunicarse entre s utilizan un lenguaje que puede ser oral o
escrito. En general, para comunicar algo siempre se usa un lenguaje.
La informtica no queda excluida del uso de lenguajes, ya que estos son la manera de
especificar las acciones que se desea sean realizadas en la computadora.
No hay un nico tipo de lenguajes, sino que se clasifican segn las caractersticas que
posean y segn el paradigma y conceptos que soporten.
2. MARCO TEORICO.
2.1. HISTORIA DE LOS LENGUAJES DE PROGRAMACIN
Segn los estndares actuales, las primeras computadoras eran poco tolerantes. Los
programadores tenan que traducir las instrucciones de manera directa a la forma de
lenguaje de mquina que comprendan las computadoras. Por ejemplo, un programador
que escribiera la instruccin "SUMAR 0814" para una de las primeras mquinas IBM
hubiera escrito:
000100000000000000000000000010111000
Adems de recordar las docenas de cdigos numricos para los comandos del conjunto
de instrucciones de la mquina, el programador tena que conocer las posiciones donde
se almacenan los datos y las instrucciones. La codificacin inicial muchas veces
requera meses, por lo que era costosa y era frecuente que originara errores. Revisar
las instrucciones para localizar errores era casi tan tedioso como escribirlas por primera
vez. Adems, si era necesario modificar un programa posteriormente, la tarea poda
llevarse meses.
Un programador que sepa escribir programas en uno de estos lenguajes no est limitado
a utilizar un solo tipo de mquina.
3. LENGUAJES COMPILADOS
Al usar un lenguaje compilado (como lo son los lenguajes del popular Visual Studio de
Microsoft), el programa desarrollado nunca se ejecuta mientras haya errores, sino hasta
que luego de haber compilado el programa, ya no aparecen errores en el cdigo.
4. LENGUAJES INTERPRETADOS
Se puede tambin utilizar una alternativa diferente de los compiladores para traducir
lenguajes de alto nivel. En vez de traducir el programa fuente y grabar en forma
permanente el cdigo objeto que se produce durante la corrida de compilacin para
utilizarlo en una corrida de produccin futura, el programador slo carga el programa
fuente en la computadora junto con los datos que se van a procesar. A continuacin, un
programa intrprete, almacenado en el sistema operativo del disco, o incluido de manera
permanente dentro de la mquina, convierte cada proposicin del programa fuente en
lenguaje de mquina conforme vaya siendo necesario durante el proceso de los datos.
No se graba el cdigo objeto para utilizarlo posteriormente.
La siguiente vez que se utilice una instruccin, se le debe interpretar otra vez y traducir
a lenguaje mquina. Por ejemplo, durante el procesamiento repetitivo de los pasos de
un ciclo, cada instruccin del ciclo tendr que volver a ser interpretado cada vez que se
ejecute el ciclo, lo cual hace que el programa sea ms lento en tiempo de ejecucin
(porque se va revisando el cdigo en tiempo de ejecucin) pero ms rpido en tiempo
de diseo (porque no se tiene que estar compilando a cada momento el cdigo
completo). El intrprete elimina la necesidad de realizar una corrida de compilacin
despus de cada modificacin del programa cuando se quiere agregar funciones o
corregir errores; pero es obvio que un programa objeto compilado con antelacin deber
ejecutarse con mucha mayor rapidez que uno que se debe interpretar a cada paso
durante una corrida de produccin.
Es importante sealar que a pesar de hacer referencia a intrprete, no hay que limitarse
a "lenguajes interpretados" en el sentido habitual del trmino, sino que tambin se puede
estar trabajando con "lenguajes compilados".
5.1. CARACTERSTICAS DE LOS LENGUAJES DE PROGRAMACIN
DECLARATIVOS
Los lenguajes declarativos estn orientados a buscar la solucin del problema, sin
preocuparse por la forma de llegar a ello; es decir, el programador debe concentrarse
en la lgica del algoritmo, ms que en el control de la secuencia.
Los programas estn formados por un conjunto de definiciones o ecuaciones, las cuales
describen lo que debe ser calculado, no en s la forma de hacerlo.
Las variables slo pueden tener asignado un solo valor a lo largo de la ejecucin del
programa, lo cual implica que no puede existir asignacin destructiva. Debido a esto,
cobra especial importancia el uso del anidamiento y la recursividad.
Las expresiones o definiciones pueden ser usadas como valores y por lo tanto se
pueden tratar como argumentos de otras definiciones.
PROLOG
SQL
HTML
WSDL (Web Servicies Description Lenguaje)
XML Stylesheet Lenguaje por Transformacin
La programacin lgica, junto con la funcional, forma parte de lo que se conoce como
programacin declarativa. En los lenguajes tradicionales, la programacin consiste en
indicar cmo resolver un problema mediante sentencias; en la programacin lgica, se
trabaja de forma descriptiva, estableciendo relaciones entre entidades, indicando no
cmo, sino qu hacer. Se establece entonces que la idea esencial de la programacin
lgica es: algoritmos = lgica + control. Es decir, un algoritmo se construye
especificando conocimiento en un lenguaje formal (lgica de primer orden), y el
problema se resuelve mediante un mecanismo de inferencia (control) que acta sobre
aqul.
Al hacer un recorrido por la programacin lgica, aparece como uno de sus lenguajes
ms representativos, Prologa, que es un clsico de la inteligencia artificial y que se
aplica de mltiples formas en el desarrollo de software comercial.
Existen dos grandes categoras de lenguajes funcionales: los funcionales puros y los
hbridos. La diferencia entre ambos estriba en que los lenguajes funcionales hbridos
son menos dogmticos que los puros, al permitir conceptos tomados de los lenguajes
imperativos, como las secuencias de instrucciones o la asignacin de variables. En
contraste, los lenguajes funcionales puros tienen una mayor potencia expresiva,
conservando a la vez su transparencia referencial, algo que no se cumple siempre con
un lenguaje hbrido.
Las bases de datos son programas que administran informacin y hacen ms ordenada
la informacin, aparte de hacer la fcil de buscar y por supuesto de encontrar.
Una base de datos tambin se puede definir como un banco de datos o conjunto de
datos que pertenecen al mismo contexto, almacenados sistemticamente para su
posterior uso. En este sentido, una biblioteca puede considerarse una base de datos
compuesta en su mayora por documentos y textos impresos en papel e indexados para
su consulta.
Las bases de datos pueden clasificarse de varias maneras, de acuerdo al criterio elegido
para su clasificacin, que puede ser segn la variabilidad de los datos almacenados o
segn el contenido.
Esta clasificacin depende de cmo los datos cambian o varan dentro de la base de
datos, o si se mantienen estticos sin sufrir modificaciones o cambios. Dentro de esta
clasificacin se tiene lo siguiente:
BASES DE DATOS ESTTICAS: stas son bases de datos de slo lectura, utilizadas
primordialmente para almacenar datos histricos que posteriormente se pueden utilizar
para estudiar el comportamiento de un conjunto de datos a travs del tiempo, realizar
proyecciones y tomar decisiones.
BASES DE DATOS JERRQUICAS: stas son bases de datos que, como su nombre
indica, almacenan su informacin en una estructura jerrquica. En este modelo los datos
se organizan en una forma similar a un rbol (visto al revs), en donde un nodo padre
de informacin puede tener varios hijos. El nodo que no tiene padres es llamado raz, y
a los nodos que no tienen hijos se los conoce como hojas. Las bases de datos
jerrquicas son especialmente tiles en el caso de aplicaciones que manejan un gran
volumen de informacin y datos muy compartidos permitiendo crear estructuras estables
y de gran rendimiento. Una de las principales limitaciones de este modelo es su
incapacidad de representar eficientemente la redundancia de datos.
En este modelo, el lugar y la forma en que se almacenen los datos no tienen relevancia
(a diferencia de otros modelos como el jerrquico y el de red). Esto tiene la considerable
ventaja de que es ms fcil de entender y de utilizar para un usuario espordico de la
base de datos. La informacin puede ser recuperada o almacenada mediante
"consultas" que ofrecen una amplia flexibilidad y poder para administrar la informacin.
El lenguaje ms habitual para construir las consultas a bases de datos relacionales es
SQL, Structured Query Language o Lenguaje Estructurado de Consultas, un estndar
implementado por los principales motores o sistemas de gestin de bases de datos
relacionales. Durante su diseo, una base de datos relacional pasa por un proceso al
que se le conoce como normalizacin (reglas fundamentales para el buen
funcionamiento de una base de datos relacional) de una base de datos. Durante los
aos '80 (1980-1989) la aparicin de base produjo una revolucin en los lenguajes de
programacin y sistemas de administracin de datos. Aunque nunca debe olvidarse que
base no utilizaba SQL como lenguaje base para su gestin. La normalizacin de una
base de datos relacional consiste en las siguientes reglas:
Primera Forma Normal (1FN): se eliminan los grupos repetitivos. Los atributos han de
ser atmicos. Grficamente las celdas de la tabla contienen solo un valor, en cada uno
de los atributos slo se puede incluir un dato, aunque sea compuesto, pero no se puede
incluir una lista de datos. Se trata de que cada atributo guarde la menor cantidad de
informacin posible. Para eliminar los grupos repetitivos se pone cada uno de ellos en
una tabla aparte, esa nueva tabla hereda la clave primaria de la relacin en la que se
encontraban, se crea una clave fornea para la nueva tabla.
Segunda Forma Normal (2FN): dependencia completa. Est en 2FN si est en 1FN y
si sus atributos no principales dependen de forma completa de la clave principal. Toda
relacin que tenga como clave slo un atributo est en 2FN.
Tercera Forma Normal (3FN): dependencia transitiva. Est en segunda forma normal
y todo atributo no primo es implicado por la clave primaria en una secuencia no transitiva.
Forma Normal de Boyce-Codd: una tabla est en FNBC, s y slo s las nicas
dependencias funcionales elementales son aquellas en las que la Clave primaria
determina un atributo.
Cuarta Forma Normal (4FN): est en forma normal de Boyce-Codd y se eliminan las
dependencias multivaluadas y se generan todas las relaciones externas con otras tablas
u otras bases de datos.
Quinta Forma Normal (5FN): est en cuarta forma normal y toda dependencia-join
viene implicada por claves candidatas.
El proceso anterior se puede realizar con un lenguaje imperativo como por ejemplo
BASIC, C, C++, Java, Clipper, Base, C#, PHP, Perl, etc.
Dentro de la programacin imperativa, se tiene un conjunto de instrucciones que le
indican al computador cmo realizar una tarea.
Los lenguajes imperativos se basan en comandos u rdenes que se le dan a la
computadora para que haga algo, con el fin de organizar o cambiar valores en ciertas
partes de la memoria.
La ejecucin de estos comandos se realiza, en la mayor parte de ellos, secuencialmente,
es decir, hasta que un comando no ha sido ejecutado no se lee el siguiente.
Segn el dominio, o mejor dicho con el propsito que se utiliza el programa, se puede
hablar de lenguajes de dominio especfico y de dominio general.
BASIC
C
C++
Java
C#
PHP
Perl
EVENTO: un suceso en el sistema (tal como una interaccin del usuario con la mquina,
o un mensaje enviado por un objeto). El sistema maneja el evento enviando el mensaje
adecuado al objeto pertinente.
MENSAJE: una comunicacin dirigida a un objeto, que le ordena que ejecute uno de
sus mtodos con ciertos parmetros asociados al evento que lo gener.
HERENCIA: las clases no estn aisladas, sino que se relacionan entre s, formando una
jerarqua de clasificacin. Los objetos heredan las propiedades y el comportamiento de
todas las clases a las que pertenecen. La herencia organiza y facilita el polimorfismo y
el encapsulamiento permitiendo a los objetos ser definidos y creados como tipos
especializados de objetos preexistentes. Estos pueden compartir (y extender) su
comportamiento sin tener que re implementar su comportamiento. Esto suele hacerse
habitualmente agrupando los objetos en clases y estas en rboles o enrejados que
reflejan un comportamiento comn. Cuando un objeto pertenece a ms de una clase se
dice que hay herencia mltiple; esta caracterstica no est soportada por algunos
lenguajes (como Java). Con esta propiedad, los objetos heredan comportamientos
dentro de una jerarqua de clases.
8.3. PRINCIPALES DIFERENCIAS ENTRE LA PROGRAMACIN IMPERATIVA Y LA
PROGRAMACIN ORIENTADA A OBJETOS
Ada
C++
C#
VB.NET
Clarion
Delphi
Eiffel
Jave
Lexico
Objective-C
Ocaml
Oz
PHP
PowerBuilder
Pitn
Ruby
Smalltalk