trabajo historia de lenguajes de programacion e

28
 Universidad Latina Sede Heredia Bachillerato en Ingeniería en Sistemas. Introducción a la Ingeniería en Sistemas Número de grupo: 4047 “Historia de los Lenguajes de Programación” Trabajo de Investigación. Grupo: Armando Alvarado Kenneth Chacón Villalobos Yeisson Víquez Adrian Orozco Prof.: Fabricio Chinchilla II Cuatrimestre, 2011

Upload: -

Post on 06-Jul-2015

115 views

Category:

Documents


0 download

TRANSCRIPT

5/8/2018 Trabajo Historia de Lenguajes de Programacion E - slidepdf.com

http://slidepdf.com/reader/full/trabajo-historia-de-lenguajes-de-programacion-e 1/28

 

Universidad Latina

Sede Heredia

Bachillerato en Ingeniería en Sistemas.

Introducción a la Ingeniería en Sistemas

Número de grupo: 4047

“Historia de los Lenguajes de Programación”Trabajo de Investigación.

Grupo:

Armando Alvarado

Kenneth Chacón Villalobos

Yeisson VíquezAdrian Orozco

Prof.: Fabricio Chinchilla

II Cuatrimestre, 2011

5/8/2018 Trabajo Historia de Lenguajes de Programacion E - slidepdf.com

http://slidepdf.com/reader/full/trabajo-historia-de-lenguajes-de-programacion-e 2/28

 

Historia de los Lenguajes de Programación -Introducción a la Ingeniería en

Sistemas -Grupo 4047

Tabla de Contenidos:

Índice............................................................................1

Introducción..................................................................2Marco Teórico...............................................................3Historia..........................................................................4Clasificación de los lenguajes de programación..........5Marco metodológico………………………….................9Conclusiones……………………………………............15Bibliografía……………………………………………….16Índice de Imágenes………………………....................17Anexos…………………………………………………...20Línea del Tiempo..………………………………………27

Historia de los Lenguajes de Programación -Introducción a la Ingeniería en

Sistemas -Grupo 4047

5/8/2018 Trabajo Historia de Lenguajes de Programacion E - slidepdf.com

http://slidepdf.com/reader/full/trabajo-historia-de-lenguajes-de-programacion-e 3/28

 

Historia de los Lenguajes de Programación -Introducción a la Ingeniería en

Sistemas -Grupo 4047

Introducción:

Con el objeto de facilitar la interacción de las personas con loscomputadores, los sistemas operativos hacen una aparición bastante simple a

principios de 1950, con conceptos tales como el monitor residente, el proceso por lotes y el almacenamiento temporal.

En las primeras máquinas, como la ENIAC (Electronic Numerical Integrator And Calculator) que se terminó de construir a finales de 1945, la programación sehacía manualmente conectando cables y pulsando interruptores. Los datos sesuministraban en tarjetas perforadas. La programación para los cálculos normalesrequería de media hora a un día entero.

Pocos años después la programación se hace en base a instrucciones, queson secuencias de unos y ceros que representan si una llave debe de estar activa

o inactiva. A esta forma de programar se le llamó “lenguaje de máquina”.

A comienzos de 1950 se desarrollaron los primeros lenguajes simbólicosnacidos de la necesidad de recordar secuencias de programación para lasacciones usuales. A estas acciones se les denominó con nombres fáciles dememorizar y asociar: ADD (sumar), SUB (restar), MUL (multiplicar), CALL(ejecutar subrutina), etc. A este conjunto de instrucciones se le llamó “lenguajeensamblador”.

A finales de los años cincuenta y comienzos de los sesenta se desarrollaronlos primeros lenguajes de alto nivel con su propio vocabulario más o menos

limitado, su gramática más o menos estricta y su semántica, que se asimilanrelativamente al lenguaje humano. Estos lenguajes se denominan de “alto nivel”porque para poder ser utilizados deben pasarse por un traductor que los conviertaa un lenguaje de nivel inferior (código máquina o ensamblador). A este proceso sele llama "compilación" o "interpretación".

En este trabajo se explicaran los diferentes tipos de lenguajes deprogramación así como sus diferentes características y clasificaciones según suevolución en la historia de los lenguajes, y además analizaremos lasrepercusiones que éstos han tenido en la sociedad actual, en todos los ámbitos enlos que influyen, intentaremos explicar desde el momento en que se crearon, las

necesidades por las que fueron creados, su salida e impacto en el mercado y ellegado que dejaron, también una vez conocido el pasado entenderemos loslenguajes de programación actualmente y así podremos idear un concepto de loque podría venir en los próximos años en cuanto a innovaciones en el campo de laprogramación y sus lenguajes.

Historia de los Lenguajes de Programación -Introducción a la Ingeniería en

Sistemas -Grupo 4047

5/8/2018 Trabajo Historia de Lenguajes de Programacion E - slidepdf.com

http://slidepdf.com/reader/full/trabajo-historia-de-lenguajes-de-programacion-e 4/28

 

Historia de los Lenguajes de Programación -Introducción a la Ingeniería en

Sistemas -Grupo 4047

Marco Teórico:

Definición de Lenguaje de Programación:

Un lenguaje de programación es un idioma artificial diseñado para expresar cálculos que pueden ser llevadas a cabo por máquinas como las computadoras,es un conjunto de símbolos y reglas sintácticas y semánticas que definen suestructura y el significado de sus elementos y expresiones, y es utilizado paracontrolar el comportamiento físico y lógico de una máquina.

Pueden usarse para crear programas que controlen el comportamiento

físico y lógico de una máquina, para expresar algoritmos con precisión, o comomodo de comunicación humana.

Está formado por un conjunto de símbolos y reglas sintácticas y semánticasque definen su estructura y el significado de sus elementos y expresiones. Alproceso por el cual se escribe, se prueba, se depura, se compila y se mantiene elcódigo fuente de un programa informático se le llama programación.

También la palabra programación se define como el proceso de creación deun programa de computadora, mediante la aplicación de procedimientos lógicos, através de los siguientes pasos:

• El desarrollo lógico del programa para resolver un problema en particular.• Escritura de la lógica del programa empleando un lenguaje de

programación específico (codificación del programa).• Ensamblaje o compilación del programa hasta convertirlo en lenguaje de

máquina.• Prueba y depuración del programa.• Desarrollo de la documentación.

