Вы находитесь на странице: 1из 22

Evolucin e historia de los lenguajes de programacin

Profesor: Francisco Kroff Alumnos: Cristobal Garay Cristian Foitzitch Juan Pablo Bello Francisca Concha Oscar Proboste

INTRODUCCION INICIO INGRESAR INFORME La programacin como materia de estudio y de trabajo, a tenido un desarrollo a la par con todo los ambitos de la computacin, ya que el incremento en las capacidades tecnicas de hardware a impulsado la programacin desde sus inicios, siendo transversal en muchos ambitos tecnologicos. Luego de una resea historica, describiremos y clasificaremos, situando en el tiempo los lenguajes mas importantes, teniendo en cuenta la cantidad y amplitud de la programacin.

Lenguajes de programacin Los lenguajes de programacin se podran definir o explicar como un lenguaje artificial que puede ser usado para controlar el comportamiento de una mquina, especialmente una computadora. Estos se componen de un conjunto de reglas sintcticas y semnticas que permiten expresar instrucciones que luego sern interpretadas. Debe distinguirse de lenguaje informtico, que es una definicin ms amplia, pues que estos incluyen otros lenguajes como son el HTML o PDF que dan formato a un texto y no es programacin en s misma. En resumen un lenguaje de programacin es aquel sistema que, con una cierta estructura sintctica y semntica, indica distintas instrucciones a una computadora. Estos lenguajes permiten, por un lado, escribir las operaciones que son necesarias realizar para resolver el problema de un modo parecido a como se escribira convencionalmente (es decir, redactar adecuadamente el algoritmo de resolucin del problema) y, por el otro, se encarga de traducir el algoritmo al lenguaje mquina (proceso conocido como compilacin) con lo que se le confiere al programa la capacidad de corre (ser ejecutado) en el ordenador. El ordenador es en realidad tan slo una mquina virtual, capaz de resolver todos los problemas que los usuarios seamos capaces de expresar mediante un algoritmo (programa).

Historia Los primeros lenguajes de programacin surgieron de la idea de Charles Babbage, la cual se le ocurri a este hombre a mediados del siglo XIX. Era un profesor matemtico de la universidad de Cambridge e inventor ingles, que al principio del siglo XIX predijo muchas de las teoras en que se basan los actuales ordenadores. Consista en lo que l denominaba la maquina analtica, Con l colaboro Ada Lovelace, la cual es considerada como la primera programadora de la historia, realizo programas para aqulla supuesta maquina de Babbage, lo hizo en tarjetas perforadas. Programas que jams llegaron a ejecutarse, porque la mquina nunca se construyo. Los programadores utilizaron las tcnicas diseadas por Charles Babbage y Ada Lovelace, que consistan entre otras, en la programacin mediante tarjetas perforadas. A pesar de ello, Ada ha permanecido como la primera programadora de la historia. Se dice por tanto que estos dos genios de antao, se adelantaron un siglo a su poca. Aunque le propusieron enfocarse en la creacin de una mquina de diferencias, Babbage se dedico al proyecto de la mquina analtica, que se pudiera programar con tarjetas perforadas, gracias a la creacin de Charles Jacquard (francs). Este hombre era un fabricante de tejidos y haba creado un telar que poda reproducir automticamente patrones de tejidos, leyendo la informacin codificada en patrones de agujeros perforados en tarjetas de papel rgido. Entonces Babbage intento crear la mquina que se pudiera programar con tarjetas perforadas para efectuar cualquier clculo con una precisin de 20 dgitos. Pero la tecnologa de la poca no bastaba para hacer realidad sus ideas.

