Sie sind auf Seite 1von 49

DICIEMBRE DEL2011

EVOLUCIN HISTRICA DE LOS LENGUAJES DE PROGRAMACIN, LENGUAJES COPILADOS, ENSAMBLADOS, DECLARATIVOS, ORIENTADOS A OBJETO, INTELIGENCIA ARTIFICIAL, LENGUAJES DE INTERNET.

INTEGRANTES: DAVID FIGUEROA Y DAIRY GONZLEZ. PROFESOR: ROBERTO MOUTTET

INTRODUCCIN

Desde el comienzo de la aparicin de la primera generacin de las computadoras aparecieron los primeros lenguajes de programacin, estos surgieron de forma concatenada con las mquinas ya que era necesario controlar su funcionamiento a travs de instrucciones mediante cdigos. En este sentido se desarrollaron lenguajes de programacin denominados lenguaje maquina el cual era sumamente complicado para el ser humano, esto genero el desarrollo de otros lenguaje que a su vez se entendan con los lenguajes mquinas pero que servan como interprete para dar instrucciones a las computadoras. Los inconvenientes de estos lenguajes era que para cada CPU (Unidad Central de Procesos) deba tener su propio lenguaje, en este sentido se unificaron todo los lenguajes para dar origen a un solo lenguaje mquina. A continuacin aparecieron lenguajes de programacin ms eficientes como FOTRAN, COBOL, BASIC, SQL, por nombrar algunos. Los lenguajes fuero perfeccionndose hasta desarrollar una sintaxis y semntica similar al entendimiento humano, as logra desarrollarse la inteligencia artificial que busca imitar el ser humano con la ayuda de la robtica, electrnica, mecnica y una combinacin de ramas que juntas hacen la mitaca 5t generacin de las computadoras. Los lenguajes de internet proporcionaron el rompimiento de las barreras del tiempo y la distancia permitiendo el avance de la globalizacin. Esto democratiza el acceso a la informacin pero que trae consigo mucho ms que eso, tal y como la censura en internet.

EVOLUCIN HISTRICA DE LOS LENGUAJES DE PROGRAMACIN

Los lenguajes de programacin surgen con el profesor matemtico de la universidad de Cambrigde Carles Babagge. El inventor ingles al principio del siglo XIX predijo muchas de las teoras de las cuales se basan los actuales ordenadores, la cual consista en lo que el denomino maquina analtica, que por motivos tcnicos no pudo llegar a construirse hasta mediados del siglo XX con la llegada de Ada Lovedby conocida como la primera programadora de la historia, debido a que elaboro programas para aquellas mquinas de Babagge, las cuales eran de tarjetas perforadas. Debido a que las maquinas no llegaron a construirse los programas de Ada lgicamente tampoco llegaron a ejecutarse, pero si dan una idea de punto de partida para la programacin. Los programadores utilizaron las tcnicas de Carles Babagge y Ada Lovedby, que consistan en la programacin mediante tarjetas perforadas. Se dice que estos dos (2) genios se adelantaron a su poca de antao, lo cual describe la inteligencia de la que estaban dotados. En 1823 el gobierno Britnico lo apoyo para crear el proyecto de una mquina de diferencias, un dispositivo mecnico para efectuar sumas repetidas. Pero Babagge se dedic al proyecto de la mquina analtica, abandonando la mquina de diferencias, que se pudiera programar con tarjetas perforadas, gracias a la creacin de Charles Jacquard (francs). Este hombre era un fabricante de tejidos y haba creado un telar que poda reproducir automticamente patrones de tejidos, leyendo la informacin codificada en patrones de agujeros perforados en tarjetas de papel rgido. Entonces Babagge intento crear la mquina que se pudiera programar con tarjetas perforadas para efectuar cualquier clculo con una precisin de 20 dgitos. Pero la tecnologa de la poca no bastaba para hacer realidad sus ideas. Si bien las ideas de Babagge no llegaron a materializarse de forma definitiva, su contribucin es decisiva, ya que los ordenadores actuales responden a un esquema anlogo al de la mquina analtica. En su diseo, la mquina constaba de cinco unidades bsicas:

Unidad de entrada, para introducir datos e instrucciones. Memoria, donde se almacenaban datos y resultados intermedios. Unidad de control, para regular la secuencia de ejecucin de las operaciones. Unidad Aritmtico-Lgica, que efecta las operaciones. Unidad de salida, encargada de comunicar al exterior los resultados. Charles Babagge, conocido como el "padre de la informtica" no pudo completar en aquella poca la construccin del computador que haba soado, dado que faltaba algo fundamental: la electrnica. El camino sealado de Babagge, no fue nunca abandonado y siguindolo, se construyeron los primeros computadores. Cuando surgi el primer ordenador, el famoso ENIAC (Electronic Numerical Integrator And Calculator), su programacin se basaba en componentes fsicos, o sea, que se programaba, cambiando directamente el Hardware de la mquina, exactamente lo que s hacia era cambiar cables de sitio para conseguir as la programacin de la mquina. La entrada y salida de datos se realizaba mediante tarjetas perforadas. Las primeras computadoras mecnicas y elctricas no contaban con un lenguaje de programacin tal como lo conocemos ahora, la mayora de ellas era construida para llevar a cabo una tarea especfica; por lo tanto la forma de programarla era particular a cada computadora. Fue en el ao de 1945 cuando el matemtico Jhon Von Neumann fascinado por las posibilidades de ENIAC, elabor un estudio que demostr que una computadora poda tener una estructura fsica muy simple y fija, y aun as ser capaz de ejecutar cualquier tipo de programa mediante un control correcto, sin la necesidad de modificar la computadora para esto. A partir de esta innovacin de Von Neunmann, que en conjunto se conoce como la tcnica de programa almacenado es que se inicia la era de los lenguajes de programacin.

LOS PRIMEROS LENGUAJES DE PROGRAMACIN

SHORTCODE En 1949, aparece el primer lenguaje que se us en computadoras electrnicas: Shortcode, requera que el programador convirtiera (compilara) su programa a 0's y 1's de manera manual. A-0 Fue hasta el ao de 1951, que Grace Hopper trabajando para Remington Rand, comienza a desarrollar el primer compilador, lo que trajo consigo una programacin ms rpida. FORTRAN Es en el ao de 1957 cuando aparece el primero de los grandes lenguajes de programacin de uso aun actualmente: FORTRAN, que proviene de FORmula TRANslating system... Fue desarrollado por IBM para cmputo cientfico, el lder del proyecto fue John Backus, que despus contribuira en ALGOL. El lenguaje original solo inclua FOR, DO y GOTO tambin defini los tipos de datos bsicos: TRUE, FALSE, integer, real, double presicion era bueno manejando nmeros, pero malo manejando entrada y salida, lo cual propicio la aparicin de otros lenguajes orientados a negocios. LISP En el ao de 1958, el profesor John McCarthy [4] del M.I.T. comenz a desarrollar la teora de un lenguaje de de procesamiento de listas. En 1959 aparece pblicamente la primera implementacin llamada LISP 1.5. En 1960 McCarthy publica un histrico articulo acerca de los fundamentos de LISP que hizo por la programacin lo mismo que hizo Euclides por la geometra,