Aunque muchas veces se usan los términos 'lenguaje de programación' y'lenguaje informático' como si fuesen sinónimos, no es del todo correcto, ya que

los lenguajes informáticos engloban a los lenguajes de programación y a otrosmás, como por ejemplo HTML que es un lenguaje para el marcado de páginasweb, es por eso que es un tanto difícil hacer coincidir a los expertos en cuanto a laclasificación de los lenguajes de programación sea cual sea el tipo de clasificaciónque se está llevando a cabo, pero nosotros con base en la definición anterior procederemos a realizar nuestra clasificación de los lenguajes de programación.

Historia de los Lenguajes de Programación -Introducción a la Ingeniería en

Sistemas -Grupo 4047

5/8/2018 Trabajo Historia de Lenguajes de Programacion E - slidepdf.com

http://slidepdf.com/reader/full/trabajo-historia-de-lenguajes-de-programacion-e 5/28

 

Historia de los Lenguajes de Programación -Introducción a la Ingeniería en

Sistemas -Grupo 4047

Un lenguaje de programación permite especificar de manera precisa sobrequé datos debe operar una computadora, cómo estos datos deben ser almacenados o transmitidos y qué acciones debe tomar bajo una variada gama de

circunstancias. Todo esto, a través de un lenguaje que intenta estar relativamentepróximo al lenguaje humano o natural, tal como sucede con el lenguaje léxico.

Historia de los lenguajes de Programación.

Para que la computadora entienda nuestras instrucciones debe usarse unlenguaje específico conocido como código máquina, el cual la máquina comprendefácilmente, pero que lo hace excesivamente complicado para las personas. Dehecho sólo consiste en cadenas extensas de números 0 y 1.

Para facilitar el trabajo, los primeros operadores de computadorasdecidieron hacer un traductor para reemplazar los 0 y 1 por palabras o abstracciónde palabras y letras provenientes del inglés; éste se conoce como lenguajeensamblador. Por ejemplo, para sumar se usa la letra A de la palabra inglesa add(sumar).

El lenguaje ensamblador sigue la misma estructura del lenguaje máquina,pero las letras y palabras son más fáciles de recordar y entender que los números.La necesidad de recordar secuencias de programación para las acciones usualesllevó a denominarlas con nombres fáciles de memorizar y asociar: ADD (sumar),SUB (restar), MUL (multiplicar), CALL (ejecutar subrutina), etc. A esta secuenciade posiciones se le denominó "instrucciones", y a este conjunto de instruccionesse le llamó lenguaje ensamblador. Posteriormente aparecieron diferenteslenguajes de programación, los cuales reciben su denominación porque tienen unaestructura sintáctica similar a los lenguajes escritos por los humanos,denominados también lenguajes de alto nivel.

La primera programadora de computadora conocida fue Ada Lovelace, hijade Anabella Milbanke Byron y Lord Byron. Anabella introdujo en las matemáticas aAda quien, después de conocer a Charles Babbage, tradujo y amplió unadescripción de su máquina analítica. Incluso aunque Babbage nunca completó laconstrucción de cualquiera de sus máquinas, el trabajo que Ada realizó con éstasle hizo ganarse el título de primera programadora de computadoras del mundo. Elnombre del lenguaje de programación Ada fue escogido como homenaje a estaprogramadora.

A finales de 1953, John Backus sometió una propuesta a sus superiores enIBM para desarrollar una alternativa más práctica al lenguaje ensamblador paraHistoria de los Lenguajes de Programación -Introducción a la Ingeniería en

Sistemas -Grupo 4047

5/8/2018 Trabajo Historia de Lenguajes de Programacion E - slidepdf.com

http://slidepdf.com/reader/full/trabajo-historia-de-lenguajes-de-programacion-e 6/28

 

Historia de los Lenguajes de Programación -Introducción a la Ingeniería en

Sistemas -Grupo 4047

programar la computadora central IBM 704. El histórico equipo Fortran de Backusconsistió en los programadores Richard Goldberg, Sheldon F. Best, HarlanHerrick, Peter Sheridan, Roy Nutt, Robert Nelson, Irving Ziller, Lois Haibt y DavidSayre.2

El primer manual para el lenguaje Fortran apareció en octubre de 1956, conel primer compilador Fortran entregado en abril de 1957. Esto era un compilador optimizado, porque los clientes eran reacios a usar un lenguaje de alto nivel amenos que su compilador pudiera generar código cuyo desempeño fueracomparable al de un código hecho a mano en lenguaje ensamblador.

En 1960, se creó COBOL, uno de los lenguajes usados aún en 2010 eninformática de gestión.

A medida que la complejidad de las tareas que realizaban las computadorasaumentaba, se hizo necesario disponer de un método más eficiente para

programarlas. Entonces, se crearon los lenguajes de alto nivel, como lo fue BASICen las versiones introducidas en los microordenadores de la década de 1980.Mientras que una tarea tan sencilla como sumar dos números puede necesitar varias instrucciones en lenguaje ensamblador, en un lenguaje de alto nivel bastaráuna sola sentencia.

Clasificación de los lenguajes de Programación.

Los lenguajes de programación se pueden clasificar atendiendo a varioscriterios, los principales son:

• Según el nivel de abstracción• Según la forma de ejecución• Según el paradigma de programación que poseen cada uno de ellos

Según el Nivel de Abstracción.

Lenguajes de máquina y de bajo nivel:

Historia de los Lenguajes de Programación -Introducción a la Ingeniería en

Sistemas -Grupo 4047

5/8/2018 Trabajo Historia de Lenguajes de Programacion E - slidepdf.com

http://slidepdf.com/reader/full/trabajo-historia-de-lenguajes-de-programacion-e 7/28

 

Historia de los Lenguajes de Programación -Introducción a la Ingeniería en

Sistemas -Grupo 4047

Los lenguajes de máquina están escritos en códigos (código máquina)directamente inteligibles por la máquina (computadora), siendo sus instruccionescadenas binarias (0 y 1).

“Lenguaje de máquina” hace referencia al lenguaje específico de unacomputadora, mientras que “código máquina” hace referencia al modo en que seescriben los diferentes lenguajes de máquina.

Los lenguajes de bajo nivel son lenguajes de programación que se acercanal funcionamiento de una computadora. Los lenguajes de más bajo nivel son loslenguajes de máquinas. A éste nivel le sigue el lenguaje ensamblador, ya que alprogramar en ensamblador se trabajan con los registros de memoria de lacomputadora de forma directa.