En su diseo, la mquina constaba de cinco unidades bsicas: 1) Unidad de entrada, para introducir datos e instrucciones; 2) Memoria, donde se almacenaban datos y resultados intermedios; 3) Unidad de control, para regular la secuencia de ejecucin de las operaciones; 4) Unidad Aritmtico-Lgica, que efecta las operaciones; 5) Unidad de salida, encargada de comunicar al exterior los resultados. Charles Babbage, conocido como el "padre de la informtica" no pudo completar en aquella poca la construccin del computador que haba soado, dado que faltaba algo fundamental: la electrnica. Cuando surgi el primer ordenador, el famoso ENIAC (Electronic Numerical Integrator And Calculator), su programacin se basaba en componentes fsicos, o sea, que se programaba, cambiando directamente el Hardware de la maquina, exactamente lo que s hacia era cambiar cables de sitio para conseguir as la programacin de la maquina. La entrada y salida de datos se realizaba mediante tarjetas perforadas. Han aparecido tambin lenguajes que, en vez que tener un enfoque de propsito general, estn especializndose en el desarrollo de aplicaciones de determinado tipo. Por ejemplo, Cobot (1960) est orientado al sector empresarial, Prolog (1972) a la inteligencia artificial, SQL (1978) a la gestin de bases de datos, PHP (1995) al desarrollo, etc.

Clasificacin de lenguajes de programacin Hay que tener en cuenta, que en la prctica, la mayora de lenguajes no pueden ser puramente clasificados en una categora, pues surgen incorporando ideas de otros lenguajes y de otras filosofas de programacin, pero no importa establecer las clasificaciones, pues el autntico objetivo de las mismas es mostrar los rangos, las posibilidades y tipos de lenguajes que hay de manera general en dos grandes grupos, Lenguajes de Alto Nivel y Lenguajes de Bajo Nivel. El grupo de los de Bajo Nivel, como su nombre indica incluye los relacionados ntimamente con la arquitectura de la mquina, por lo que generalmente son especficos de una unidad central de procesamiento (CPU) y no son vlidos para otra diferente. A diferencia de los del grupo anterior, un lenguaje de alto nivel es independiente del microprocesador del ordenador que lo soporta, as por ejemplo un programa escrito en lenguaje C, se puede compilar sin modificar para cualquier mquina, y en principio funcionar sin ningn problema. Esto implica dos ventajas principales, una es que la persona que desarrolla los programas no ha de saber nada acerca del ordenador en que se ejecutar el programa, la otra es que los programas son portables, es decir el mismo programa (en teora) ha de funcionar sobre distintos tipos de ordenadores.

El desarrollo de los lenguajes de alto nivel comenz a mediados de los aos cincuenta del siglo pasado, en esta poca se crearon los lenguajes COBOL, FORTRAN Y ALGOL60. Posteriormente se han ido originndose otros muchos, de hecho varios miles, aunque sobreviven muy pocos. Entre los lenguajes de alto nivel cabe destacar los siguientes: JAVA BASIC FORTRAN MODULA 2 Pascal ADA C C ++ LOGO LISP PROLOG Smalltalk

En conclusin un lenguaje de alto nivel est orientado hacia la resolucin de una determinada clase de problemas. Otra forma de clasificar los lenguajes es en dos grandes

grupos, funcionales e imperativos. Los imperativos establecen cmo debe ejecutarse una tarea partindola en procedimientos que especifican cada una de las tareas. Por el contrario los declarativos establecen estructuras de datos y las relaciones entre ellos que son significativas para ejecutar una tarea determinada, al tiempo que indican cual es el objetivo de dicha tarea. Un lenguaje tpico de este grupo es el Prolog. Algunos de estos lenguajes son: (FIG. 1)

Lenguaje de programacin imperativo Un lenguaje imperativo programa mediante una serie de comandos, agrupados en bloques y compuestos de rdenes condicionales que permiten al programa retornar a un bloque de comandos si se cumple la condicin. Estos fueron los primeros lenguajes de programacin en uso y an hoy muchos lenguajes modernos usan este principio. No obstante, los lenguajes imperativos estructurados carecen de flexibilidad debido a la secuencia de las instrucciones. Lenguaje de programacin funcional Un lenguaje de programacin funcional(a menudo llamado lenguaje procedimental) es un lenguaje que crea programas mediante funciones, devuelve un nuevo estado de resultado y recibe como entrada el resultado de otras funciones. Cuando una funcin se invoca a s misma, hablamos de recursividad. EJEMPLOS lenguajes imperativos a aquellos en los cuales se le ordena a la computadora cmo realizar una tarea siguiendo una serie de pasos o instrucciones, por ejemplo: Paso 1, solicitar nmero. Paso 2, multiplicar nmero por dos. Paso 3, imprimir resultado de la operacin. Paso 4, etc, Algunos ejemplos de lenguajes imperativos son: BASIC, C, C++,