demostrar como con unos cuantos operadores y una notacin para funciones es posible construir un lenguaje de programacin completo, es importante hacer notar que McCarthy no solo marco un mito en la historia los lenguajes de programacin sino que creo un modelo de programacin que ha demostrado ser superior, tanto que podemos decir que en la actualidad existen dos grandes modelos de programacin el de C y el de Lisp, y podemos notar que los lenguajes del modelo C tratan de parecerse cada vez ms a Lisp. ALGOL En el ao de 1958 un comit crea la especificacin del lenguaje ALGOL, la tena la particularidad de no definir la manera de manejar entrada y salida, dejando esta parte libre a cada implementacin, es en 1960 cuando aparece el lenguaje ALGOL 6.0 el primer lenguaje estructurado en bloques. Este lenguaje fue muy popular en el segundo lustro de los 60's siendo su principal contribucin es ser la raz del rbol que ha producido lenguajes tales como pascal, C, C++, y Java. COBOL En 1959, Conference on Data Systems and Languages (CODASYL) crea COBOL, un lenguaje para negocios; que fuera fcil de aprender para gente que no tuviera formacin en ciencias de la computacin. Sus nicos tipos de datos fueron cadenas y nmeros. Lo que le dio la caracterstica de poder agruparlos en arreglos sencillos, de modo que los datos podan ser organizados y seguidos de una mejor manera. Las sentencias de COBOL se parecen mucho a las usadas por el idioma ingls, haciendo que fuera fcil de aprender todo esto con la finalidad de que los negocios promedio lo pudieran aprender y usar. BASIC Inventado en 1964 por John George Kemeny y Thomas Eugene Kurtz en el Colegio Dartmounth es un lenguaje muy limitado que fue diseado para personas que

no fueran del rea de ciencias de la computacin el nombre de BASIC, significa Beginners All-purposeSymbolic Instruction Code. BASIC tuvo unos principios para su elaboracin los cuales fueron: Ser fcil de usar para los principiantes. Ser un lenguaje de propsito general. Permitir que los expertos aadieran caractersticas avanzadas, mientras que el lenguaje permaneca simple para los principiantes. Ser interactivo. Proveer mensajes de error claro y amigable. Responder rpido a los programas pequeos. No requerir un conocimiento del hardware de la computadora. El lenguaje se bas en Fortran y Algol 6.0. PASCAL Diseado por Niklaus Wirth, como una herramienta de enseanza de la programacin. Sus desarrolladores se concentraron en desarrollar buenas

herramientas que contribuyeran a la enseanza, tal como un buen debugger, y un buen editor siendo su meta el tener soporte para la mayora de los microprocesadores populares en esa poca en las instituciones de enseanza. Fue diseado de una manera muy ordenada, reflejando la experiencia de su diseador, tomo las mejores caractersticas de los lenguajes de su tiempo, COBOL, ALGOL, y FORTRAN, al mismo tiempo que busco evitar sus deficiencias, y hacerlo lo ms claro posible. La combinacin de sus caractersticas de entrada/salida, y sus slidas caractersticas matemticas pronto lo convirtieron en un lenguaje muy exitoso tambin implemento el tipo apuntador y agrego el CASE e hizo uso de variables

dinmicas sin embargo no implemento arreglos dinmicos ni agrupamiento de variables lo cual contribuyo a su prdida de popularidad frente a nuevos lenguajes Delphi es una versin moderna y orientada a objetos de Pascal. PROLOG Diseado en 1970 en la universidad de Aix-Marseille por los profesores Alain Colmerauer y Phillipe Roussel, su nombre proviene del frances PROgramation et LOgique, es popular en los crculos de inters en Inteligencia Artificial inicialmente era un lenguaje interpretado, hasta que a mediados de la dcada de los 70's David Warren desarrollo un compilador, que converta el programa en Prolog a un conjunto de instrucciones de una mquina abstracta denominada Warren Abstract Machine, o WAM, su sintaxis y semntica son considerados simples y claros, su paradigma de programacin es el declarativo y un programa en Prolog se compone de clusulas que constituyen reglas del tipo modus ponens, es decir, "Si es verdad el antecedente, entonces es verdad el consecuente". No obstante, la forma de escribir las clusulas es al contrario de lo habitual. Primero se escribe el consecuente y luego el antecedente. C Fue diseado en 1971, por Dennis Ritchie [8] y Ken Thompson mientras trabajaban para los Laboratorios Bell, y se bas en los lenguajes de programacin B y BCPL. Se basa en el paradigma imperativo y desde su creacin estuvo pensado para programacin de sistemas operativos, se cre para usarse en UNIX, y creci de la mano del desarrollo de UNIX, lo que propicio la creacin de caractersticas avanzadas tales como variables dinmicas, multitarea, manejo de interrupciones, forking y un poderoso manejo entrada/salida de bajo nivel. Debido a esto C es comnmente usado para programacin de nivel de sistema en UNIX, Linux y Mac no fuertemente tipeado demedio nivel pero con muchas caractersticas de bajo nivel. Dispone de las estructuras tpicas de los lenguajes de alto nivel pero, a su vez, dispone de construcciones del lenguaje que permiten un control a muy bajo nivel. Destaca su gran riqueza de operadores y expresiones.

C++ A finales de los 70's y principio de los 80's un nuevo modelo de programacin fue desarrollado, la programacin orientada a objetos, la idea bsica es que los objetos son piezas de cdigo auto contenidas y reusables. Bjarne Stroustroup tambin de los Laboratorios Bell, desarrollo un nuevo lenguaje basado en C que aplica los conceptos de la programacin orientada a objetos, inicialmente se llam C con clases, para posteriormente tomar su nombre definitivo C++ cuando fue publicado en 1983. Las principales caractersticas del C++ son abstraccin, el soporte para programacin orientada a objetos y el soporte de plantillas o programacin genrica. Por lo cual, se puede decir que C++ es un lenguaje de paradigma que abarca tres de la programacin: La programacin estructurada, la programacin genrica y la programacin orientada a objetos. Actualmente cuenta con un estndar ISO y es muy popular en la programacin de aplicaciones. PERL Perl (Practical Extraction and Report Language), fue desarrollado por Larry Wall, inicialmente motivado para cubrir las carencias de sed y awk y las limitaciones del shell, su primer versin publica fue anunciada en el Newsgroup

comp.sources.misc el 18 de diciembre de 1987. Actualmente es un lenguaje de propsito general, usado para amplia gama de tareas que incluyen administracin de sistemas, desarrollo Web, programacin en red, desarrollo GUI, si lo deseas, puedes programar orientado a objetos y mucho ms. Es uno de los lenguajes ms flexibles y poderosos, junto con Lisp, permite desarrollar prcticamente cualquier cosa con l, es poderoso, flexible y expresivo. Perl es libre y es divertido, permite ser creativo y no te ata a las restricciones impuestas por el diseador del lenguaje, siempre hay ms de una manera de hacer las cosas, sin embargo, esta flexibilidad y poder no son apreciados por los programadores promedio que prefieren lenguajes ms simples y fciles de aprender, por lo cual es el blanco de muchas crticas nacidas de la ignorancia. Es multiplataforma y desde hace muchos aos ha demostrado en el

mundo real producir cdigo completamente reusable sin necesitar programacin orientada a objetos.

PYTHON Es un lenguaje interpretado e interactivo, creado por Guido Van Rossum en 1991, es completamente tipeado dinmicamente, usa manejo automtico de memoria, por lo cual es similar a Lisp, Perl, Ruby, Scheme y Tcl, desarrollado como proyecto de software libre, manejado por la Python Software Foundation cuenta con varias de sus caractersticas de Lisp y algunos lo consideran la "oposicin leal" a Perl, lenguaje con el cual mantiene una rivalidad amistosa sus usuarios consideran a ste mucho ms limpio y elegante para programar sin embargo esto es ms un punto de vista de sus usuarios que una realidad. Su facilidad de aprendizaje, su orientacin a programadores promedio, su limpieza de cdigo, hacen que sea uno de los lenguajes ms exitosos al momento de escribir el presente trabajo.