La programación en un lenguaje de bajo nivel tiene como ventajas una

mayor adaptación al equipo, además de la posibilidad de obtener la máximavelocidad con el mínimo uso de memoria.

Sin embargo tiene importantes inconvenientes, como la imposibilidad deescribir código independiente de la máquina y la mayor dificultad en laprogramación y en la comprensión de los programas.

Lenguajes de medio nivel:

Minoritariamente en algunos textos se diferencian algunos lenguajes comode medio nivel, como el lenguaje C, ya que tienen ciertas características que los

acercan a los lenguajes de bajo nivel, como gestión de punteros de memoria yregistros, pero con sintaxis, vocabulario y gramática de alto nivel.

Lenguajes de alto nivel y de muy alto nivel:

Los lenguajes de programación de alto nivel se caracterizan por expresar los algoritmos de una manera adecuada a la capacidad cognitiva humana, enlugar de estar orientados a su ejecución en las máquinas. 

Los lenguajes de alto y bajo nivel requieren de conocimientos específicos

de programación y del lenguaje concreto (vocabulario, gramática y sintaxis) pararealizar las secuencias de instrucciones lógicas.Los lenguajes de muy alto nivel se crearon para que el usuario común pudiesesolucionar ciertos problemas sencillos de procesamiento de datos de una maneramás fácil y rápida.

Según la forma de Ejecución.

Historia de los Lenguajes de Programación -Introducción a la Ingeniería en

Sistemas -Grupo 4047

5/8/2018 Trabajo Historia de Lenguajes de Programacion E - slidepdf.com

http://slidepdf.com/reader/full/trabajo-historia-de-lenguajes-de-programacion-e 8/28

 

Historia de los Lenguajes de Programación -Introducción a la Ingeniería en

Sistemas -Grupo 4047

Los procesadores usados en las computadoras son capaces de entender yactuar según lo indican programas escritos en un lenguaje fijo para cadaarquitectura, llamado lenguaje de máquina. Todo programa escrito en un lenguaje

de alto nivel puede ser ejecutado de dos maneras:

• Lenguajes compilados: Antes de poder utilizarse el programa debe utilizarseun traductor llamado “compilador” que se encarga de traducir (“compilar”) elprograma original (“código fuente”) al programa equivalente escrito enlenguaje de máquina o ensamblador (“binario”). Los binarios son losprogramas ejecutables y los únicos necesarios para el funcionamiento delprograma.

• Lenguajes interpretados: Cada vez que se usa el programa debe utilizarseun traductor llamado “intérprete” que se encarga de traducir (“interpretar”)

las instrucciones del programa original (“código fuente”) a código máquinasegún van siendo utilizadas. Para el funcionamiento del programa siemprees necesario disponer del código original y del intérprete.

Diferencias entres lenguajes compilados e interpretados:

• Los lenguajes compilados se compilan una vez y se utilizan cuantas vecesse desee sin necesidad de volver a utilizar el compilador. Los lenguajesinterpretados son interpretados, valga la redundancia, cada vez que seejecutan y necesitan siempre del intérprete.

Los compiladores analizan todo el programa y no generan resultados si noes correcto todo el código. Los intérpretes analizan las instrucciones segúnlas necesitan y pueden iniciar la ejecución de un programa con errores eincluso terminar correctamente una ejecución de un programa con erroressiempre que no haya sido necesario el uso de las instrucciones quecontienen dichos errores.

• Un compilador traduce cada instrucción una sola vez. Un intérprete debetraducir una instrucción cada vez que la encuentra.

• Los binarios son compilados para una arquitectura específica y no pueden

ser utilizados en otras arquitecturas no compatibles (aunque pueden existir distintos compiladores para generar binarios para diferentes arquitecturas).Un lenguaje interpretado puede ser utilizado en cualquier arquitectura quedisponga de un intérprete sin necesidad de cambios.

Historia de los Lenguajes de Programación -Introducción a la Ingeniería en

Sistemas -Grupo 4047

5/8/2018 Trabajo Historia de Lenguajes de Programacion E - slidepdf.com

http://slidepdf.com/reader/full/trabajo-historia-de-lenguajes-de-programacion-e 9/28

 

Historia de los Lenguajes de Programación -Introducción a la Ingeniería en

Sistemas -Grupo 4047

• Los lenguajes compilados son más eficientes que los interpretados yademás permiten distribuir el programa en forma confidencial mediantebinarios.

• Es más sencillo empaquetar lenguajes interpretados dentro de otroslenguajes, como JavaScript dentro de HTML.

Para obtener las ventajas de ambos tipos de lenguajes algunos utilizan unaaproximación en dos fases. Primero el programa original (código fuente) es precompilado a un binario confidencial, portable e interpretable. En una segunda faseel binario pre compilado es interpretado en cada arquitectura. Ésta aproximaciónes la que realiza por ejemplo Java.

Hay que hacer notar que algunas aplicaciones permiten ser programadas conlenguajes. Estos lenguajes no tienen por objeto solicitar acciones a la

computadora sino solicitar acciones a la aplicación sobre la que se ejecutan. Por tanto aunque algunos de estos lenguajes son lenguajes de programación, no sonlenguajes de programación de computadoras y por tanto no necesitan ser traducidos a código máquina.

Es el caso por ejemplo de SQL, un lenguaje declarativo de cuarta generacióndiseñado para trabajar con bases de datos.Este lenguaje SQL es interpretado por el motor de la Base de Datos, no por laCPU.

Según el Paradigma de Programación.

Un paradigma de programación representa un enfoque particular o filosofíapara la construcción del software. Si bien puede seleccionarse la forma pura deestos paradigmas a la hora de programar, en la práctica es habitual que semezclen, dando lugar a la programación multiparadigma.

Los diferentes paradigmas de programación son:

• Algorítmico, Imperativo o Por procedimientos. El más común y está

representado, por ejemplo, por C o por BASIC. Describe la programaciónen términos del estado del programa y sentencias que cambian dichoestado. Los programas imperativos son un conjunto de instrucciones que leindican al computador cómo realizar una tarea. La implementación dehardware de la mayoría de computadores es imperativa ya que el hardwareestá diseñado para ejecutar código de máquina que es imperativo.

