You are on page 1of 12

BENEMRITA UNIVERSIDAD AUTNOMA DE PUEBLA

Ingeniera en Ciencias de La computacin

Desarrollo de Habilidades en el uso de la Tecnologa, la Informacin y la Comunicacin

LENGUAJES DE PROGRAMACIN

Padrn Galeana Jos Antonio

Otoo de 2011

ndice
1. Introduccin. 2. Clasificacin. 2.1. Por Nivel 2.1.1. Lenguajes de bajo nivel 2.1.2. Lenguajes de alto nivel 2.2. Por Generacin 2.2.1. Primera generacin 2.2.2. Segunda generacin 2.2.3. Tercera generacin 2.2.4. Cuarta generacin 2.2.5. Quinta generacin 2.3. Por rea de Aplicacin 2.4. Por Paradigma 2.4.1. Imperativo 2.4.1.1. 2.4.1.2. Procedimental Orientado a Objetos

2.4.2. Declarativo 2.4.2.1. 2.4.2.2. 3. Lenguajes 3.1. Cdigo mquina 3.2. Ensamblador 3.3. C 3.4. C++ 3.5. JAVA 4. Conclusiones 5. Glosario. 6. Bibliografa Funcional Lgico

Introduccin
Por s misma, una computadora no hara nada til. Debe haber un programa que dirija a la computadora para realizar alguna tarea especfica.

Un programa (tambin llamado software) es una secuencia de instrucciones que le dice a la computadora qu debe hacer. Las instrucciones se escriben en un lenguaje que est especficamente diseado para dar rdenes a una computadora, para que as se realicen tareas predeterminadas. La interaccin humano-maquina no se queda atrs, ya que es necesario tener un lenguaje para poder indicarle a la mquina que accin realizar En otras palabras, se necesita una interface en la que se pueda desarrollar aplicaciones o programas que se compongan de un conjunto de instrucciones que luego se aplicaran en la computadora con ayuda de sus recursos. Mediante los programas se indica a la computadora qu tarea debe realizar y como efectuarla, pero para ello es preciso introducir estas rdenes en un lenguaje que el sistema pueda entender. Los lenguajes de programacin tienen una estructura compleja, el presente trabajo presentara la explicacin de forma general de lo que es un lenguaje de programacin, cul es su uso, su estructura, su clasificacin y los tipos de lenguajes que hay, de igual manera se explicaran los lenguajes de programacin ms importantes de una forma bsica, tratando de no hacer extenso el tema ya que estar orientado a alumnos de nuevo ingreso en el rea de computacin para que tengan un conocimiento bsico de lo que son los lenguajes de programacin.

Clasificacin
Los lenguajes de programacin se pueden clasificar debido a varios criterios, el Profesor Antonio F. Huertas Bermdez de la universidad de Puerto rico (Huertas, 2008) clasifica los lenguajes de programacin de la siguiente manera: I. Por Nivel Los lenguajes pueden ser clasificados como: 1. Lenguajes de bajo nivel es el que proporciona un conjunto de instrucciones sin la capacidad de encapsular dichas instrucciones en funciones que no estn ya contempladas en la arquitectura del hardware. Ejemplos: El lenguaje de mquina y el lenguaje de

ensamblaje. Ventaja: Mxima velocidad y aprovechamiento de los recursos. 2. Lenguajes de alto nivel es el que permite expresar algoritmos de una manera adecuada a la capacidad cognitiva humana, en lugar de a la capacidad ejecutora de las mquinas. Ejemplos: C, C#, Cobol,

Fortran, Haskell, Java, Lisp, Perl, Prolog, Visual Basic, etc. Ventajas: Cdigo ms fcil de entender e independiente de la arquitectura de la computadora.

II. Por Generacin Los lenguajes pueden ser clasificados como: 1. Primera generacin lenguaje de mquina; el nico que un

microprocesador entiende de forma nativa. 2. Segunda generacin lenguaje de ensamblaje; sustituye los cdigos de operaciones y las direcciones de memoria por mnemnicas y nombres de variables. Aunque no es lenguaje nativo del microprocesador, se debe conocer la arquitectura del microprocesador (como por ejemplo las particularidades de sus registros o su conjunto de instrucciones).