RUBY Es un lenguaje de programacin interpretado, orientado a objetos, con una sintaxis inspirada por Perl y Ada, que tambin tomo ideas de Lisp, Python, Dylan y CLU fue creado por Yukihiro Matsumoto, quien comenz su desarrollo en 1993, y lo publico en 1995, su nombre Ruby fue elegido para reflejar su herencia de Perl. Entre sus caractersticas tenemos: Lenguaje de guiones interpretado: Posibilidad de realizar directamente llamadas al sistema operativo. Potentes operaciones sobre cadenas de caracteres y expresiones regulares

Retroalimentacin inmediata durante el proceso de desarrollo. Rpido y sencillo: Son innecesarias las declaraciones de variables. Las variables son de tipo dinmico. La sintaxis es simple y consistente. La gestin de la memoria es automtica Programacin orientada a objetos: Todo es un objeto. Clases, herencia, mtodos. Mtodos single ton. Mixins por mdulos. Iteradores y cierres. Tambin: Enteros de precisin mltiple. Modelo de procesamiento de excepciones. Carga dinmica Hilos

10

ANSI COMMON LISP En abril de 1981, despus de una reunin patrocinada por DARPA, se unieron los esfuerzos de Symbolics, el proyecto SPICE, el proyecto NIL y el proyecto S-1 Lisp, para definir Common Lisp fue diseado como una descripcin de una familia de dialectos de Lisp. Common Lisp recibi alimentacin de La Mquina Lisp, MacLisp, NIL, S-1 Lisp, Spice Lisp y Scheme. El libro Common Lisp: The language [14] es la descripcin de ese diseo. Su semntica fue dejada sin especificar en aquellas partes donde una fuerte especificacin pudiera ser un obstculo en el uso e investigacin de Lisp en 1986 se form un grupo de trabajo para producir un draft para un estndar ANSI de Common Lisp, entre las especificaciones que presento se encontraban estandarizaciones para portabilidad, facilidades de iteracin, manejo de grandes conjuntos de caracteres, un sistema de programacin orientada a objetos, entre otras, para una descripcin detallada ver . El estndar ANSI Common Lisp fue publicado en 1994. Lisp se consolido como el lenguaje de programacin ms poderosas y flexibles jams inventadas. Muchos de los lenguajes modernos han copiado la mayora de sus caractersticas, sin embrago no todas ya que entonces no podran decir que son un nuevo lenguaje sino simplemente otro dialecto de Lisp.

JAVA Java es una plataforma de software desarrollada por Sun Microsystems, de tal manera que los programas creados en ella puedan ejecutarse sin cambios en diferentes tipos de arquitecturas y dispositivos computacionales. La plataforma Java consta de las siguientes partes: El lenguaje de programacin, mismo. La mquina virtual de Java o JRE, que permite la portabilidad en ejecucin.

11

El API Java, una biblioteca estndar para el lenguaje. El lenguaje de programacin fue desarrollado por James Gosling, y sus equipo en Sun Microsystems,entre 1990 y 1994, pensado originalmente como un reemplazo de C++, orientado a dispositivos embebidos, y a la televisin interactiva, posteriormente que para rescatarlo del fracaso y fue reorientado hacia su aplicacin en la Web. Las cinco metas del lenguaje Java son: Orientado a objetos. Multiplataforma. Soporte integrado para redes de computadoras. Diseado para ejecutar cdigo de fuentes remotas de modo seguro. Fcil de usar. Desde sus inicios Java no fue bien recibido por su falta de aportaciones originales, su lentitud, y su rgida estructura, sin embargo en base a intensas campaas de marketing Sun ha logrado que en los ambientes empresariales. JAVA SCRIPT Es un lenguaje de script basado en objetos, que se apoya en el modelo de prototipos. Es muy popular por su uso en sitios Web fue desarrollado por Brendan Eich, en su trabajo para Netscape, quien lo public en diciembre de 1995, su sintaxis es parecida a la de C, y al igual que C utiliza el concepto de palabras reservadas, tiene soporte para expresiones regulares y UTF, cuando se usa en Web, se conecta a travs de su interfaz DOM (Document Object Model) a las aplicaciones tanto del lado del cliente como del servidor gracias a esto es usado para crear poderosas aplicaciones web dinmicas desafortunadamente los diferentes navegadores exponen diferentes

12

objetos y mtodos por lo cual es necesario escribir versiones especficas de un programa en Javascript para los diferentes tipos de navegadores. PHP Creado por Rasmus Lerdorf, en 1994, inicialmente eran una serie de scripts en Perl y posteriormente estos scripts fueron reescritos en C, que el usaba para algunas tareas Web, inicialmente significaba Personal Home Page Tools, y fue publicado por primera vez el 8 de junio de 1995, actualmente su nombre oficial es: PHP Hypertext Preprocessor, las caractersticas ms destacadas de PHP son su facilidad de aprendizaje y que es software libre, sumadas a su amplio soporte a manejadores de bases de datos lo han convertido en uno de los lenguajes ms populares para programacin Web, los famosos desarrollos LAMP comparte caractersticas con otros lenguajes de programacin como C y perl y recientemente con Java adems de ser usado en web, puede usarse desde la lnea de comandos y para construir GUI's con PHP-GTK. C# Es un lenguaje orientado a objetos desarrollado por Microsoft, tomando ideas de C++ y Java, como parte de su estrategia comercial esta normalizado, por ECMA quien en el ao 2001 publico la ECMA-334 C# Language Specification; en el ao 2003 se convirti en un estndar ISO (ISO/IEC 23270) adems de la implementacin de Microsoft existen implementaciones libres como Mono y dotGNU. Gracias a la maquinara comercial de Microsoft y la amplia base de escritorios Windows, el uso de C# es muy extendido en entornos corporativos y en el mundo Windows en general los proyectos libres de C#, no son muy populares entre la comunidad del software libre, por la desconfianza hacia Microsoft y sus patentes.

13

LENGUAJES COMPILADOS

Un lenguaje de programacin que tpicamente se implementa mediante un compilador, esto implica que una vez escrito el programa, ste se traduce a partir de su cdigo fuente por medio de un compilador en un archivo ejecutable para una determinada plataforma (por ejemplo Solaris para Sparc, Windows NT para Intel, etc.). Los lenguajes compilados son lenguajes de alto nivel en los que las instrucciones se traducen del lenguaje utilizado a cdigo mquina para una ejecucin rpida. Por el contrario un lenguaje interpretado es aquel en el que las instrucciones se traducen o interpretan una a una siendo tpicamente unas 10 veces ms lentos que los programas compilados. Es tericamente posible escribir un compilador o un intrprete para cualquier lenguaje, sin embargo en algunos lenguajes una u otra implementacin es ms sencilla porque se disearon con una implementacin en particular en mente. Algunos entornos de programacin incluyen los dos mecanismos, primero el cdigo fuente se traduce a un cdigo intermedio que luego se interpreta en una mquina virtual, pero que tambin puede compilarse justo antes de ejecutarse. La mquina virtual y los compiladores Just in Time de Java son un ejemplo de ello.

14

LENGUAJES ENSAMBLADOS