Historia de los Lenguajes de Programación -Introducción a la Ingeniería en

Sistemas -Grupo 4047

5/8/2018 Trabajo Historia de Lenguajes de Programacion E - slidepdf.com

http://slidepdf.com/reader/full/trabajo-historia-de-lenguajes-de-programacion-e 10/28

 

Historia de los Lenguajes de Programación -Introducción a la Ingeniería en

Sistemas -Grupo 4047

• Declarativo o Predicativo. Basado en la utilización de predicados lógicos(lógico) o funciones matemáticas (funcional), su objetivo es conseguir lenguajes expresivos en los que no sea necesario especificar cómo resolver el problema (programación convencional imperativa), sino qué problema se

desea resolver. Los intérpretes de los lenguajes declarativos tienenincorporado un motor de inferencia genérico que resuelve los problemas apartir de su especificación.

• Lógico. Un ejemplo es PROLOG. El mecanismo de inferencia genérico sebasa en los procedimientos de deducción de formulas válidas en un sistemaaxiomático

• Funcional. Representado por la familia de lenguajes LISP (en particular Scheme), ML o Haskell. El mecanismo de inferencia genérico se basa en lareducción de una expresión funcional a otra equivalente simplificada.

• Orientado a Objetos. Cada vez más utilizado, sobre todo en combinacióncon el imperativo. De hecho los lenguajes orientados a objetos permiten laprogramación imperativa. Algunos ejemplos de lenguajes orientados aobjetos son C++, Java, Python. Usa objetos y sus interacciones paradiseñar aplicaciones y programas de computadora. Está basado en variastécnicas, incluyendo herencia, modularidad, polimorfismo yencapsulamiento.

Marco Metodológico:

Desarrollo de los lenguajes de programación

Basados en los primeros lenguajes de programación han surgido muchosotros lenguajes que siempre tienen la intención de tomar lo mejor, desechar lomalo, y agregar alguna “novedad”, respecto a los existentes. Solo se hace

referencia a los más conocidos.

BasicInventado en 1964 por John George Kemeny y Thomas Eugene Kurtz en el

Colegio Dartmounth.

Historia de los Lenguajes de Programación -Introducción a la Ingeniería en

Sistemas -Grupo 4047

5/8/2018 Trabajo Historia de Lenguajes de Programacion E - slidepdf.com

http://slidepdf.com/reader/full/trabajo-historia-de-lenguajes-de-programacion-e 11/28

 

Historia de los Lenguajes de Programación -Introducción a la Ingeniería en

Sistemas -Grupo 4047

Es un lenguaje muy limitado que fue diseñado para personas que no fuerandel área de ciencias de la computación.

 El nombre de BASIC, significa Beginners All-purpose Symbolic Instruction Code.

Los ocho principios de diseño de BASIC fueron:1. Ser fácil de usar para los principiantes.2. Ser un lenguaje de propósito general.3. Permitir que los expertos añadieran características avanzadas,

mientras que el lenguaje permanecía simple para los principiantes.4. Ser interactivo.5. Proveer mensajes de errores claros y amigables.6. Responder rápido a los programas pequeños.7. No requerir un conocimiento del hardware de la computadora.

El lenguaje se baso en Fortran y Algol 6.0

Pascal

Diseñado por Niklaus Wirth, como una herramienta de enseñanza de laprogramación. Sus desarrolladores se concentraron en desarrollar buenasherramientas que contribuyeran a la enseñanza, tal como un buen “debugger”, yun buen editor.

Además tuvieron como meta el tener soporte para la mayoría de losmicroprocesadores populares en esa época en las instituciones de enseñanza.

Fue diseñado de una manera muy ordenada, reflejando la experiencia de sudiseñador, tomo las mejores características de los lenguajes de su tiempo,COBOL, ALGOL, y FORTRAN, al mismo tiempo que busco evitar sus deficiencias,y hacerlo lo más claro posible. La combinación de sus características deentrada/salida, y sus solidas características matemáticas pronto lo convirtieron enun lenguaje muy exitoso.

También implemento el tipo apuntador y agrego el CASE, e hizo uso devariables dinámicas. Sin embargo no implemento arreglos dinámicos niagrupamiento de variables lo cual contribuyo a su pérdida de popularidad frente anuevos lenguajes.

Delphi es una versión moderna y orientada a objetos de Pascal.

Prolog

Historia de los Lenguajes de Programación -Introducción a la Ingeniería en

Sistemas -Grupo 4047

5/8/2018 Trabajo Historia de Lenguajes de Programacion E - slidepdf.com

http://slidepdf.com/reader/full/trabajo-historia-de-lenguajes-de-programacion-e 12/28

 

Historia de los Lenguajes de Programación -Introducción a la Ingeniería en

Sistemas -Grupo 4047

Diseñado en 1970 en la universidad de Aix-Marseille por los profesoresAlain Colmerauer y Phillipe Roussel, su nombre proviene del francés Programationet Logique, es popular en los círculos de interés en Inteligencia Artificial.Inicialmente era un lenguaje interpretado, hasta que a mediados de la década de

los 70's David Warren desarrollo un compilador, que convertía el programa enProlog a un conjunto de instrucciones de una máquina abstracta denominadaWarren Abstract Machine, o WAM.

Su sintaxis y semántica son consideradas simples y claros, su paradigmade programación es el declarativo y un programa en Prolog se compone decláusulas que constituyen reglas del tipo modus ponens, es decir, "Si es verdad elantecedente, entonces es verdad el consecuente". No obstante, la forma deescribir las cláusulas es al contrario de lo habitual. Primero se escribe elconsecuente y luego el antecedente.

“C”

Fue diseñado en 1971, por Dennis Ritchie y Ken Thompson mientrastrabajaban para los Laboratorios Bell, y se baso en los lenguajes de programaciónB y BCPL.

Se basa en el paradigma imperativo y desde su creación estuvo pensadopara programación de sistemas operativos, se creo para usarse en UNIX, y crecióde la mano del desarrollo de UNIX, lo que propicio la creación de característicasavanzadas tales como variables dinámicas, multitarea, manejo de interrupciones,forking y un poderoso manejo entrada/salida de bajo nivel.

Debido a esto C es comúnmente usado para programación de nivel desistema en UNIX, Linux y Mac.