Java, Clipper, Dbase, C# y Perl.

Lenguajes funcionales Obtener los nombres de todos los empleados que tengan ms de 32 aos. Algunos s de lenguajes declarativos son el Datatrieve, SQL y las expresiones regulares. Siglas de Structured Query Language (Lenguaje Estructurado de

Consultas). Es un lenguaje funcional que ana caractersticas del lgebra y el Clculo Relacionales que nos permite lanzar consultas contra una Base de Datos para recuperar informacin de nuestro inters, almacenada en ella. Ejemplos de consultas SQL: SELECT Nombre From Tabl_fich_personales where Edad >=18; Muestra el Campo "Nombre" de todos los individuos mayores de 18 aos de la tabla "Tabl_fich_personales"

Lenguaje interpretado Un lenguaje de programacin es, por definicin, diferente al lenguaje mquina. Por lo tanto, debe traducirse para que el procesador pueda comprenderlo. Un programa escrito en un lenguaje interpretado requiere de un programa auxiliar (el intrprete), que traduce los comandos de los programas segn sea necesario. Lenguaje compilado Un programa escrito en un lenguaje "compilado" se traduce a travs de un programa anexo llamado compilador que, a su vez, crea un nuevo archivo independiente que no necesita ningn otro programa para ejecutarse a s mismo. Este archivo se llama ejecutable. Un programa escrito en un lenguaje compilado posee la ventaja de no necesitar un programa anexo para ser ejecutado una vez que ha sido compilado. Adems, como slo es necesaria una traduccin, la ejecucin se vuelve ms rpida. Sin embargo, no es tan flexible como un programa escrito en lenguaje interpretado, ya que cada modificacin del archivo fuente (el archivo comprensible para los seres humanos: el archivo a compilar) requiere de la compilacin del programa para aplicar los cambios. Por otra parte, un programa compilado tiene la ventaja de garantizar la seguridad del cdigo fuente. En efecto, el lenguaje interpretado, al ser directamente un lenguaje legible, hace que cualquier persona pueda conocer los secretos de fabricacin de un programa y, de ese modo, copiar su cdigo o incluso modificarlo. Por lo tanto, existe el riesgo de que los derechos de autor no sean respetados. Por otro lado, ciertas aplicaciones aseguradas necesitan confidencialidad de cdigo para evitar las copias ilegales (transacciones bancarias, pagos en lnea, comunicaciones seguras...).

Lenguajes intermediarios Algunos lenguajes pertenecen a ambas categoras (LISP, Java, Python...) dado que el programa escrito en estos lenguajes puede, en ciertos casos, sufrir una fase de compilacin intermediaria, en un archivo escrito en un lenguaje ininteligible (por lo tanto diferente al archivo fuente ) y no ejecutable (requerira un interprete). Los applets Java, pequeos programas que a menudo se cargan en pginas web, son archivos compilados que slo pueden ejecutarse dentro de un navegador web (son archivos con la extensin .class).

Uso y Aplicaciones De Algunos Lenguajes De Programacin Ada Diseado por Ichbiah de Cii Honeywell Bull. Por encargo del departamento de defensa de los EE.UU. para unificar el uso de los lenguajes de programacin en los proyectos que le fuesen entregados. Es un lenguaje diseado con la seguridad en mente y es multipropsito, pudiendo legar desde la facilidad de Pascal a la flexibilidad de C pero con una filosofa orientada a la reduccin de errores. Ada es diseada de manera que permita evitar los errores comunes y difciles de descubrir. Hasta la fecha ISO ha publicado dos ediciones del estndar de Ada: la original Ada 83 que inclua conceptos novedosos como las excepciones y la programacin genrica; y la revisin Ada 95, que entre otras cosas aadi la capacidad de herencia para completar sus caractersticas de lenguaje OOP. Aqu tenemos un ejemplo de lo que es el lenguaje de Ada ms simple: <<Saludos Clase>> en el lenguaje de Ada seria as: With Ada.Text_Io; use Ada.Text_IO; Procedure Saludos_Clase is Begin Put_Line (Saludos Clase); End;

Smalltalk