Los ensamblados le permiten ampliar la funcionalidad empresarial de MDX y DMX. Cree la funcionalidad que desee en una biblioteca, como por ejemplo una biblioteca de vnculos dinmicos (DLL), y agregue la biblioteca como ensamblado a una instancia de Analysis Services o a una base de datos de Analysis Services. Los mtodos pblicos de la biblioteca se ofrecern como funciones definidas por el usuario a procedimientos, clculos, acciones, aplicaciones cliente y expresiones de MDX y DMX. En el servidor se puede agregar un ensamblado con nuevos procedimientos y funciones. Puede usar los ensamblados para mejorar o agregar funcionalidad personalizada que no proporciona el servidor. Si usa ensamblados, puede agregar las nuevas funciones a las Expresiones multidimensionales (MDX), las Extensiones de minera de datos (DMX) o los procedimientos almacenados. Los ensamblados se cargan desde la ubicacin donde se ejecuta la aplicacin personalizada; en el servidor se guarda una copia del archivo binario del ensamblado junto con los datos de la base de datos. Cuando se quita un ensamblado, el ensamblado copiado tambin se quita del servidor. Los ensamblados pueden ser de dos tipos diferentes: COM y CLR. Los ensamblados CLR son ensamblados desarrollados en los lenguajes de programacin de NET Framework como C#, Visual Basic .NET, C++ administrado. Los ensamblados COM son bibliotecas COM que se deben registrar en el servidor, se pueden agregar a los objetos Server o Database cualquier usuario conectado al servidor o a cualquier objeto del servidor puede llamar a los ensamblados de servidor. Solo los objetos Database o los usuarios conectados a la base de datos pueden llamar a los ensamblados de base de datos.

15

LENGUAJES DECLARATIVOS

Los lenguajes declarativos son los que se utilizan para ordenar a la mquina que debe computarse en vez de como debe computarse, su caracterstica fundamental es la lgica como lenguaje de programacin. Un lenguaje declarativo est basado ms en las matemticas y en la lgica que los lenguajes imperativos, ms cercanos estos al razonamiento humano. Los lenguajes declarativos no dicen cmo hacer una cosa, sino, ms bien, qu cosa hacer o como debe hacer. A diferencia de los imperativos, no suele haber declaracin de variables ni tipos. En los lenguajes declarativos nos limitamos a indicar qu necesitamos, para que el ordenador nos lo entregue, sin ms preocupaciones. Es el caso, por ejemplo, del lenguaje SQL para bases de datos, que combina una serie de palabras reservadas esto es, palabras propias del lenguaje siguiendo una sintaxis establecida. Si tengo una agenda y quiero ver cuntos de los contactos que hay en ella viven en Madrid, puedo usar este lenguaje para hacer una seleccin: Select * from AGENDA where (ciudad="Madrid");

Esta instruccin SQL utiliza el comando ('Select') para seleccionar todas las filas ("*") de una tabla llamada AGENDA cuya columna "ciudad" tenga el valor "Madrid", para lo cual se vale de la condicin que indica la palabra 'where' seguida de un posible valor (where ciudad="Madrid"). No sabemos cmo lo hace, pero lo hace, y en realidad no tenemos por qu saberlo: nicamente tenemos que conocer la sintaxis del lenguaje declarativo para escribir una instruccin correctamente. La programacin declarativa es muy usada en la resolucin de problemas relacionados con inteligencia artificial, bases de datos, configuracin, y comunicacin entre procesos; sin embargo, ningn leguaje declarativo se aproxima en popularidad a los lenguajes imperativos.

16

Existen varios tipos de lenguajes declarativos: Los lenguajes lgicos, como Prolog. (conocido en el medio de la inteligencia artificial) Los lenguajes algebraicos, como Maude y SQL. (En lenguaje algebraico nace en la civilizacin musulmana al cual se le considera el padre del lgebra.) Los lenguajes funcionales, como Haskell. (un lenguaje puramente funcional estandarizado, y evaluacin perezosa.)

17

VENTAJAS DE LOS LENGUAJES DECLARATIVOS

Ideal para inteligencia artificial y para demostracin de teoremas. Son razonables matemticamente. Son fiables, elegantes, expresivos, claridad, potencia y concisin. Semnticas claras, simples y matemticamente bien fundadas. Comportamiento matemtico adecuado que permite razonar sobre los programas. Los lenguajes declarativos tienen la ventaja de que cuentan con un nmero limitado de instrucciones, lo cual hace que sean fciles de aprender.

DESVENTAJAS DE LOS LENGUAJES DECLARATIVOS

La principal desventaja de la programacin declarativa es que no puede resolver cualquier problema dado, sino que est restringida al subconjunto de problemas para los que el intrprete o compilador fue diseado. Otra desventaja de la programacin declarativa est relacionada con la eficiencia. Ya que amerita fases de interpretacin extra, en la cual se deben evaluar todas las consecuencias de todas las declaraciones realizadas. El proceso es relativamente ms lento que en la programacin imperativa. El nmero de operaciones que pueden hacerse es limitado por sus comandos predefinidos y del mayor o menor grado de su sintaxis.

18

APLICACIONES DE LOS LENGUAJES DECLARATIVOS

Los lenguajes declarativos son aplicables en la inteligencia artificial y a la programacin orientada a las necesidades concretas del usuario, a las bases de datos en el caso de SQL, o a la edicin de texto.

19

LENGUAJES DE PROGRAMACIN ORIENTADO A OBJETO

El desarrollo de programas orientados a objetos es un enfoque diferente del mundo informtico, implica la creacin de modelos del mundo real y la construccin de programas informticos basados en esos modelos. El proceso completo de programacin comienza con construccin de un modelo del suceso (evento) real. El resultado final es un programa de computadora que contiene caractersticas que representan alguno de los objetos del mundo real que son parte del suceso. El principio bsico de la programacin orientada a objeto es que un sistema de software se ve como una secuencia de transformaciones en un conjunto de objetos. Un objeto en el mundo real son: persona, tabla, computadora, avin, vuelo de avin, diccionario, ciudad, o la capa de ozono. La mayora de los objetos del mundo real tienen atributos (caractersticas que los describen). Por ejemplo los atributos de una persona incluyen el nombre, la edad, el sexo, la fecha de nacimiento, la direccin, etc. Entonces El paradigma de la programacin orientada a objetos usualmente tiene las siguientes caractersticas: Simula actividades del mundo real Tiene tipos de datos definidos por los usuarios. Re-usa cdigos a travs de la herencia. Permite el mismo nombre para diferentes funcionalidades. En Programacin orientada a objetos los programas son implementados y organizados como una coleccin cooperativa de entidades, cada una representando algn elemento (entidad) en el mundo real y persigue simular o representar las

20

entidades del mundo real y su uso en forma natural en la resolucin de un problema de computacin.

21

LOS PRINCIPIOS BSICOS EN QUE SE APOYAN LAS TECNOLOGAS ORIENTADAS A OBJETOS SON:

Objetos como instancia de una clase. Mtodos. Mensajes. Objeto como instancia de clase se define como la unidad que en tiempo de ejecucin realiza las tareas de un programa. Tambin a un nivel ms bsico se define como la instancia de una clase. Estos objetos interactan unos con otros, en contraposicin a la visin tradicional en la cual un programa es una coleccin de subrutinas. Un objeto es el resultado de la instanciacin de una clase. Entonces un objeto es sencillamente un tipo abstracto de datos al que se aades importantes innovaciones en comparticin de cdigo y reutilizacin los mecanismos bsicos de la orientacin a objeto son: Objeto, Mensaje y Mtodos, Clases e Instancias y Herencia. Los objetos tienen atributos y ellos a su vez comportamientos. El comportamiento es el conjunto de cosas que puede hacer un objeto; por ejemplo, una persona puede estudiar, caminar, correr , trabajar etc. En sntesis, se puede decir que los objetos conocen cosas y hacen cosas, las cosas que un objeto conoce son sus atributos las cosas que puede hacer son su comportamiento. Una idea fundamental es la comunicacin de los objetos a travs del paso de mensajes. El mtodo es la forma como lo hacen y la herencia permite distintos tipos de datos para compartir el mismo cdigo permitiendo una reduccin en el cdigo y un incremento en la funcionalidad. Entonces: Una definicin simple de un objeto es que constituye una instancia de una clase