Se trata de un lenguaje no fuertemente tipeado de medio nivel pero conmuchas características de bajo nivel. Dispone de las estructuras típicas de loslenguajes de alto nivel pero, a su vez, dispone de construcciones del lenguaje quepermiten un control a muy bajo nivel. Destaca su gran riqueza de operadores yexpresiones.

C++

A finales de los 70's y principio de los 80's un nuevo modelo de deprogramación fue desarrollado, la programación orientada a objetos, la idea básicaes que los objetos son piezas de código auto contenidas y reusables. BjarneStroustroup, también de los Laboratorios Bell, desarrollo un nuevo lenguaje

Historia de los Lenguajes de Programación -Introducción a la Ingeniería en

Sistemas -Grupo 4047

5/8/2018 Trabajo Historia de Lenguajes de Programacion E - slidepdf.com

http://slidepdf.com/reader/full/trabajo-historia-de-lenguajes-de-programacion-e 13/28

 

Historia de los Lenguajes de Programación -Introducción a la Ingeniería en

Sistemas -Grupo 4047

basado en C que aplica los conceptos de la programación orientada a objetos,inicialmente se llamo C con clases, para posteriormente tomar su nombredefinitivo C++ cuando fue publicado en 1983.

Las principales características del C++ son abstracción, el soporte paraprogramación orientada a objetos y el soporte de plantillas o programacióngenérica. Por lo cual , se puede decir que C++ es un lenguaje multi paradigma queabarca tres paradigmas de la programación: La programación estructurada, laprogramación genérica y la programación orientada a objetos.

Actualmente cuenta con un estándar ISO y es muy popular en laprogramación de aplicaciones.

Perl

Perl (Practical Extraction and Report Language), fue desarrollado por LarryWall, inicialmente motivado para cubrir las carencias de sed y awk y laslimitaciones del shell, su primer versión publica fue anunciada en el Newsgroupcomp.sources.misc el 18 de diciembre de 1987.

Actualmente Perl es un lenguaje de propósito general, usado para ampliagama de tareas que incluyen administración de sistemas, desarrollo web,programación en red, desarrollo GUI, si lo deseas, puedes programar orientado aobjetos y mucho más.

Es uno de los lenguajes más flexibles y poderosos, junto con Lisp, permite

desarrollar prácticamente cualquier cosa con el, es poderoso, flexible y expresivo.

Perl es libre y es divertido, permite ser creativo y no restringe a lasrestricciones impuestas por el diseñador del lenguaje, en Perl siempre hay más deuna manera de hacer las cosas.

Sin embargo, esta flexibilidad y poder no son apreciados por losprogramadores promedio que prefieren lenguajes más simples y fáciles deaprender, por lo cual Perl es el blanco de muchas críticas nacidas de la ignorancia.

Perl es multiplataforma y desde hace muchos años ha demostrado en el

mundo real producir código completamente reusable sin necesitar programaciónorientada a objetos.

Java

Historia de los Lenguajes de Programación -Introducción a la Ingeniería en

Sistemas -Grupo 4047

5/8/2018 Trabajo Historia de Lenguajes de Programacion E - slidepdf.com

http://slidepdf.com/reader/full/trabajo-historia-de-lenguajes-de-programacion-e 14/28

 

Historia de los Lenguajes de Programación -Introducción a la Ingeniería en

Sistemas -Grupo 4047

Java es una plataforma de software desarrollada por Sun Microsystems, detal manera que los programas creados en ella puedan ejecutarse sin cambios endiferentes tipos de arquitecturas y dispositivos computacionales.

La plataforma Java consta de las siguientes partes:• El lenguaje de programación, mismo.• La máquina virtual de Java o JRE, que permite la portabilidad enejecución.• El API Java, una biblioteca estándar para el lenguaje”

El lenguaje de programación fue desarrollado por James Gosling y susequipo en Sun Microsystems, entre 1990 y 1994, pensado originalmente como unreemplazo de C++, orientado a dispositivos embebidos, y a la televisióninteractiva, posteriormente que para rescatarlo del fracaso y fue reorientado haciasu aplicación en la Web.

Las cinco metas del lenguaje Java son:o Orientado a objetoso Multiplataformao Soporte integrado para redes de computadoraso Diseñado para ejecutar código de fuentes remotas de modo seguroo Fácil de usar 

Desde sus inicios Java no fue bien recibido por su falta de aportacionesoriginales, su lentitud, y su rígida estructura, sin embargo en base a intensascampañas de marketing Sun ha logrado que en los ambientes empresariales Java

sea uno de los “estándares” sobre todo para aplicaciones del lado del servidor.Java también es presentado muchas veces como un lenguaje Libre lo cual no escompletamente cierto.

Java Script

Es un lenguaje de script basado en objetos, que se apoya en el modelo deprototipos. Es muy popular por su uso en sitios Web.

Fue desarrollado por Brendan Eich, en su trabajo para Netscape, quien lopublicó en diciembre de 1995.

Su sintaxis es parecida a la de C, y al igual que C utiliza el concepto depalabras reservadas, tiene soporte para expresiones regulares y UTF.Cuando se usa en Web, se conecta a través de su interfaz DOM (DocumentObject Model) a las aplicaciones tanto del lado del cliente como del servidor.Gracias a esto es usado para crear poderosas aplicaciones web dinámicas.

Historia de los Lenguajes de Programación -Introducción a la Ingeniería en

Sistemas -Grupo 4047

5/8/2018 Trabajo Historia de Lenguajes de Programacion E - slidepdf.com

http://slidepdf.com/reader/full/trabajo-historia-de-lenguajes-de-programacion-e 15/28

 

Historia de los Lenguajes de Programación -Introducción a la Ingeniería en

Sistemas -Grupo 4047

Desafortunadamente los diferentes navegadores exponen diferentesobjetos y métodos por lo cual es necesario escribir versiones especificas de unprograma en Javascript para los diferentes tipos de navegadores.Entre las principales tecnologías para interactuar con DOM que usan JavaScript

esta AJAX y DHTML.

Php

Creado por Rasmus Lerdorf, en 1994, inicialmente eran una serie de scriptsen Perl y posteriormente estos scripts fueron reescritos en C, que el usaba paraalgunas tareas Web. Inicialmente significaba “Personal Home Page Tools”, y fuepublicado por primera vez el 8 de junio de 1995, actualmente su nombre oficial es:“PHP Hypertext Preprocessor”.

Las características más destacadas de PHP son su facilidad de aprendizaje