Diseado por Alan Kay durante los aos 1970 en el Palo Reasearch Institute de Xerox. Smalltalk era un elemento de la primera computadora personal, Smalltalk es considerado el primero de los lenguajes orientados a objetos (OOP), Smalltalk no es meramente un lenguaje es un entorno completo, prcticamente un sistema operativo que se ejecuta encima de una maquina virtual. Hasta el 2002 no haba llegado a ser un lenguaje muy popular esto se debe a poca aceptacin de lenguajes interpretados en los aos19980 y 1990. A pesar de esto hubieron empresas como Digitalk, VisualWorks e IBM tuvieron relativo xito con la plata forma como una herramienta de desarrollo rpido que competa contra herramientas como PowerBuilder y en menor grado contra Visual Basic que eran populares en ese entonces. En 1995, Sun Microsystems lanzo Java que es un lenguaje fuertemente influenciado por Smalltalk. Ejemplos de Smalltalk: 1+1 Significa que al objeto1 le enviamos el mensaje + con el parametro 1. Este ejemplo entonces resulta en el valor 2

Java

Plataforma de software desarrollada por Sun Microsystems. Esta plataforma a sido desarrollada de tal manera que los programas desarrollados para ella puedan ejecutarse de la misma forma en diferentes tipos de arquitecturas y dispositivos computacionales. La plataforma Java consta de tres partes: El lenguaje de programacin Maquina virtual de java API Java

Originalmente llamado OAK por Ingenieros de Sun Microsystems, Java fue diseado para correr en computadoras embebidas. Sin embargo, en 1995, dada la atencin que estaba produciendo la Web, Sun Microsystems la distribuyo para sistemas operativos tales como Microsoft Windows. El lenguaje mismo adopta la sintaxis de C++, pero su funcionamiento es muy similar a de Smalltalk. Afines del siglo XX, Java llego a ser el lenguaje de mayor acogida para programas de servidor. Utilizando una tecnologa llamada del JSP. Sumado a esto. La tecnologa de javaBeans, al incompararse con JSP, permita utilizar el patrn MVC (Modelo-Vista-Controlador) que ya tanto se haba aplicado a interfaces graficas. Java llego a ser extremadamente popular cuando Sun Microsystems introdujo la plataforma y el modelo de programacin J2EE (Java 2 Enterprise Edition).Este modelo permite una separacin entre la presentacin de los datos al usuario (JSP o Applets), el modelo de datos (EJB), y el control (Servlets). Enterprise Java Beans (EJB) que es una tecnologa de objetos distribuidos que pudo lograr lo que muchas empresas soaban como Microsoft e IBM .Con este nuevo estndar, empresas como BEA, IBM, Sun Microsystems, Oracle y otros creadores nuevos servidores de aplicaciones que tuvieron gran acogida en el mercado.

Adems de programas del servidor, Java Permite escribir programas de interfaz grafica o textual. Los programas generalmente son compilados a un lenguaje intermedio o bytecode, y luego interpretados por una maquina virtual (JVM). Ejemplos de Java: import javax.swing.JFrame; import javax.swing.JLabel; public class HolaMundo extends javax.swing.JFrame { public static void main(String[] args) { System.out.println("Vamos a crear una ventana que ponga \"HolaMundo\""); new HolaMundo(); } public HolaMundo() { super("HolaMundo"); JLabel etiqueta = new JLabel("HolaMundo"); etiqueta.setHorizontalAlignment(javax.swing.SwingConstants.CENTER) ; getContentPane().add(etiqueta); setSize(400,200); addWindowListener( new java.awt.event.WindowAdapter() { public void windowClosing(java.awt.event.WindowEvent evt) { System.exit(0); } } ); setVisible(true); } }

C ++ C++ (pronunciado C plus plus o C mas mas , por algunos programadores de habla hispana) es el lenguaje de programacin, diseado a mediados de los 80, por Bjarne Stroutrup, como extensin del lenguaje de programacin C. Es un lenguaje hibrido, que se puede compilar y resulta mas sencillo de aprender para los programadores que ya conocen C. Actualmente existe un estndar, denominado ISO C++, al que se han adherido la mayora de los fabricantes de compiladores ms modernos. Las principales caractersticas del C++ son abstraccin (encapsulacin), el soporte para programacin orientada a objetos(polimorfismo) y el soporte de platillas o programacin genrica (temples). Las plantillas se las define de la manera siguiente: tmplate <parmetros> declaracin X y se las instancia con X <parmetros>. Pero aade otra serie de propiedades que se encuentran mas difcilmente en otros lenguajes de alto nivel : Posibilidad de redefinir los operadores Identificacin de tipos en tiempo de ejecucin (RTTI)