3. Tercera generacin lenguajes imperativos/procedimentales; permiten expresar algoritmos usando instrucciones parecidas al lenguaje

natural. Ejemplos: C, C#, Cobol, Fortran, Java, Perl, Visual Basic, etc. 4. Cuarta generacin lenguajes declarativos asociados a un propsito especfico, normalmente aplicaciones comerciales que usan bases de datos o aplicaciones cientficas. Ejemplos: ColdFusion, MATLAB, R, RPG, SQL, VRML, etc. 5. Quinta generacin lenguajes declarativos asociados a aplicaciones de inteligencia artificial y sistemas expertos. Ejemplos: Prolog, OPS5, etc.

III. Por rea de Aplicacin Los lenguajes pueden ser clasificados de acuerdo al rea para la cual fueron diseados: 1. Enseanza Basic, Logo, Pascal y Python 2. Aplicaciones cientficas Fortran, Algol, Matlab, R 3. Aplicaciones comerciales Cobol, RPG, SQL 4. Aplicaciones con interfaces grficas Visual Basic, C# 5. Inteligencia artificial y sistemas expertos Lisp, Prolog, OPS5 6. Programacin de sistemas C, C++ 7. Aplicaciones web JavaScript, PHP

IV. Por Paradigma Fundamentalmente, los lenguajes se pueden clasificar en dos grandes estilos o paradigmas: lenguajes imperativos o lenguajes declarativos (Huertas, 2008). En los lenguajes imperativos, los programas son un conjunto de instrucciones que le indican a la computadora cmo realizar una tarea. En los lenguajes declarativos, los programas especificando o "declarando" un conjunto de condiciones, proposiciones, afirmaciones, restricciones, ecuaciones o transformaciones que describen cul el problema pero no se indican las instrucciones necesarias para solucionarlo.

El paradigma imperativo se divide en: 1. Procedimental los programas se componen de procedimientos o rutinas que detallan las instrucciones para resolver un problema. Se utilizan mucho los enunciados de asignacin para cambiar los valores de las variables y las repeticiones se expresan usando ciclos. Ejemplos: C, Cobol, Fortran, Pascal, etc. 2. Orientado a objetos los programas se componen de objetos que interactan entre s por medio de mensajes. Cada objeto pertenece a una clase, contiene datos (campos o atributos) y puede llevar a cabo operaciones (mtodos). Se pueden derivar nuevas clases a partir de clases existentes. Ejemplos: C++, C#, Java, Smalltalk, Visual Basic, etc.

El paradigma declarativo se divide en: 1. Funcional los programas se componen de funciones como las definen en matemticas. Estos lenguajes no poseen enunciados de asignacin, slo de inicializacin, y las repeticiones se expresan usando recursin. Las funciones se consideran como valores de primera clase: pueden ser enviadas como argumentos a otras funciones, pueden ser devueltas por otras funciones y pueden ser asociadas a

variables. Ejemplos: Lisp, Scheme, ML, Haskell, etc. 2. Lgico los programas se componen de predicados. Estos predicados pueden ser hechos que indican la relacin entre varios elementos, o reglas que permiten deducir informacin a partir de otros hechos o reglas. Este paradigma se basa en la teora lgica de primer orden. Ejemplos: Prolog, OPS5, Mercury, etc.

Lenguajes
Lenguaje Maquina