y que es software libre.

Las anteriores características, sumadas a su amplio soporte a manejadoresde bases de datos lo han convertido en uno de los lenguajes más populares paraprogramación Web, los famosos desarrollos LAMP.

Comparte características con otros lenguajes de programación como C yperl y recientemente con Java.

Además de ser usado en web, puede usarse desde la línea de comandos ypara construir GUI's con PHP-GTK.

C#

Es un lenguaje orientado a objetos desarrollado por Microsoft, tomandoideas de C++ y Java, como parte de su estrategia comercial .Net.

Además de la implementación de Microsoft existen implementaciones librescomo Mono y dotGNU.

Gracias a la maquinaría comercial de Microsoft y la amplia base deescritorios 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 delsoftware libre, por la desconfianza hacia Microsoft y sus patentes.

Historia de los Lenguajes de Programación -Introducción a la Ingeniería en

Sistemas -Grupo 4047

5/8/2018 Trabajo Historia de Lenguajes de Programacion E - slidepdf.com

http://slidepdf.com/reader/full/trabajo-historia-de-lenguajes-de-programacion-e 16/28

 

Historia de los Lenguajes de Programación -Introducción a la Ingeniería en

Sistemas -Grupo 4047

Conclusiones:

La historia de los lenguajes de programación es materia amplia, interesantey fascinante, además es necesario que cualquier persona que estudie sistemascomputacionales o algún área afín conozca y comprenda la historia y evolución delos lenguajes de programación para poder tener un desarrollo más satisfactorio enel área.

Permite tener un mejor panorama de que es y que no es cada lenguaje yasí elegir de una mejor manera los que le interesen y profundizar en losfundamentos de cada uno para encontrar el adecuado a su necesidad con basessolidas, sin dejarse llevar por modas o mercadotecnia, algo que sucede muyfrecuentemente por varias razones como por ejemplo la ignorancia, y esque larazón de que haya tantos tipos de lenguajes de programación no es otra que la depoder brindar soluciones a la medida según sea el enfoque de la programación arealizar, siempre habrá una que se apegue mejor a nuestros objetivos, aún cuándoésta no sea la más popular, es aquí donde realmente le damos el valor yaplicamos el conocimiento sobre los lenguajes de programación.

Hemos evolucionado de un manejo de códigos de máquina y deensamblador, a lenguajes de alto nivel fácilmente entendibles y aplicable para losusuarios, es aquí dónde podemos apreciar como día con día se intenta simplificar más y más todas las funciones de un lenguaje de programación, y como hasta eldía de hoy la diferencia que hay entre el inicial lenguaje de máquina basado enbits hasta la variedad de los utilizados en la actualidad es abismal, y a la vez amanera de reflexión debemos tratar de pensar, como buenos ingenieros, de quemanera mejorar los lenguajes actuales, y de que manera podríamos implementar esas mejoras eventualmente.

La evolución de los lenguajes se dirige hacia la facilidad de no solo escribir 

y depurar el código, sino a su vez también de aprender el mismo. Con los avancesen la tecnología, no solo el hardware muestra avances en sus capacidades, lossoftware y los lenguajes de programación, también avanzan rápidamente en unentorno tan cambiante, por lo que nosotros como futuros ingenieros debemosacoplarnos a un mundo cambiante a través de actualizaciones constantes parapoder mantenernos a la vanguardia en la elaboración de programas y loslenguajes de programación utilizados para ello.

Historia de los Lenguajes de Programación -Introducción a la Ingeniería en

Sistemas -Grupo 4047

5/8/2018 Trabajo Historia de Lenguajes de Programacion E - slidepdf.com

http://slidepdf.com/reader/full/trabajo-historia-de-lenguajes-de-programacion-e 17/28

 

Historia de los Lenguajes de Programación -Introducción a la Ingeniería en

Sistemas -Grupo 4047

Recomendaciones:

Bibliografía:

1. ENIAC Museum Online. (2005, Oct 7). [En línea]. Disponible:http://www.seas.upenn.edu/~museum/2. McCarthy, John, “Recursive Functions of Symbolic Expressions and Their 

Computation by Machine, Part I”, (2005, Oct 8), [En línea]. Disponible:http://www-formal.stanford.edu/jmc/recursive/recursive.html 

3. “Common Lisp the language”, (2005, Oct 8), [En línea]. Disponible:http://www.cs.cmu.edu/Groups/AI/html/cltl/cltl2.html

4. Wikipedia, The Free Encyclopedia, (2005, Oct 8), [En línea]. Disponible:http://en.wikipedia.org/wiki/James_Gosling 

5. Stallman, Richard. “La trampa de Java”, (Abr 12 2004), [En línea].Disponible: http://www.gnu.org/philosophy/java-trap.es.html 

6. Gosling, James, “Open sourcing Java”, Abr 30 2004), [En línea]. Disponible:http://today.java.net/jag/page7.html 7. Wikipedia, The Free Encyclopedia, (2005, Oct 8), [En línea]. Disponible:

http://en.wikipedia.org/wiki/Programming_language8. O'Reilly Media. "History of programming languages" (PDF). (2006, Oct 5)

Historia de los Lenguajes de Programación -Introducción a la Ingeniería en

Sistemas -Grupo 4047

5/8/2018 Trabajo Historia de Lenguajes de Programacion E - slidepdf.com

http://slidepdf.com/reader/full/trabajo-historia-de-lenguajes-de-programacion-e 18/28

 

Historia de los Lenguajes de Programación -Introducción a la Ingeniería en

Sistemas -Grupo 4047

Índice de Imágenes o Cuadros:

EVOLUCION DE LOS LENGUAJES DE PROGRAMACIÓN

Periodo Influencias Lenguajes

1950 - 55 Ordenadores primitivos Lenguajes ensamblador 

Lenguajes experimentales

de alto nivel

1956 - 60 Ordenadores pequeños, FORTRAN

caros y lentos ALGOL 58 y 60

Cintas magnéticas COBOL

Compiladores e interpretes LISP

Optimización del código

1961 - 65 Ord. grandes y caros FORTRAN IV

Discos Magnéticos COBOL 61 Extendido

Sistemas operativos ALGOL 60 Revisado

Leng. de propósito general SNOBOL

APL ( como notación sólo)

1966 - 70 Ordenadores de diferentes PL/I

Historia de los Lenguajes de Programación -Introducción a la Ingeniería en