22

Los objetos interactan unos con otros para proveer una solucin a un problema La clase es slo la descripcin del tipo de dato, el objeto es el que ocupa memoria en el computador Al momento de crear instancias o variables de la clase, el compilador reserva la cantidad de memoria adecuada para el tipo de dato solicitado. De un objeto puede decirse que tiene lo siguiente: Estado, en un momento dado. Identidad, que es nica entre objetos del sistema. Conducta, que usualmente son las operaciones sobre los datos de esa clase. La estructura y conducta de objetos similares son definidas en su clase comn...

23

CLASES

Generalmente una clase se puede definir como una descripcin abstracta de un grupo de objetos, cada uno de los cuales se diferencia por su estado especifico y es capaz de realizar una serie de operaciones. Un objeto es un simple elemento, no importa lo complejo que pueda ser. Una clase, por el contrario describe una familia de elementos similares. En la prctica, una clase es como un esquema o plantilla que se utiliza para definir o crear objetos. A partir de una clase se puede definir un determinado nmero de objetos. Cada uno de estos generalmente tendr un estado particular propio (una pluma estilogrfica puede estar llena, otra puede estar medio llena, y otra vaca) y otras caractersticas (como su color), aunque compartan varias operaciones comunes (como escribir o llenar su depsito de tinta). Los objetos tienen las siguientes caractersticas: Se agrupan llamados clases. Tienen datos internos que definen su estado actual. Pueden heredar propiedades de otros objetos. Pueden comunicarse con otros objetos pasando mensajes. Tienen mdulos que definen su comportamiento.

24

PILARES FUNDAMENTALES DE LA POO PARA DEFINIR UN OBJETO

La tecnologa orientada a objeto es uno de los motores de la industria del software de la dcada de los noventa, es una tecnologa que se remonta a los aos setenta y que ha ido madurando con el tiempo. Este es un nuevo paradigma de programacin, se dice paradigma a un conjunto de teoras estndar y mtodos que juntos representan medio de organizacin del conocimiento, es decir, un medio de visualizar el mundo es este sentido podemos decir que existen cuatro clases de programacin: Orientado a procedimientos Algoritmos. Orientado a objeto Clases y objetos. Orientados a lgica Expresados en clculos de predicado. Orientados a reglas If then. La orientacin a objeto se acopla a simulacin de situaciones del mundo real. Esta permite la representacin ms directa del modelo del mundo real en el cdigo. As trata de cumplir las necesidades de los usuarios finales, as como las propias de los desarrolladores de productos software. Para lograr modelizar el mundo real la POO se apoya en unos pilares fundamentales que son: Abstraccin. Encapsulacin. Modularidad. Jerarqua. La abstraccin es uno de los medios ms importantes, mediante el cual nos enfrentamos con la complejidad inherente del software. La abstraccin es la propiedad que nos permite representar las caractersticas esenciales de un objeto, sin preocuparse de las restantes caractersticas (no esenciales).

25

Una abstraccin se centra en la vista externa de un objeto, de modo que sirva para separar el comportamiento esencial de un objeto de su implementacin. Definir una abstraccin significa describir una entidad del mundo real. No importa lo compleja que pueda ser, y a continuacin usar esta descripcin en un programa. La abstraccin es un proceso mental que consiste en realzar los detalles relevantes de un objeto en estudio, es decir, lo que nos interesa de un objeto. Esto nos lleva a una simplificacin del problema ya que la informacin que se maneja en un momento dado disminuye y podemos tratar cosas diferentes como si fueran las mismas. Por ello y dada la complejidad de los programas actuales el uso de la abstraccin ha marcado un uso creciente. Entonces Las entidades del mundo real tienen un sin nmero de caractersticas y funciones asociadas de las cuales no todas son de relevancia para la solucin de un problema. La abstraccin es la tcnica que permite reconocer los elementos esenciales para la solucin de un problema dejando de lado los detalles irrelevantes. La abstraccin consiste en crear un modelo simplificado de una entidad del mundo real. La encapsulacin es la propiedad que permite asegurar que la informacin contenida en un objeto este oculta al mundo exterior. El objeto a no conoce lo que hace el objeto b y viceversa. La encapsulacin tambin se conoce como la ocultacin de la informacin, en esencia es el proceso de ocultar todos los secretos de un objeto que no contribuyen a sus caractersticas esenciales. Adems permite organizar datos y mtodos de una estructura, conciliando el modo en que el objeto se implementa, es decir, evitando el acceso a datos por cualquier otro medio distinto a los especificados.

26

La encapsulacin permite la divisin de un programa en mdulos, estos mdulos se implementan mediante clases de forma que una clase representa la encapsulacin de una abstraccin. En la prctica, esto significa que cada clase debe tener dos partes: una interfaz y una implementacin. El interfaz de una clase captura solo su vista externa y la implementacin contiene solo la abstraccin, as como los mecanismos que realizan el comportamiento deseado. Entonces El encapsulamiento es el concepto que ayuda a mantener juntos los datos y las funciones (procedimientos) que operan sobre stos. Las funciones y procedimientos que pertenecen a una entidad cualquiera se conocen como funciones miembros o mtodos. El encapsulamiento complementa el concepto de abstraccin, mediante el ocultamiento de informacin. La encapsulacin define los niveles de acceso para elementos de esa clase. Estos niveles de acceso definen los derechos de acceso para los datos, permitindonos el acceso a datos a travs de un mtodo de esa clase en particular, desde una clase heredada o incluso desde cualquier otra clase. Existen tres niveles de acceso: Pblico: funciones de toda clase pueden acceder a los datos o mtodos de una clase que se define con el nivel de acceso pblico. Este es el nivel de proteccin de datos ms bajo. Protegido: el acceso a los datos est restringido a las funciones de clases heredadas, es decir, la funcin miembro de esa clase y todas las subclases. Privado: el acceso a los datos est restringido a los mtodos de esa clase en particular. Este es nivel ms alto de proteccin de datos.

27