El nombre C++ fue propuesto por Rick Masciatti en el ao 1983, cuando el lenguaje fue utilizado por primera vez fuera de un laboratorio cientfico. Ejemplos de C++: #include<iiostream> Imt main () { Std::cout<<Hola Mundo << std::endl; }

Pascal Pascal es un lenguaje de programacion de alto nivel, desarrollado por Niklaus Wirth. Se convirti en uno de los lenguajes extensamente usados en los cursos de introducion a la programacin, pues fue bien recibido como lenguaje de enseanza para estudiantes universitarion. Pascal es un lenguaje con tecnicas de programacin estructurada, dicha programacin hace programadores disciplinados. Sus primeras versiones datan de 1970. Es un lenguaje didactico que ensease la programacin

Lnea de tiempo Lenguajes de programacin (los mas importantes). Fortran: es un lenguaje de programacin alto nivel de propsito general que est especialmente adaptado al clculo numrico y a la computacin cientfica. Lisp: fue creado originalmente como una notacin matemtica prctica para los programas de computadora, basada en el clculo lambda de Alonzo Church. Se convirti rpidamente en el lenguaje de programacin favorito en la investigacin de la inteligencia artificial. Lenguaje cobol: Fue diseado con el objetivo de crear un lenguaje de programacin universal que pudiera ser usado en cualquier ordenador y que estuviera orientado principalmente a los negocios, es decir, a la llamada informtica de gestin. Basic: Fue diseado como un medio para facilitar programar computadores a estudiantes y profesores que no fueran de ciencias. Prolog: Lenguaje de tipo lgico e interpretado. Utilizado especialmente en investigaciones sobre Inteligencia Artificial. C: Es un lenguaje orientado a la implementacin de Sistemas Operativos, concretamente Unix. C es apreciado por la eficiencia del cdigo que produce y es el lenguaje de programacin ms popular para crear software de sistemas. Pascal: Su objetivo era facilitar el aprendizaje de programacin a estudiantes, sin embargo con el tiempo su utilizacin excedi el mbito acadmico para convertirse en una herramienta para la creacin de aplicaciones de todo tipo.

C++: La intencin de su creacin fue el extender al exitoso lenguaje de programacin C con mecanismos que permitan la manipulacin de objetos. En ese sentido, desde el punto de vista de los lenguajes orientados a objetos, el C++ es un lenguaje hbrido. Eiffel: Es un lenguaje orientado a objetos centrado en la construccin de software robusto. Perl: Est basado en un estilo de bloques como los del C o AWK, y fue ampliamente adoptado por su destreza en el procesado de texto y no tener ninguna de las limitaciones de los otros lenguajes de script. Java: es un lenguaje independiente de la plataforma. Eso quiere decir que si hacemos un programa en Java podr funcionar en cualquier ordenador del mercado. Es una ventaja significativa para los desarrolladores de software, pues antes tenan que hacer un programa para cada sistema operativo, por ejemplo Windows, Linux, Apple, etc. C#: es uno de los lenguajes de programacin diseados para la infraestructura de lenguaje comn, desarrollado y estandarizado por Microsoft como parte de su plataforma .NET GO: Es un lenguaje de programacin compilado, concurrente, imperativo, estructurado, no orientado a objetos de una manera bastante especial y con recolector de basura que de momento est soportado en diferentes tipos de sistemas UNIX, incluidos Linux, FreeBSD y Mac OS X.

CONCLUSION

En el quehacer diario, Sin tener conciencia, aprovechamos y utilizamos los frutos de la programacin. El acceso a las tecnologas de la computacin a sido facilitado gracias a cientos de programadores capaces de ir leyendo los tiempos e ir satisfaciendo las necesidades del usuario con lenguajes de alta complejidad que siempre estn en proceso de simplificacin y refinamiento o dando pie a la creacin de otros, ya que estos surgen como una necesidad en una sociedad mas desarrollada. IMPRIMIR FIN

Anexos FIG. 1

FIG.2

Вам также может понравиться