• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Evolución de los lenguajes de programación
 

Evolución de los lenguajes de programación

on

  • 344 views

 

Statistics

Views

Total Views
344
Views on SlideShare
344
Embed Views
0

Actions

Likes
0
Downloads
1
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Evolución de los lenguajes de programación Evolución de los lenguajes de programación Document Transcript

    • 03/09/12 Nombre de la primera página Usted se ha identificado como Javier Noboa (Salir) Inicio Cursos Noticias Participantes Página Principal ► Mis cursos ► poo14s ► Tema 1 ► Wiki - Evolución de los lenguajes de programación ► Nombre de la primera página ► Ver Buscar wikis Navegación Página Principal EVOLUCIÓN DE LOS LENGUAJES DE Área personal Páginas del sitio PROGRAMACIÓN. Mi perfil Vamos a llevar a cabo una introducción muy general sobre la evolución Mis cursos de los lenguajes en informática, para entrar posteriormente y más a poo14s fondo, en describir la aparición, los principios teóricos y la evolución Participantes de la Programación Orientada al Objeto. General Tema 1 Esta introducción debe ser una visión general y claraLa evolución de Elementos de la los lenguajes de programación la podemos analizar desde tres POO perspectivas: Encapsulamiento Sensores de Evolución en cuanto a la tecnología movimiento Evolución en cuanto a la conceptualización Wiki - Evolución en cuanto al enfoque Evolución de los lenguajes de programación Nuevo Ver Editar Comentarios Historia Mapa Archivos Ver Editar Comentarios Versión imprimible Historia Mapa Nombre de la primera página Archivos Identifiquemos clases C# J# Java BIENVENIDOS A LA WIKI DE 4 SEMESTRE ING.SISTEMAS Arreglos de objetos "UNIANDES" Laboratorio - Clases Laboratorio - Encapsulamiento Prueba Qué es un Wiki??? Tema 2 Tema 3 Tema 4 pv23s Ajustes Administración del curso Ajustes de mi perfil EVOLUCIÓN DE LOS LENGUAJES DE PROGRAMACIÓN. Nombres de Colaboradores: Daniel Ubilluz, Jenyfer Utitiaja, Diego Sanchez, Moisés Andrade ,Alexis Díaz , Alan López, Luis Cambal, Eduardo Díaz, Alexis pilco, Javier Noboa, Henry Cambal, Jean Carlos190.152.113.82/lggz/moodle/mod/wiki/view.php?id=255 1/10
    • 03/09/12 Nombre de la primera página Toa y el resto de compañeros de 4 semestre de Ing.Sistemas . EVOLUCIÓN EN CUANTO A LA TECNOLOGÍA Introducción Conocer la historia del desarrollo de cualquier campo del saber humano es de gran importancia para aquellos que planeen desenvolverse en dicho campo, ya que tiene cuando menos dos beneficios tangibles: Conocer el estado promedio del arte y evitar cometer errores ya cometidos. Así es más fácil tomar las decisiones correctas y sobrevivir sin esfuerzo a muchas modas que estridentemente proclaman la reinvención del hilo negro. Como dijo el filósofo español Gorge Santayana “El que no conoce la historia está condenado a repetirla”. Es comúnmente aceptado que la historia de la computación moderna comienza con Charles Babbage, en 1822, sin embargo las primeras computadoras mecánicas y eléctricas no contaban con un lenguaje de programación tal como lo conocemos ahora, la mayoría de ellas era construida para llevar a cabo una tarea específica; por lo tanto la forma de programarla era particular a cada computadora. Fue en el año de 1945 cuando el matemático Jhon Von Neumann[1] fascinado por las posibilidades de ENIAC[2], elaboró un estudio que demostró que una computadora podía tener una estructura física 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 innovación de Von Neunmann, que en conjunto se conoce como la técnica de programa almacenado es que se inicia la era de los lenguajes de programación. Los primeros lenguajes y las cinco generaciones de Lenguaje de Programación Primera Generación De Maquina: Son los Lenguajes más básicos. Estos lenguajes se representan por bytes (que son números binarios). Estos valores pueden corresponder a que la electricidad esté encendida o apagada . A partir de estos dos estados se forman los esquemas de codificación que permiten generar letras, números y caracteres especiales. Segunda Generación Lenguajes de Ensambladores: El lenguaje ensamblador constituye el primer intento de sustitución del lenguaje máquina por uno más cercano al usado por los humanos. Este acercamiento a las personas se plasma en las siguientes aportaciones: Uso de una notación simbólica o nemotécnica para representar los códigos de operación190.152.113.82/lggz/moodle/mod/wiki/view.php?id=255 2/10
    • 03/09/12 Nombre de la primera página direccionamiento simbólico Se permite el uso de comentarios entre las líneas de instrucciones, haciendo posible la redacción de programas más legibles. Tercera Generación Lenguajes de Alto Nivel: Son llamados porque se asemejan mas al lenguaje que utiliza los seres humanos a comunicarse. Fueron desarrolladas con la finalidad de facilitar el proceso de programación Entre los lenguajes de Tercera Generación se Incluyen: FORTRAN COBOL BASIC PASCAL C Y C++ JAVA Shortcode En 1949,aparece el primer lenguaje que se usó en computadoras electrónicas: “Shortcode”, requería que el programador convirtiera (compilara) su programa a 0s y 1s de manera manual. A-0 Fue hasta el año de 1951, que Grace Hopper[3] trabajando para Remington Rand, comienza a desarrollar el primer compilador, lo que trajo consigo una programación más rápida. Fortran Es en el año de 1957 cuando aparece el primero de los grandes lenguajes de programación de uso aun actualmente: FORTRAN, que proviene de Fórmula TRANslating system. Fue desarrollado por IBM para cómputo científico, el líder del proyecto fue John Backus, que después contribuiría en ALGOL. El lenguaje original solo incluía FOR, DO y GOTO. También definió los tipos de datos básicos: TRUE, FALSE, integer, real, double precisión. El lenguaje original era bueno manejando números, pero malo manejando entrada y salida, lo cual propicio la aparición de otros lenguajes orientados a negocios. LISP En el año de 1958, el profesor John McCarthy[4] del M.I.T. comenzó a desarrollar la teoría de un lenguaje de procesamiento de listas. En 1959 aparece públicamente la primer implementación llamada LISP 1.5. En 1960 McCarthy publica un histórico articulo[5] acerca de los fundamentos de LISP que hizo por la programación lo mismo que hizo Euclídes por la geometría, demostrar como con unos cuantos operadores y una notación para funciones es posible construir un lenguaje de programación completo[6]. Es importante hacer notar que McCarthy no solo marco un hito en la historia los lenguajes de programación sino190.152.113.82/lggz/moodle/mod/wiki/view.php?id=255 3/10
    • 03/09/12 Nombre de la primera página que creo un modelo de programación que ha demostrado ser superior, tanto que podemos decir que en la actualidad existen dos grandes modelos de programación el de C y el de Lisp, y podemos notar que los lenguajes del modelo C tratan de parecerse cada vez más a Lisp. ALGOL En el año de 1958 un comité crea la especificación del lenguaje ALGOL, la tenia la particularidad de no definir la manera de manejar entrada y salida, dejando esta parte libre a cada implementación. 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 60s. Su principal contribución es ser la raíz 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 fácil de aprender para gente que no tuviera formación en ciencias de la computación. Sus únicos tipos de datos fueron cadenas y números. Lo que le dio la característica de poder agruparlos en arreglos sencillos, de modo que los datos podían ser organizados y seguidos de una mejor manera. Las sentencias de COBOL se parecen mucho a las usadas por el idioma inglés, haciendo que fuera fácil de aprender. Todo esto con la finalidad de que los negocios promedio lo pudieran aprender y usar. Cuarta Generación Lenguajes de Propósito Especial: Posteriormente, usando estos lenguajes, se han redactado programas destinados a facilitar un número variado de operaciones en campos de aplicación específicos como simulación de fenómenos físicos, manipulación de datos estadísticos, etc. Los más avanzados y flexibles de estos programas son las planillas electrónicas u hojas de cálculo y los programas de administración de archivos o bases de datos. Tipos En función de la forma de programar. Lenguajes procedurales. FORTRAN, BASIC, PASCAL, ADA, MODULA-2 Lenguajes declarativos. En este caso, el proceso por el cual se ejecuta el programa no aparece de forma explícita en el programa, el programador no tiene que indicar el proceso detallado de cómo realizar la tarea. Orientados a objetos. El diseño de los programas se centra más en los datos y su estructura. Los programas consisten en descripciones de unidades denominadas objetos, que encapsulan los datos (almacenados en variables) y las operaciones que actúan sobre ellos (que indican el comportamiento del objeto). El lenguaje más usado dentro de este tipo es el C++. Orientados al problema. Están diseñados para problemas específicos, principalmente de gestión. Según su campo de aplicación. Aplicaciones científicas. FORTAN y PASCAL Aplicaciones en procesamiento de datos. Lenguajes aptos para este tipo de aplicaciones son COBOL y SQL. Aplicaciones de tratamiento de textos. Estas aplicaciones están asociadas al manejo de textos en lenguaje natural. Un lenguaje muy adecuado para este tipo de aplicaciones es el C. Aplicaciones en inteligencia artificial. Los lenguajes más populares dentro del campo de la inteligencia artificial son LISP y PORLOG Aplicaciones de programación de sistemas. En este campo se incluirían la programación de software de interfaz entre el usuario y el hardware, ADA, MODULA- 2 y C.190.152.113.82/lggz/moodle/mod/wiki/view.php?id=255 4/10
    • 03/09/12 Nombre de la primera página Lenguajes de Internet. HTML, JAVA, Perl, PHP. Quinta Generación Lenguajes Naturales Esta generación incluye la inteligencia artificial y sistemas expertos. En lugar de solo ejecutar un conjunto de ordenadores, el objetivo de estos sistemas es "pensar" y anticipar la necesidad del usuario. Cronología. FECHA LENGUAJE ACONTECIMIENTO Job Backus propone el desarrollo de un nuevo 1953 FORTRAN lenguaje Un equipo de IBM comienza a trabajar en el 1954 FORTRAN FORTRAN 1957 FORTRAN IBM desarrolla la primera versión El profesor John McCarthy y sus alumnos 1959 LISP desarrolla el LISP Se reúnen representantes europeos y de EEUU 1960 ALGOL para la creación de un nuevo lenguaje 1960 COBOL Fue creado COBOL Se publica el libro de Kenneth Iverson “A 1962 APL Programming Language Mediado El APL es implantado por IBM en una versión APL de los 60 conocida como APL/360 1965 BASIC Aparece BASIC 1966 FORTRAN Aparece el FORTRA IV 1968 ALGOL Se implementó una nueva versión multi-proposito Finales APL Está disponible para el mercado en general de los 60 1970 PASCAL Niklaus Wirth diseña PASCAL Se desarrolla en la Universidad de Aix-Marsailles 1972 PROLOG en Francia. 1972 C Dennis Ritchie crea el lenguaje C. 1977 FORTRAN Aparece el FORTRAN 77 Finales MODULA-2 Niklaus Wirth dirige el desarrollo de MODULA-2 de los 70 Principio C++ Se desarrolla el lenguaje C++ de los 80190.152.113.82/lggz/moodle/mod/wiki/view.php?id=255 5/10
    • 03/09/12 Nombre de la primera página 1985 CLIPPER Se crea CLIPPER 1986 CLIPPER Aparece CLIPPER AUTUMN86 1987 CLIPPER CLIPPER SUMMER87 1990 FORTRAN Aparece el FORTRAN 90 Principios JAVA James Gosling y su equipo comienzan a 90 desarrollar JAVA 1993 Visual C++ Se desarrolla el lenguaje Visual C++ 1994 DELPHI Aparece la primera versión 1995 JAVA Se lanza al mercado JAVA 1999 DELPHI Aparece Delphi 5.0 para windows 98 NT/2000 Tendencias de cara al futuro Todos los lenguajes de programación actuales coinciden en una tendencia clara hacia las comunicaciones, ya que Internet es el objetivo claro de todas las empresas y usuarios particulares. Teniendo en cuenta que la programación está orientada a dar servicio a estas dos áreas, que son las que más dinero mueven, podemos observar como cada vez los lenguajes de programación e Internet están más ligados. Al igual que los lenguajes de programación dependen de la demanda de empresas y usuarios, estos dependen de los servicios que les proporcione la programación. Con esto solo quiero indicar que se ha formado un círculo vicioso (aunque cabría decir beneficioso) que hace rodar a todo el conjunto en un avance continuo, ya que cuando uno de los elementos queda “atascado” son los otros los que tiran de el con fuerza. Evolución en cuanto a la conceptualización El primer avance en metodología de programación, vino con la Programación Estructurada (en este concepto vamos a incluir el propio y el de técnicas de Programación con Funciones también llamado procedural, ya que ambos se hallan íntimamente relacionados, no creemos, que se pueda concebir la programación estructurada sin el uso masivo de funciones). La programación en ensamblador es lineal, es decir, las instrucciones se ejecutan en el mismo orden en que las escribimos. Podemos, sin embargo, alterar este orden haciendo saltos desde una instrucción a otro lugar del programa distinto a la instrucción que le sigue a la que se estaba procesando. El BASIC tradicional también trabaja de este modo. Este sistema de trabajo es complicado, ya que obliga al190.152.113.82/lggz/moodle/mod/wiki/view.php?id=255 6/10
    • 03/09/12 Nombre de la primera página programador a retener en su cabeza permanentemente todo el código escrito hasta un momento determinado para poder seguir escribiendo el programa; además a la hora de leerlo, el programador se pierde con facilidad porque debe ir saltando continuamente de unos trozos de código a otros. Veamos un ejemplo típico de cómo se abordaría una misma tarea desde las dos perspectivas. La tarea consiste en mostrar los números del 1 a 10. Lo explicaremos en pseudo-código (exponer los pasos a realizar en lenguaje natural, en lugar de hacerlo en alguno de los lenguajes de programación existentes) para que resulte más comprensible: Programación lineal Cada línea de programa debe ir precedida de un identificador (una etiqueta) para poder referenciarla, para este ejemplo hemos utilizado números, aunque podría utilizarse cualquier otro identificador: 1. Hacer una variable igual a 0 2. Sumar 1 a esa variable 3. Mostrar la variable 4. Si la variable es 100 -> terminar, Si_no -> saltar a 1: Programación estructurada Hacer una variable igual a 0 Mientras que sea menor que 100 -> sumar 1 y mostrarla Lo que se intenta, es de que el programador pueda hacer programas cada vez más extensos sin Perder se en un entramado de líneas de código interdependientes. Un programa en estilo lineal se parece a la red neuronal del cerebro, si usted ha visto alguna vez una foto de estas, no lo habrá olvidado: en esa maraña de neuronas y conexiones nerviosas no hay quien se entienda, y si no que se lo pregunten a los neurofisiología. Para evitar esto, junto con la programación estructurada aparece un concepto que nos permite abarcar programas más amplios con menor esfuerzo: la de función. La idea es muy simple: muchas veces realizo procesos que se repiten y en los que sólo cambia algún factor, si trato ese proceso como un subprograma al que llamo cada vez que lo necesito, y cada vez que lo llamo puedo cambiar ese factor, estaré reduciendo el margen de error, al reducir el número de líneas que necesito en mi programa, ya que no tengo que repetir todas esas líneas cada vez que quiera realizar el proceso, con una sola línea de llamada al subprograma será suficiente; además, de haber algún fallo en este proceso el error queda circunscrito al trozo de código de la función. EVOLUCIÓN EN CUANTO AL ENFOQUE Programación procedural Programación declarativa Programación orientada a objetos Orientados al problema. Programación Procedural190.152.113.82/lggz/moodle/mod/wiki/view.php?id=255 7/10
    • 03/09/12 Nombre de la primera página La mayor parte de los lenguajes de alto nivel soportan la creación de procedimientos, que son trozos de código que realizan una tarea determinada. Un procedimiento podrá ser invocado muchas veces desde otras partes del programa con el fin de aislar la tarea en cuestión y, una vez que finaliza su ejecución, retorna al punto del programa desde donde se realizó la llamada. Además, cada procedimiento tendrá su propio conjunto de datos, aunque podrá acceder a datos globales y a los pasados como parámetros desde el programa principal o desde otros procedimientos. De esta forma, podemos dividir nuestro problema en problemas más pequeños, y así, llevar la complejidad a un nivel manejable. Programación Declarativa Se les conoce como lenguajes declarativos en ciencias computacionales a aquellos lenguajes de programación en los cuales se le indica a la computadora qué es lo que se desea obtener o qué es lo que se está buscando, por ejemplo: Obtener los nombres de todos los empleados que tengan más de 32 años. Eso se puede lograr con un lenguaje declarativo como SQL. La programación declarativa es una forma de programación que implica la descripción de un problema dado en lugar de proveer una solución para dicho problema Existen varios tipos de lenguajes declarativos: Los lenguajes lógicos, como Prolog. Los lenguajes algebraicos, como Maude y SQL. Los lenguajes funcionales, como Haskell Programación Orientada al Objeto Son lenguajes imperativos basados en clases (algunos, llamados mixtos soportan también el modelo procedural) Orientados al problema. Están diseñados para problemas específicos, principalmente de gestión. En estos lenguajes, los programas están formados por sentencias que ordenan que se quiere hacer. Generalmente, estos lenguajes suelen ser generadores de aplicaciones que permiten automatizar en la medida de lo posible la tarea de desarrollo de software de aplicaciones de gestión CARACTERÍSTICAS DE LA POO ABSTRACCION: denota las características esenciales de un objeto, donde se capturan sus comportamientos. Cada objeto en el sistema sirve como modelo de un "agente" abstracto que puede realizar trabajo, informar y cambiar su estado, y "comunicarse" con otros objetos en el sistema sin revelar cómo se implementan estas características. ENCAPSULAMIENTO: Significa reunir a todos los elementos que pueden considerarse pertenecientes a una misma entidad, al mismo nivel de abstracción. Esto permite aumentar la cohesión de los componentes del sistema. MODULARIDAD: Propiedad que permite subdividir una aplicación en partes más pequeñas (llamadas módulos), cada una de las cuales debe ser tan independiente como sea posible de la aplicación en sí y de las restantes partes. HERENCIA: 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 volver a implementarlo. Cuando un objeto hereda de más de una clase se dice que hay herencia múltiple. RECOLECCION DE BASURA: la recolección de basura es la técnica por la cual el entorno de objetos se encarga de destruir automáticamente, y por tanto desvincular la memoria asociada, los objetos que hayan quedado sin ninguna referencia a ellos. Esto significa que el programador no debe preocuparse por la asignación o liberación de memoria, ya que el entorno la asignará al crear un nuevo objeto y la liberará cuando nadie lo esté usando. EVOLUCIÓN HACIA LA OOP Simula (Nygaard, 60s) Smalltalk (Xerox PARC, 70s) Eiffel (Meyer, 80s) C++ (Stroustrup, 80s) Java (Sun Microsystems, 90s) C# (Microsoft, 00s)190.152.113.82/lggz/moodle/mod/wiki/view.php?id=255 8/10
    • 03/09/12 Nombre de la primera página Evolución en cuanto a la tecnología - JEAN CARLOS TOA El concepto es confluente con el de Revolución tecnológica, puesto que sólo durante los períodos de mayor innovación técnica se marca la diferencia del ritmo de desarrollo entre ambos y de trascendencia que existe entre los conceptos genéricos de evolución y revolución. Durante la mayor parte de la historia de la humanidad, el ritmo de dichas innovaciones fue lento, sin embargo, a partir de la segunda guerra mundial la humanidad ha experimentado un crecimiento exponencial en el uso y desarrollo de la tecnología. El período pretecnológico, en el que todas las especies animales (aparte de la especie humana, algunas aves y primates) siguen hoy en día, era un período no racional de los primeros homínidos prehistóricos La aparición de la tecnología, que ha sido posible por el desarrollo de la facultad racional, hallando el camino para la primera etapa: la herramienta. Una herramienta proporciona una ventaja mecánica en el cumplimiento de una tarea física, y debe ser alimentada por la energía humana o animal. Permiten cosas imposibles de lograr sólo con el cuerpo humano, como ver detalles visuales diminutos con una sencilla lente o un sofisticado microscopio; la manipulación de objetos pesados (con máquinas complejas como una grúa, simples, como una polea, o con instrumentos tan sencillos como una cesta); o el transporte, procesamiento y almacenamiento de todo tipo de fluidos o granos, con un cubo de agua, un odre o un barril para el vino, o una vasija de cerámica para el aceite. La segunda etapa tecnológica fue la creación de la máquina. Restringiendo este concepto al de la máquina alimentada por energía no humana ni animal, es una herramienta que sustituye el elemento humano de esfuerzo físico, y requiere de un operador sólo a su función de control. Las máquinas se extendieron con la revolución industrial, aunque el barco o los molinos de viento, y otros tipos de máquinas que responden a esta definición, son muy anteriores. La tercera, y última etapa de la evolución tecnológica es el autómata. El autómata es una máquina que elimina el elemento de control humano con un algoritmo automático. Ejemplos de máquinas que presentan estas características son los relojes digitales, conmutadores telefónicos automáticos, marcapasos, y los programas de ordenador. Tecnología, energía y límites del desarrollo La utilización de distintas formas (como la electricidad, el movimiento, la luz o el calor) y fuentes de energía (combustibles fósiles -como el carbón, el petróleo y el gas natural-, la energía hidráulica, la energía nuclear o las energías alternativas) demandadas en cantidades crecientes por el desarrollo tecnológico y económico ha producido la crisis energética que desde los años 1970 viene cuestionando la posibilidad del mantenimiento del actual modelo de desarrollo, sumado a otros efectos nocivos, tanto por el desarrollo desigual, como por sus consecuencias medioambientales (contaminación, calentamiento global, etc.). Evolución en cuanto a la conceptualización- JUAN ALARCON La programación en ensamblador es lineal, es decir, las instrucciones se ejecutan en el mismo orden en que las escribimos. Podemos, sin embargo, alterar este orden haciendo saltos desde una instrucción a otro lugar del programa distinto a la instrucción que le sigue a la que se estaba procesando. El BASIC tradicional también trabaja de este modo. Este sistema de trabajo es complicado, ya que obliga al programador a retener en su cabeza permanentemente todo el código escrito hasta un momento determinado para poder seguir escribiendo el programa; además a la hora de leerlo, el programador se pierde con facilidad porque debe ir saltando continuamente de unos trozos de código a otros. Veamos un ejemplo típico de cómo se abordaría una misma tarea desde las dos perspectivas. La tarea consiste en mostrar los números del 1 a 10. Lo explicaremos en pseudo-código (exponer los pasos a realizar en lenguaje natural, en lugar de hacerlo en alguno de los lenguajes de programación existentes) para que resulte más comprensible: Programación lineal Cada línea de programa debe ir precedida de un identificador (una etiqueta) para poder referenciarla, para este ejemplo hemos utilizado números, aunque podría utilizarse cualquier otro identificador: 1. Hacer una variable igual a 0 2. Sumar 1 a esa variable 3. Mostrar la variable 4. Si la variable es 100 -> terminar, Si_no -> saltar a 1: Programación estructurada Hacer una variable igual a 0 Mientras que sea menor que 100 -> sumar 1 y mostrarla Lo que se intenta, es de que el programador pueda hacer programas cada vez más extensos sin Perder se en un entramado de líneas de código interdependientes. Un programa en estilo lineal se parece a la red neuronal del cerebro, si usted ha visto alguna vez una foto de estas, no lo habrá olvidado: en esa maraña de190.152.113.82/lggz/moodle/mod/wiki/view.php?id=255 9/10
    • 03/09/12 Nombre de la primera página neuronas y conexiones nerviosas no hay quien se entienda, y si no que se lo pregunten a los neurofisiología. Para evitar esto, junto con la programación estructurada aparece un concepto que nos permite abarcar programas más amplios con menor esfuerzo: la de función. La idea es muy simple: muchas veces realizo procesos que se repiten y en los que sólo cambia algún factor, si trato ese proceso como un subprograma al que llamo cada vez que lo necesito, y cada vez que lo llamo puedo cambiar ese factor, estaré reduciendo el margen de error, al reducir el número de líneas que necesito en mi programa, ya que no tengo que repetir todas esas líneas cada vez que quiera realizar el proceso, con una sola línea de llamada al subprograma será suficiente; además, de haber algún fallo en este proceso el error queda circunscrito al trozo de código de la función. Evolución en cuanto al enfoque (Mylena Rodriguez) La evolución de los lenguajes de programación, en cuanto a enfoque es también una evoluciónconceptual, pero ésta es tan profunda que supone un cambio drástico en cuanto al modo de concebir eltratamiento de la programación.En este sentido, y dependiendo del autor a quien se consulte, existen dos o tres enfoques diferentes: Programación Procedural Casi todos los lenguajes que conocemos trabajan de forma procedural. Java, C, Pascal, BASIC, Cobol,Fortran, APL, RPG, Clipper, etc.En ellos, debemos establecer, hechos (datos), reglas para el manejo de esos datos y de decisión y tenemos que decirle al lenguaje cómo alcanzar el objetivo que se persigue. Es decir, donde buscar la información, cómo manipularla, cuando parar, etc. Si usted es programador de algún lenguaje procedural, todo esto le parecerá obvio, pero no funciona así con los lenguajes declarativos. Programación Declarativa Los lenguajes más conocidos que existen hasta ahora, PROLOG, son todos procedurales, éstees declarativo.ProLog es acrónimo de Programming in LOGIC. Este lenguaje fue desarrollado en la universidad deMarsella hacia 1970 por Alan Clomerauer y sus colegas. Prolog, se basa en manipulaciones lógicas, utiliza la lógica proposicional -lógica de predicados- para realizar sus deducciones. Programación Orientada al Objeto OOP es un conjunto de técnicas, la diferencia entre técnica y lenguaje de programación es una técnica de programación no es, obviamente, un lenguaje, pero puede aplicarse a cualquier lenguaje. Además es un conjunto de reglas a seguir para hacernos la tarea de programar más fácil. Un lenguaje de programación, es un conjunto de instrucciones entendibles directamente o traducibles al lenguaje del ordenador ¿Qué es la OOP? No es:Un sistema de comunicación con los programas basados en ratones, ventanas, iconos, etc. Puesto que,normalmente, los lenguajes de OOP suelen presentar estas características y puesto que habitualmente estos entornos suelen desarrollarse con técnicas de OOP. Marcas: Usted se ha identificado como Javier Noboa (Salir) poo14s190.152.113.82/lggz/moodle/mod/wiki/view.php?id=255 10/10