El lenguaje mquina es el nico que entiende la computadora digital, es su "lenguaje natural". En l slo se pueden utilizar dos smbolos: el cero (0) y el uno (1) (Pes, 2007). Por ello, al lenguaje mquina tambin se le denomina lenguaje binario. La computadora slo puede trabajar con bits, sin embargo, para el programador no 10100010 11110011 00100010 00010010 Una dificultad aadida a los lenguajes binarios es el hecho de que son dependientes de la mquina (o mejor dicho, del procesador), es decir, cada procesador utiliza un lenguaje mquina distinto (un juego de instrucciones distinto) que est definido en su propio hardware. En consecuencia, un programa escrito para un tipo de procesador no se podr usar en otro equipo que utilice un procesador distinto, ya que, el programa no ser portable o transportable. Para que dicho programa pueda funcionar en una segunda computadora, habr que traducir todas las instrucciones escritas en el lenguaje mquina del primer equipo al lenguaje binario de la segunda computadora. Lenguaje Ensamblador. Lenguaje de programacin que est a un paso del lenguaje de mquina. El ensamblador traduce cada sentencia del lenguaje ensamblador a una instruccin de mquina (Guglielmetti, 2005). Los programadores deben estar bien familiarizados con la arquitectura del computador, siendo los programas en lenguaje ensamblador no documentados difciles de mantener. El lenguaje ensamblador es dependiente del hardware; hay un lenguaje ensamblador diferente para cada serie de CPU. resulta fcil escribir instrucciones tales como:

C C es un lenguaje de programacin de propsito general asociado, de modo universal, al sistema operativo UNIX. Sin embargo, la popularidad, eficacia y potencia de C se ha producido porque este lenguaje no est prcticamente

asociado a ningn sistema operativo, ni a ninguna mquina en especial. (Vergara, 2007). Esta es la razn fundamental por la que C es conocido como el lenguaje de programacin de sistemas por excelencia.

C es un lenguaje de alto nivel, que permite programar con instrucciones de lenguaje de propsito general. Tambin C se define como un lenguaje de programacin estructurado de propsito general; aunque en su diseo tambin prim el hecho de fuera especificado como un lenguaje de programacin de sistemas, lo que proporciona una enorme cantidad de potencia y flexibilidad. En la actualidad, el lenguaje C sigue siendo uno de los ms utilizados en la industria del software, as como en institutos tecnolgicos, escuelas de ingeniera y universidades. Prcticamente todos los fabricantes de sistemas operativos (tomando en cuenta a: UNIX, Linux, MacOS, Solaris, Windows, entre otros.), soportan diferentes tipos de compiladores de lenguaje C. Ventajas del lenguaje C El lenguaje C tiene una gran cantidad de ventajas sobre otros lenguajes y constituyen precisamente la razn fundamental de que despus de casi dos dcadas de uso C siga siendo uno de los lenguajes ms populares, utilizados en empresas, organizaciones y fbricas de software de todo el mundo. C se caracteriza por su velocidad de ejecucin. En los primeros das de la informtica los problemas de tiempo de ejecucin se resolvan escribiendo todo o parte de una aplicacin en lenguaje ensamblador (muy al lenguaje de mquina). Debido a que existen muchos programas escritos en el lenguaje C, se han creado numerosas bibliotecas C para programadores profesionales que soportan gran variedad de aplicaciones. Caractersticas del lenguaje C

Hay numerosas caractersticas que diferencian al lenguaje C de otros, y lo hacen eficiente, potente, eficaz, rpido, indispensable para todos los programas. Algunas caractersticas marcadas por Kevin Vergara (Vergara, 2007) son: Una nueva sintaxis para declarar funciones. Una declaracin de funcin puede aadir una descripcin de los argumentos de la funcin. Esta informacin adicional sirve para que los compiladores detecten ms fcilmente lo errores causados por argumentos que no coinciden. Asignacin de estructuras (registros) y enumeraciones. Preprocesador ms sofisticado. Una nueva definicin de la biblioteca que acompaa a C. Entre otras funciones se incluyen: acceso al sistema operativo (por ejemplo, lectura / escritura de archivos), entrada y salida con formato, asignacin dinmica de memoria, manejo de cadenas de caracteres. Una coleccin de cabeceras estndar que proporciona acceso uniforme a las declaraciones de funciones y tipos de datos. C++ C++ es un lenguaje de programacin diseado a mediados de los aos 1980 por Bjarne Stroustrup (Stroustrup, 1998). La intencin de su creacin fue el extender al exitoso lenguaje de programacin Ccon 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. Posteriormente se aadieron facilidades de programacin genrica, que se sum a los otros dos paradigmas que ya estaban admitidos (programacin estructurada y la programacin orientada a objetos). Por esto se suele decir que el C++ es un lenguaje de programacin multiparadigma. Una particularidad del C++ es la posibilidad de redefinir los operadores (sobrecarga de operadores), y de poder crear nuevos tipos que se comporten como tipos fundamentales.