Sistemas -Grupo 4047

5/8/2018 Trabajo Historia de Lenguajes de Programacion E - slidepdf.com

http://slidepdf.com/reader/full/trabajo-historia-de-lenguajes-de-programacion-e 19/28

 

Historia de los Lenguajes de Programación -Introducción a la Ingeniería en

Sistemas -Grupo 4047

tamaños, velocidades, costes FORTRAN 66 (estandard)

Sistemas de almacenamiento COBOL 65 (estandard)

masivo de datos (caros) ALGOL 68

S.O. multitarea e SNOBOL4

interactivos SIMULA 67

Compil. con optimización BASIC

Leng. estandard , APL/360

flexibles y generales

1971 - 75 Micro ordenadores

Sistemas de almacenamiento PASCAL

masivo de datos pequeños COBOL 74

y baratos PL /I

Progr. estructurada

Ingeniería del software

Leng. sencillos

1976 - 80 Ord. baratos y potentes ADA

Sistemas distribuidos FORTRAN 77

Prog. tiempo-real PROLOG

Historia de los Lenguajes de Programación -Introducción a la Ingeniería en

Sistemas -Grupo 4047

5/8/2018 Trabajo Historia de Lenguajes de Programacion E - slidepdf.com

http://slidepdf.com/reader/full/trabajo-historia-de-lenguajes-de-programacion-e 20/28

 

Historia de los Lenguajes de Programación -Introducción a la Ingeniería en

Sistemas -Grupo 4047

Prog. interactiva C

Abstracción de datos

Prog. con fiabilidad

y fácil mantenimiento

Historia de los Lenguajes de Programación -Introducción a la Ingeniería en

Sistemas -Grupo 4047

5/8/2018 Trabajo Historia de Lenguajes de Programacion E - slidepdf.com

http://slidepdf.com/reader/full/trabajo-historia-de-lenguajes-de-programacion-e 21/28

 

Historia de los Lenguajes de Programación -Introducción a la Ingeniería en

Sistemas -Grupo 4047

Anexos:

Linea de Tiempo de Lenguajes Populares de Programación.

• 1943 - Plankalkül (Konrad Zuse)

• 1943 - ENIAC

• 1949 - C-10

• 1951 - Regional Assembly Language

• 1952 - Autocode

• 1954 - FORTRAN• 1958 - LISP

• 1958 - ALGOL

• 1959 - COBOL

• 1962 - APL

• 1962 - Simula

• 1964 - BASIC

• 1964 - PL/I

• 1966 - BCPL

• 1969 - B• 1970 - Pascal

• 1972 - C• 1972 - Smalltalk 

• 1972 - Prolog

• 1973 - ML

• 1974 - Comandos Guardados

• 1978 - SQL

• 1983 - Ada

• 1983 - C++

• 1985 - Eiffel

• 1987 - Perl

• 1989 - FL (Backus)

• 1990 - Haskell• 1990 - Python

• 1991 - Java

• 1993 - Ruby

• 1995 - D

• 2000 - C#

• 2007 - UAP

Historia de los Lenguajes de Programación -Introducción a la Ingeniería en

Sistemas -Grupo 4047

5/8/2018 Trabajo Historia de Lenguajes de Programacion E - slidepdf.com

http://slidepdf.com/reader/full/trabajo-historia-de-lenguajes-de-programacion-e 22/28

 

Historia de los Lenguajes de Programación -Introducción a la Ingeniería en

Sistemas -Grupo 4047

Lisp

Hola mundo

(format t "¡Hola, mundo!")

Factorial

*******************************************************************; ---FACTORIAL----;Definición matemática; Factorial(x) = 1 si x=0 caso base; x*factorial(x-1) si x>0 caso recursivo 

;Función factorial hecha con recursividad no final(defun factorial (n)

(if (= 0 n)1 ; caso base(* n (factorial (- n 1))))) ; caso recursivo

 (factorial 4) ;esto nos devolvería 24=4*3*2*1*******************************************************************

Algol 68

Ejemplo

proc absmax=(ref[]real a)real:beginint i, k; real y:=0;comment De la matriz a se toma el elemento con el valor absoluto mayor

y se coloca en y. xLos subíndices del elemento se colocan en i y k; comment

i:= k:= 1⌊a;for p from 1⌊a by 1 to 1⌈a do

for q from 2⌊a by 1 to 2⌈a doif abs a[p, q] > y then

y:= abs a[p, q];i:= p; k:= q

fiod

od;y

end

Historia de los Lenguajes de Programación -Introducción a la Ingeniería en

Sistemas -Grupo 4047

5/8/2018 Trabajo Historia de Lenguajes de Programacion E - slidepdf.com

http://slidepdf.com/reader/full/trabajo-historia-de-lenguajes-de-programacion-e 23/28

 

Historia de los Lenguajes de Programación -Introducción a la Ingeniería en

Sistemas -Grupo 4047

COBOL

Programa Hola mundo

IDENTIFICATION DIVISION.PROGRAM-ID. Saludos.

*ENVIRONMENT DIVISION.

*DATA DIVISION.WORKING-STORAGE SECTION.

*PROCEDURE DIVISION.INICIO.

DISPLAY 'Hola mundo'.STOP RUN.

Basic

Ejemplo 1: Simple Saludo

PRINT "Hola mundo"

Ejemplo 2: BASIC original no estructurado (Applesoft BASIC)

10 INPUT "Cuál es su nombre:"; NN$20 PRINT "Bienvenido al 'asterisquero' ";NN$25 PRINT30 INPUT "con cuántos asteriscos inicia [Cero sale]:"; N40 IF N<=0 THEN GOTO 20050 AS$=""60 FOR I=1 TO N70 AS$=AS$+"*"80 NEXT I90 PRINT "AQUI ESTAN:"; AS$100 INPUT "Desea más asteriscos:";SN$110 IF SN$="" THEN GOTO 100120 IF SN$<>"S" AND SN$<>"s" THEN GOTO 200130 INPUT "CUANTAS VECES DESEA REPETIRLOS [Cero sale]:"; VECES140 IF VECES<=0 THEN GOTO 200150 FOR I=1 TO VECES160 PRINT AS$;170 NEXT I180 PRINT

Historia de los Lenguajes de Programación -Introducción a la Ingeniería en

Sistemas -Grupo 4047

