Este documento resume la evolución de los lenguajes de programación desde una perspectiva tecnológica, conceptual y de enfoque. Describe las cinco generaciones de lenguajes desde los de máquina y ensamblador hasta los lenguajes naturales. Explica los hitos principales como FORTRAN, COBOL, ALGOL, LISP, C y Java. Finalmente, analiza las tendencias futuras hacia lenguajes más orientados a comunicaciones e Internet.
1. 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 Carlos
190.152.113.82/lggz/moodle/mod/wiki/view.php?id=255 1/10
2. 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ón
190.152.113.82/lggz/moodle/mod/wiki/view.php?id=255 2/10
3. 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 0's y 1's 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 sino
190.152.113.82/lggz/moodle/mod/wiki/view.php?id=255 3/10
4. 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 60's.
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
5. 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 80
190.152.113.82/lggz/moodle/mod/wiki/view.php?id=255 5/10
6. 03/09/12 Nombre de la primera página
1985 CLIPPER Se crea CLIPPER
1986 CLIPPER Aparece CLIPPER AUTUMN'86
1987 CLIPPER CLIPPER SUMMER'87
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 al
190.152.113.82/lggz/moodle/mod/wiki/view.php?id=255 6/10
7. 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 Procedural
190.152.113.82/lggz/moodle/mod/wiki/view.php?id=255 7/10
8. 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
9. 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 de
190.152.113.82/lggz/moodle/mod/wiki/view.php?id=255 9/10
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)
poo14s
190.152.113.82/lggz/moodle/mod/wiki/view.php?id=255 10/10