El nombre C++ fue propuesto por Rick Mascitti en el ao 1983, cuando el lenguaje fue utilizado por primera vez fuera de un laboratorio cientfico. Antes se haba usado el nombre "C con clases". En C++, la expresin "C++" significa "incremento de C" y se refiere a que C++ es una extensin de C.

JAVA El lenguaje para la programacin en Java, es un lenguaje orientado a objeto, de una plataforma independiente. El lenguaje para la programacin en Java, fue desarrollado por la compaa Sun Microsystems, con la idea original de usarlo para la creacin de pginas WEB. Java tiene muchas similitudes con el lenguaje C y C++, as que si se tiene conocimiento de este lenguaje, el aprendizaje de la programacin Java ser de fcil comprensin por un programador que haya realizado programas en estos lenguajes (Sanchez, 2011)

Con la programacin en Java, se pueden realizar distintos aplicativos, como son applets, que son aplicaciones especiales, que se ejecutan dentro de un navegador al ser cargada una pgina HTML en un servidor WEB, Por lo general los applets son programas pequeos y de propsitos especficos. Otra de las utilidades de la programacin en Java es el desarrollo de aplicaciones, que son programas que se ejecutan en forma independiente, es decir con la programacin Java, se pueden realizar aplicaciones como un procesador de palabras, una hoja que sirva para clculos, una aplicacin grfica, etc. en resumen cualquier tipo de aplicacin se puede realizar con ella. Java permite la modularidad por lo que se pueden hacer rutinas individuales que sean usadas por ms de una aplicacin, por ejemplo tenemos una rutina de impresin que puede servir para el procesador de palabras, como para la hoja de clculo.

Conclusin.
Los lenguajes de programacin son necesarios para establecer comunicacin con las mquinas ya que de otra forma no sera posible esta conexin, los diferentes lenguajes de programacin nos ofrecen una gran cantidad de caractersticas dependiendo para que se desarrolle el lenguaje, existen varios tipos que a la vez se clasifican segn su nivel, su generacin, su rea de aplicacin y su paradigma. No es posible determinar cul lenguaje de programacin es el mejor debido a que cada lenguaje tiene caractersticas nicas que se pueden emplear en diversas ramas y adems de esto se van mejorando da con da y tambin surgen nuevos lenguajes de programacin de vez en cuando. Dentro de estos lenguajes podramos mencionar los ms conocidos como lo es C, C++ y Java, que tienen similitudes entre s, del cual podemos decir que al saber un lenguaje los dems resultaran sencillos.

El estudio de cada lenguaje es muy extenso, ya que tendramos que analizar su historia, su uso y en que mbito son los mejores adems de que tendramos que ver la estructura que tendr al realizar un programa.

Bibliografa
Alarcon, O. (2006). La revista Informatica. Obtenido de http://www.larevistainformatica.com/LENGUAJES-DE-PROGRAMACION.html Gmez, R. (2 de Junio de 2008). Ilustrados. Obtenido de Ilustrados.com: http://www.ilustrados.com/documentos/lenguajes-programacion-020608.pdf Guglielmetti, M. (2005). Master Magazine. Obtenido de http://www.mastermagazine.info/termino/4894.php Huertas, A. (2008). Universidad de Puerto Rico . Obtenido de http://www.uprb.edu/profesor/ahuertas/Sici3039/1_Introduccion/ClasificacionLenguajes. html Pes, C. (2007). Web de Carlos Pes. Recuperado el 12 de Noviembre de 2011, de http://www.carlospes.com/minidiccionario/lenguaje_maquina.php Sanchez, S. (2011). Intel Engage. Obtenido de http://engage.intel.com/docs/DOC-23717 Stroustrup, B. (1998). El lenguaje de programacin C++. Madrid: Addison-Wesley. Vergara, K. (6 de Julio de 2007). Blog Informatico. Obtenido de http://www.bloginformatico.com/que-son-lenguajes-de-programacion.php

You might also like