5/8/2018 Trabajo Historia de Lenguajes de Programacion E - slidepdf.com

http://slidepdf.com/reader/full/trabajo-historia-de-lenguajes-de-programacion-e 24/28

 

Historia de los Lenguajes de Programación -Introducción a la Ingeniería en

Sistemas -Grupo 4047

185 REM A repetir todo el ciclo (comentario)190 GOTO 25200 END

Pascal

Ejemplos

Raíz cuadrada

program raiz(input, output);uses crt;(*

Obtener la raíz cuadrada de un número real x cualquiera.*) var x, y: irreal;respuesta: string; begin

writeln('** Calcular la raíz cuadrada de 12 **');writeln('Entrar x (> 0): ');

readln(x);y := sqrt(abs(x)); (* Raíz cuadrada del valor absoluto de

x para evitar raíces imaginarias *)writeln;if (x<0) then (* Si x es negativo, el resultado se

notifica como imaginario *)writeln('La raíz cuadrada de ', x, ' es el número

imaginario ', y,'i')else

writeln('La raíz cuadrada de ', x, ' es ', y);writeln;

writeln('** Fin **');end.

SQL:

CREATE OR REPLACE FUNCTION 'NOMBRE FUNCION'('PARAMETROS')

Historia de los Lenguajes de Programación -Introducción a la Ingeniería en

Sistemas -Grupo 4047

5/8/2018 Trabajo Historia de Lenguajes de Programacion E - slidepdf.com

http://slidepdf.com/reader/full/trabajo-historia-de-lenguajes-de-programacion-e 25/28

 

Historia de los Lenguajes de Programación -Introducción a la Ingeniería en

Sistemas -Grupo 4047

RETURNS 'TIPO RETORNO' AS$BODY$BEGIN'INSTRUCCIÓN SQL'--por Ejemplo:

DELETE FROM con empleado WHERE id empleado = 'ANY' (ids);END;$BODY$LANGUAGE 'plpgsql';

C++:

class Punto {public:

 float x; // Coordenadas del puntofloat y;

// ConstructorPunto() : x(0), y(0){ // Inicializamos las variables "x" e "y"}

}; // Main para demostrar el funcionamiento de la clase # include <iostream> // Esto nos permite utilizar "cout" using namespace std; int main () {Punto MiPunto; // creamos un elemento de la clase Punto llamado

MiPunto cout << "Coordenada X: " << MiPunto.x << endl; // mostramos el valor

acumulado en la variable xcout << "Coordenada Y: " << MiPunto.y << endl; // mostramos el valor

acumulado en la variable yreturn 0;

}

Perl:

"Hola mundo" :

#!/usr/bin/perlprint "¡Hola mundo!\n";

## Highly advanced parameterized hello world program.#

Historia de los Lenguajes de Programación -Introducción a la Ingeniería en

Sistemas -Grupo 4047

5/8/2018 Trabajo Historia de Lenguajes de Programacion E - slidepdf.com

http://slidepdf.com/reader/full/trabajo-historia-de-lenguajes-de-programacion-e 26/28

 

Historia de los Lenguajes de Programación -Introducción a la Ingeniería en

Sistemas -Grupo 4047

# Flags:# -m <msg> Alternate message instead of "Hello, World!";# -n <n> Repeat the message multiple times (default 1)# -i <n> Indent the message <n> spaces (default 0).# -r Print the message characters in reverse order.

# -h Print help and exit.#

use strict;

# Enter default parameter values.my %parms = ( "-m" => "Hello, World!", "-n" => 1, "-i" => 0 );

# Enter default flags (booleans)my %flags = ( "-r" => "0", "-h" => 0 );

# Process flags. Only those listed in a list are valid.while(my $p = shift @ARGV) {

exists $parms{$p} || exists $flags{$p} or die "Illegal parameter$p.\n";

if(exists $parms{$p}) {$parms{$p} = shift @ARGV;

} else {$flags{$p} = 1;

}}

# Obey help option. The notation print <<ENDHELP; starts a "heredocument".# All text up to the terminator ENDHELP is printed. The terminator can# be any string.

if($flags{"-h"}) {print <<ENDHELP;

*** $0: Advanced Technology Hello World! ***

The following parameters are available:-m <msg> Alternate message instead of "Hello, World!";-n <n> Repeat the message multiple times (default 1)-i <n> Indent the message <n> spaces (default 0).-r Print the message characters in reverse order.-h Print help and exit.

ENDHELP

exit 0;}

# Obey the -r flag. Reverse is a built-in. If you feed it a list orarray,# it reverses the members. If you send a string, it reverses thecharacters.if($flags{"-r"}) {

$parms{"-m"} = reverse($parms{"-m"});}

Historia de los Lenguajes de Programación -Introducción a la Ingeniería en

Sistemas -Grupo 4047

5/8/2018 Trabajo Historia de Lenguajes de Programacion E - slidepdf.com

http://slidepdf.com/reader/full/trabajo-historia-de-lenguajes-de-programacion-e 27/28

 

Historia de los Lenguajes de Programación -Introducción a la Ingeniería en

Sistemas -Grupo 4047

# Loop to obey the -n flag.for(my $n = 1; $n <= $parms{"-n"}; ++$n) {

# Obey -i. The x operator is used to repeat strings.print ' ' x $parms{'-i'};

# Print the message.print $parms{'-m'}, "\n";

}

Java:

// Hola.javaimport java.io.IOException;import javax.servlet.*; public class Hola extends GenericServlet{

public void service(ServletRequest request, ServletResponse response)throws ServletException, IOException

{response.setContentType("text/html");PrintWriter pw = response.getWriter();pw.println("Hola, mundo!");pw.close();

}}

C#:

using System;public void ejemplo(){

string Var1 = "Hola";MessageBox.Show(Var1);

}

Historia de los Lenguajes de Programación -Introducción a la Ingeniería en

Sistemas -Grupo 4047

5/8/2018 Trabajo Historia de Lenguajes de Programacion E - slidepdf.com

http://slidepdf.com/reader/full/trabajo-historia-de-lenguajes-de-programacion-e 28/28

 

Historia de los Lenguajes de Programación -Introducción a la Ingeniería en

Sistemas -Grupo 4047

Linea de Tiempo delos Lenguajes de Programaci

Historia de los Lenguajes de Programación -Introducción a la Ingeniería en

Sistemas -Grupo 4047