La modularidad es la propiedad que permite sub dividir una aplicacin en partes ms pequeas (llamadas mdulos) cada una de las cuales debe ser tan independiente como sea posible de la aplicacin en s y de las restantes partes. La modularidad consiste en dividir un programa en mdulos que se puedan copilar por separados, pero que tienen conexiones con otros mdulos. Por ejemplo en C++ los mdulos son archivos copilados por separados. La modularidad es la propiedad de un sistema que permite su descomposicin en un conjunto de mdulos cohesivos y dbilmente acoplados. Entonces La Modularidad involucra la divisin de un sistema completo de software en partes ms pequeas y manejables denominadas mdulos. La encapsulacin y modularidad se complementan. El encapsulamiento esconde los detalles de la implementacin y la modularidad permite el agrupamiento lgico de entidades relacionadas. La encapsulacin y la modularidad aseguran que una interfaz limpia est disponible para los usuarios de la entidad. La Jerarqua es la propiedad que permite la ordenacin de las abstracciones las dos jerarquas ms importantes de un sistema complejo son: estructura de clases (jerarqua <es-un> (is-a): generalizacin/especializacin) y estructura de objetos (jerarqua <parte-de> (part-of): agregacin. No se debe confundir clases y objetos de la misma clase: un coche rojo y un coche azul no son objetos de clases diferentes, si no objetos de la misma clase con atributos diferentes.

Las jerarquas de generalizacin/especializacin se conocen como herencia. Bsicamente, la jerarqua define una relacin entre clases, en donde una clase

28

comparte la estructura o comportamiento definido en una o ms clases (herencia simple y herencia mltiple, respectivamente. Entonces La jerarqua se refiere a la clasificacin u ordenamiento de abstracciones. Las abstracciones que conforman un sistema completo estn basadas en un orden particular. Las estructuras es un y tiene un, estn asociadas con la jerarqua. La herencia pertenece a la jerarqua es un mientras que la Agregacin pertenece a la jerarqua tiene un. La agregacin es el concepto que permite el agrupamiento fsico de estructuras relacionadas lgicamente. As un camin se compone de ruedas, motor, sistema de transmisin y chasis; en consecuencia, camin es una agregacin, y ruedas, motor, transmisin y chasis son agregados del camin. Existe una quinta propiedad que no se considera fundamental aunque no deja de ser importante. Hablemos del polimorfismo, y es la propiedad que permite literalmente la posibilidad de que una entidad tome muchas formas. En trminos prcticos el polimorfismo permite referirse a objetos de clases diferentes mediante el mismo elemento de programas y realizar las mismas operaciones de diferentes formas, segn sea el objeto que se referencia.
Por ejemplo, cuando se describe la clase mamfero se puede observar que la operacin comer es una operacin fundamental en la vida de los mamferos. De modo que cada tipo de mamfero debe poder realizar la operacin o funcin comer, de esta manera los distintos mamferos tienen distinta formas de realizar la operacin comer.

29

El polimorfismo implica la posibilidad de tomar un objeto de tipo (mamfero, por ejemplo) e indicarle que ejecute comer; esta accin se ejecutara de diferentes formas segn sea el objeto mamfero en el que se aplica. Clase, Herencia y Polimorfismo son aspectos claves en la POO, y se conocen como elementos esenciales en la orientacin a objeto. Entonces Permite desarrollar sistemas en los que objetos diferentes puedan responder de modo diferentes al mismo mensaje. Polimorfismo es la tcnica de usar una interfaz para mltiples implementaciones. Permite a las entidades tener diferentes estructuras internas para compartir la misma interfaz externa. Polimorfismo significa un nombre y mltiples funciones. La Herencia es la propiedad que permite a los objetos ser construidos a partir de otros objetos. Dicho de otro modo, la capacidad de un objeto para utilizar las estructuras de datos y los mtodos previstos en antepasados o antecedentes. El objetivo final es la reutilizabilidad o reutilizacin del cdigo anteriormente ya desarrollado. La herencia se apoya en el significado de ese concepto en la vida diaria. As las clases bsicas o fundamentales se dividen en sub-clases. Los animales se dividen en mamferos, anfibios, insecto, pjaros, peses etc. La clase vehculo se divide en sub-clase automvil, motocicleta, camin, autobs, etc. El principio en que se basa la divisin de clases es la jerarqua compartiendo caractersticas comunes. As todos los vehculos citados tienen un motor y ruedas, que son caractersticas comunes; si bien los camiones tienen una caja para transportar mercanca, mientras que las motocicletas tienen un manillar en lugar de un volante.

30

La herencia supone una clase base y una jerarqua de clases que contienen las clases derivadas de la clase base, aadiendo su propio cdigo especial y datos a ella, incluso cambiar aquellos elementos de la clase base que deseen ser cambiados.
No se debe confundir la relacin de los objetos con las clases, con las relaciones de una clase base con sus clases derivadas. Los objetos existentes en la memoria de la computadora expresan las caractersticas exactas de su clase y sirven como un mdulo o plantilla. Las clases derivadas heredan las caractersticas de su clase base, pero aaden otras caractersticas propias nuevas.

Entonces Una clase heredan sus caractersticas (datos y funciones) de otra clase. En el anlisis existen entidades que representan elementos del mundo real. En el entorno de la solucin existen las clases como tipos de datos definidos por el usuario. Las clases son la descripcin de un tipo de dato. Las variables creadas a partir de un tipo de dato clase, son denominadas instancias u objetos de la clase. Las clases son tipos de datos agregados definidos por el usuario. Las clases contienen tanto los datos miembros representando los tipos, como las funciones miembros que implementan operaciones en esos tipos Una clase es similar a una estructura en C

Para describir el tipo de dato estudiante definido por el usuario, podemos identificar los siguientes datos miembros: Nombre del estudiante. Edad del estudiante. Direccin del estudiante. Disciplinas en las que el estudiante fue admitido. Cursos registrados por el estudiante en un semestre.

31

TIPOS DE HERENCIA

La Herencia simple: Un objeto (clase) slo puede tener un ascendente, o dicho de otro modo una sub-base puede heredar datos y mtodos de una nica clase, as como aadir o quitar comportamientos de la clase base.

La Herencia mltiple: Es la propiedad de una clase de poder tener ms de un ascendente inmediato, o lo que es igual, adquirir datos y mtodos de ms de una clases.

32

PROPIEDADES ADICIONALES DE LA POO

El modelo objeto ideal no solo tiene los pilares fundamentales que se mencionaron anteriormente si no es conveniente que soporte, adems, estas otras propiedades: Concurrencia (multitareas). Persistencia. Genericidad. Manejo de excepciones.

33

INTELIGENCIA ARTIFICIAL

El trmino lo apareci por primera vez en 1956 por John McCarthy quien lo defino como: "Es la ciencia e ingeniera de hacer mquinas inteligentes, especialmente programas de cmputo inteligentes." Se podra decir que la inteligencia artificial es la mtica 5t generacin de las computadoras.

PROPSITO DE LA INTELIGENCIA ARTIFICIAL

Capacidad de una mquina para simular diversos aspectos de la inteligencia humana que permitira lograr objetivos tan ambiciosos como la comunicacin en lenguaje natural con el usuario, el manejo de bases de datos muy estructuradas y el uso de tcnicas de deduccin lgica. Al fin, segn sealan sus entusiastas promotores, se estara en camino de convertir a la computadora de procesadora de informacin a procesadora de conocimientos. Por lo dems, la IA es hoy ms que una remota posibilidad experimental; desde principios de esta dcada sus potencialidades concretas se han manifestado a travs de los Sistemas Expertos (SE), los cuales resuelven problemas especficos en reas, antao, de competencia absoluta de expertos humanos, con aplicaciones exitosas o muy prometedoras en variados terrenos: juegos, traducciones, diagnstico mdico, interfaces hombre-mquina en lenguaje natural, etc. El verdadero impacto de la inteligencia artificial se ver en la transformacin de los procesos productivos y de gestin de empresas; ese es el verdadero reto planteado para el desarrollo de la 5ta. Generacin y, en tal sentido, se esperan lograr frutos significativos en las siguientes reas de investigacin y desarrollo:

34

Automatizacin del trabajo manual. Se avanza en resolver la principal limitacin de los actuales robots industriales, los cuales carecen del control autnomo asociado a la posibilidad de analizar y reconocer imgenes visuales. Tambin se busca, con ayuda de la IA, que las tareas de diagnstico y mantenimiento de equipo puedan automatizarse, simplificando labores que se han resistido a encuadrarse dentro de los moldes tpicos de la divisin capitalista del trabajo. Automatizacin del trabajo intelectual. Es el campo preciso de los SE, cuyo objetivo es permitir automatizar la toma de decisiones racionales en reas especficas. Adems, se investiga en la aplicacin de la IA en el manejo de bases de datos muy estructuradas y con la opcin de arribar a inferencias no triviales al correlacionar la informacin almacenada en la computadora. Con esto se dara un paso decisivo en la taylorizacin del trabajo tcnico-administrativo. Automatizacin de la comunicacin entre las computadoras y su entorno. Como consecuencia y complemento de lo arriba expuesto, se quiere facilitar la interface hombre-mquina con el uso del lenguaje natural, el cual sera no slo comprendido sino generado por la computadora. Igualmente, se trabaja en cmo poder acrecentar automticamente bases de datos, va adquisicin y estructuracin de informacin tomada del entorno, con lo que se podran reconocer, por parte de la mquina, situaciones imprevistas y emitir decisiones al respecto. De concretarse estas expectativas, se minimizaran las incertidumbres que rodean el asumir ante los problemas soluciones que sean racionales al orden establecido. Entonces...

35

La inteligencia artificial busca imitar o igualar la capacidad humana de aprender, razonar, entender, y formas similares de actividad mental; aptitud para internalizar verdades, relaciones, hechos, significados, percibir, razonar y actuar etc. La inteligencia artificial dirige su mirada hacia procesos productivos y de gestin de empresas. A travs de la inteligencia artificial se han desarrollado los sistemas expertos que pueden limitar la capacidad mental del hombre y relacionan reglas de sintaxis del lenguaje hablado y escrito sobre la base de la experiencia. En la medicina tiene gran utilidad al acertar el 85 % de los casos de diagnstico. La inteligencia artificial se basa en lenguajes declarativos y es el campo de estudio que trata de aplicar los procesos del pensamiento humano usados en la solucin de problemas a la computadora. La I.A va de la mano con la robtica, sistemas expertos, en la robtica se aplican la inteligencia artificial para que puedan responder de manera ms efectiva a situaciones no estructuradas. Los sistemas expertos son aplicaciones de la I.A que usa una base de conocimiento de la experiencia humana para ayudar a la resolucin de problemas. La robtica es considerada como un campo interdisciplinario que combina conceptos y tcnicas de IA, con ingeniera ptica, electrnica y mecnica.

36

IMPORTANCIA Y APLICACIONES DE LA INTELIGENCIA ARTIFICIAL

La inteligencia artificial tiene diversidad de aplicaciones, segn las necesidades o requerimientos que se demanden, entre ellas tenemos: En la agricultura, controlar plagas y manejar cultivos en forma ms eficiente. En las fbricas, realizar montajes peligrosos y actividades tediosas (labores de inspeccin y mantenimiento). En la medicina, ayudar a los mdicos a hacer diagnsticos, supervisar la condicin de los pacientes, administrar tratamientos y preparar estudios estadsticos. En el trabajo domstico, brindar asesora acerca de dietas, compras, supervisin y gestin de consumo energtico y seguridad del hogar. En las escuelas, apoyar la formacin de los estudiantes, especialmente en aquellas materias consideradas complejas. Ayudar a los expertos a resolver difciles problemas de anlisis o a disear nuevos dispositivos. Aprender de los ejemplos para explorar bases de datos en busca de regularidades explotables. Proporcionar respuestas a preguntas en lenguaje natural usando datos estructurados y texto libre.

37

LOS LENGUAJES DE INTERNET

Internet, interconexin de redes informticas que permite a los ordenadores o computadoras conectadas comunicarse directamente, es decir, cada ordenador de la red puede conectarse a cualquier otro ordenador de la red. El trmino suele referirse a una interconexin en particular, de carcter planetario y abierto al pblico, que conecta redes informticas de organismos oficiales, educativos y empresariales. Tambin existen sistemas de redes ms pequeos llamados intranets, generalmente para el uso de una nica organizacin, que obedecen a la misma filosofa de interconexin. La tecnologa de Internet es una precursora de la llamada superautopista de la informacin, un objetivo terico de las comunicaciones informticas que permitira proporcionar a colegios, bibliotecas, empresas y hogares acceso universal a una informacin de calidad que eduque, informe y entretenga. A finales de 1998 estaban conectados a Internet unos 148 millones de ordenadores, y la cifra sigue en aumento. En Un lenguaje ms tcnico podemos decir que es un lenguaje de marcado o lenguaje de marcas es una forma de codificar un documento que, junto con el texto, incorpora etiquetas o marcas que contienen informacin adicional acerca de la estructura del texto o su presentacin. El lenguaje de marcas ms extendido es el HTML"HyperText Markup Language" (Lenguaje de marcado de hipertexto), fundamento del World Wide Web. Los lenguajes de marcado suelen confundirse con lenguajes de programacin. Sin embargo, no son lo mismo, ya que el lenguaje de marcado no tiene funciones aritmticas o variables, como s poseen los lenguajes de programacin. Histricamente, el marcado se usaba y se usa en la industria editorial y de la comunicacin, as como entre autores, editores e impresores. Un ejemplo de cmo funciona el lenguaje de marcado puede observarse en el dictado de viva voz de un documento a una persona que lo transcribe a mquina:

38

Ponga estilo de carta. Ponga comillas, ponga maysculas, Estimado Juan, ponga dos puntos, aparte, sangra, ponga primera letra mayscula, te escribo esta carta, ponga negrillas, de forma muy urgente, cierre negrilla, ya que no me has enviado... etc.".

World Wide Web (tambin conocida como Web o WWW) es una coleccin de ficheros, que incluyen informacin en forma de textos, grficos, sonidos y vdeos, adems de vnculos con otros ficheros. Los ficheros son identificados por un localizador universal de recursos (URL, siglas en ingls) que especfica el protocolo de transferencia, la direccin de Internet de la mquina y el nombre del fichero. Por ejemplo, un URL podra ser http://www.encarta.es/msn.com. Los programas informticos denominados exploradores como Navigator, de Netscape, o Internet Explorer, de Microsoft utilizan el protocolo http para recuperar esos ficheros. Continuamente se desarrollan nuevos tipos de ficheros para la WWW, que contienen por ejemplo animacin o realidad virtual (VRML). Hasta hace poco haba que programar especialmente los lectores para manejar cada nuevo tipo de archivo. Los nuevos lenguajes de programacin (como JAVA, de Sun Microsystems) permiten que los exploradores puedan cargar programas de ayuda capaces de manipular esos nuevos tipos de informacin. La gran cantidad de informacin vertida a la red ha dado lugar a la aparicin de buscadores, pginas especializadas en hacer ndices de los contenidos que facilitan localizaciones especficas. Algunos de los ms populares son Yahoo, Google, AltaVista o Lycos. Tambin los hay especficos para pginas en espaol como Oz u Ol.

39

EL PROTOCOLO DE INTERNET

El Protocolo de Internet (IP) es el soporte lgico bsico empleado para controlar este sistema de redes. Este protocolo especifica cmo las computadoras de puerta encaminan la informacin desde el ordenador emisor hasta el ordenador receptor. Otro protocolo denominado Protocolo de Control de Transmisin (TCP) comprueba si la informacin ha llegado al ordenador de destino y, en caso contrario, hace que se vuelva a enviar. La utilizacin de protocolos TCP/IP es un elemento comn en las redes Internet e intranet.

40

FUNCIONAMIENTO

Internet es un conjunto de redes locales conectadas entre s a travs de una computadora especial por cada red, conocida como gateway o puerta. Las interconexiones entre gateways se efectan a travs de diversas vas de comunicacin, entre las que figuran lneas telefnicas, fibras pticas y enlaces por radio. Pueden aadirse redes adicionales conectando nuevas puertas. La informacin que se debe enviar a una mquina remota se etiqueta con la direccin computerizada de dicha mquina. Los distintos tipos de servicio proporcionados por Internet utilizan diferentes formatos de direccin (vase Direccin de Internet). Uno de los formatos se conoce como decimal con puntos, por ejemplo 123.45.67.89. Otro formato describe el nombre del ordenador de destino y otras informaciones para el enrutamiento, por ejemplo mayor.dia.fi.upm.es. Las redes situadas fuera de Estados Unidos utilizan sufijos que indican el pas, por ejemplo (.es) para Espaa o (.ar) para Argentina. Dentro de Estados Unidos, el sufijo anterior especifica el tipo de organizacin a que pertenece la red informtica en cuestin, que por ejemplo puede ser una institucin educativa (.edu), un centro militar (.mil), una oficina del Gobierno (.gov) o una organizacin sin nimo de lucro (.org). Una vez direccionada, la informacin sale de su red de origen a travs de la puerta. De all es encaminada de puerta en puerta hasta que llega a la red local que contiene la mquina de destino. Internet no tiene un control central, es decir, no existe ningn ordenador individual que dirija el flujo de informacin. Esto diferencia a Internet y a los sistemas de redes semejantes de otros tipos de servicios informticos de red como CompuServe, Amrica Online o Microsoft Network.

41

CRONOLOGA DE LOS LENGUAJES DE INTERNET

Los orgenes de Internet hay que buscarlos en un proyecto del Departamento de Defensa estadounidense que pretenda obtener una red de comunicaciones segura que se pudiese mantener aunque fallase alguno de sus nodos. As naci ARPA, una red informtica que conectaba ordenadores localizados en sitios dispersos y que operaban sobre distintos sistemas operativos, de tal manera que cada ordenador se poda conectar a todos los dems. Los protocolos que permitan tal interconexin fueron desarrollados en 1973 por el informtico estadounidense Vinton Cerf y el ingeniero estadounidense Robert Kahn, y son los conocidos Protocolo de Internet (IP) y Protocolo de Control de Transmisin (TCP). Fuera ya del mbito estrictamente militar, esta Internet incipiente (llamada Arpanet) tuvo un gran desarrollo en Estados Unidos, conectando gran cantidad de universidades y centros de investigacin. A la red se unieron nodos de Europa y del resto del mundo, formando lo que se conoce como la gran telaraa mundial (World Wide Web). En 1990 Arpanet dej de existir.

A finales de 1989, el informtico britnico Timothy Berners-Lee desarrolla la World Wide Web para la Organizacin Europea para la Investigacin Nuclear, ms conocida como CERN. Su objetivo era crear una red que permitiese el intercambio de informacin entre los investigadores que participaban en proyectos vinculados a esta organizacin. El objetivo se logr utilizando archivos que contenan la informacin en forma de textos, grficos, sonido y vdeos, adems de vnculos con otros archivos. Este sistema de hipertexto fue el que propici el extraordinario desarrollo de Internet como medio a travs del cual circula gran cantidad de informacin por la que se puede navegar utilizando los hipervnculos. Adems de la utilizacin acadmica e institucional que tuvo en sus orgenes, hoy se emplea Internet con fines comerciales. Las distintas empresas no slo la

42

utilizan como escaparate en el que se dan a conocer ellas mismas y sus productos, sino que, a travs de Internet, se realizan ya mltiples operaciones comerciales. Especialmente la banca tiene en la red uno de sus puntos estratgicos de actuacin para el futuro prximo. En estos momentos se est desarrollando lo que se conoce como Internet2, una redefinicin de Internet que tiene como objetivo principal lograr el intercambio de datos multimedia en tiempo real. El avance ha de venir de la mano de la mejora en las lneas de comunicacin, con el ancho de banda como principal aliado.

43

CONCLUSIN

Es interesante observar que a medida que han transcurrido el tiempo los lenguajes de programacin bsicamente no han cambiado en su forma lgica de procesar las instrucciones, los avance en este sentido son variaciones que modifican de lenguaje en lenguaje. Tan es as que la inteligencia artificial utiliza lenguajes creados hace dcadas. Una rama que hoy da es un tab moral por el hombre querer crear un ente que iguale al ser humano. El mito de la inteligencia artificial de que las maquinas sustituir al hombre es algo improbable ya que la mente humana es prodigiosa es ella y no la inteligencia artificialla que ha logrado que en unas pocas dcadas las computadoras hayan logrado aumentar geomtricamente muchas de sus capacidades; especialmente las de almacenar ordenadamente datos (texto, imgenes, sonidos, videos y programas ejecutables), y la velocidad y cantidad de clculos, adems la Capacidad para aprender, razonar, entender, y formas similares de actividad mental; aptitud para internalizar verdades, relaciones, hechos, significados, etc. es insuperable ya que son propias e innatas del ser humano. La Programacin Orientada a Objeto tambin juega un papel fundamental en todo esto, adems de generar interfaces amigables y acercndose ms a los requerimientos de los usuarios. La POO es el motor de la industria del software y se ha expandido hasta lograr ser los lenguajes de vanguardia en la actualidad. La POO busca aislar x problema del mundo real y darle una solucin o varias soluciones mediante un programa, basndose en la abstraccin, encapsulacin, polimorfismo, jerarqua, herencia y otros elementos que permiten solucionar un problema por ms complejo que sea. El concepto crucial se denomina clase, por medio este concepto La POO desarrolla cdigos que se pueden reutilizar reduciendo as el tiempo de programacin. En La actualidad, los lenguajes de programacin orientada a objetos

44

ms utilizados son el lenguaje C++, JAVA, Smalltalk, Pascal orientado a objetos (Object Pascal) y otros, bien derivados, bien precursores de stos. Los lenguajes de internet fueron creados en sus principios para fines militares, sin embargo para finales de 1998 estaban conectados a Internet unos 148 millones de ordenadores, y la cifra sigue en aumento. El internet ha abierto las puertas de la informacin tanto que el mundo est interconectado y lo que sucede en China, Japn o Mongolia se puede saber con tan solo tener un ascenso a internet esto ha influido en la globalizacin. La cantidad de millones de personas que se encuentran interconectadas crean lo que llamamos el Ciberespacio, entorno creado por la interconexin de redes planetarias de sistemas informticos.

45

ANEXOS

FICCIN O VISIN FUTURISTA?

46

LA COMPUTADORA QUE APRENDE DE SUS PROPIOS ERRORES

47

BIBLIOGRAFA

1)

PROGRAMACIN ORIENTADA A OBJETO DE LUIS JOYANES AGUILAR

2) 3) 4) 5) 6) 7)

http://max2012.blogspot.es/1310250300/ http://www.aplicacionez.com/ http://es.kioskea.net/contents/poo/encapsul.php3 http://bvs.sld.cu/revistas/san/vol2_2_98/san14298.htm http://www.monografias.com/trabajos/iartificial/pagina1_3.htm http://es.wikipedia.org/wiki/Inteligencia_artificial#La_inteligencia_artificial_ y_los_sentimientos

8) 9) 10)

http://bvs.sld.cu/revistas/san/vol2_2_98/san13298.htm http://www.analitica.com/ Microsoft Encarta 2007. 1993-2006 Microsoft Corporation. Reservados todos los derechos.

48