UNIVERSIDAD PERUANA UNIÓN
FACULTAD DE INGENIERÍA Y ARQUITECTURA
EAP Ingeniería de Sistemas

MONOGRAFÍA
Lenguajes de Programación

Monografía presentada en cumplimiento parcial de la asignatura de Técnicas de Estudio e
Investigación

Autores
Alumnos:
Joel, Llacsahuache Copia
Erick Montero Fachin
Merly Azucena Gómez Díaz
Natalia Díaz Salazar

Profesora
Lic. Rosa Linda Mamani Morales

Morales, Noviembre de 2013
TABLA DE CONTENIDO
Resumen. ........................................................................................................................................... 2
Palabras claves ................................................................................................................................. 3
1

INTRODUCCIÓN.................................................................................................................... 4

2. MARCO TEÓRICO .................................................................................................................... 5
2.1 DEFINICION DE LENGUAJE DE PROGRAMACION. ............................................... 5
2.2 HISTORIA DE LOS LENGUAJES DE PROGRAMACIÓN........................................... 5
2.3

TIPOS DE LENGUAJES ............................................................................................... 7

2.3.1 LENGUAJES DE MÁQUINA. ...................................................................................... 7
2.3.2

LENGUAJES ENSAMBLADORES....................................................................... 7

2.3.3

LENGUAJES DE ALTO NIVEL ........................................................................... 8

2.3.3.1

Ventajas: ............................................................................................................... 8

2.3.4

LENGUAJES COMPILADOS ............................................................................... 8

2.3.5

LENGUAJES INTERPRETADOS......................................................................... 9

2.4

PARADIGMAS .............................................................................................................. 10

2.4.2

¿Qué es un paradigma de programación? .......................................................... 10

2.4.3

LENGUAJES DE PROGRAMACIÓN DECLARATIVOS ............................... 10

2.4.3.1 CARACTERÍSTICAS DE LOS LENGUAJES DE PROGRAMACIÓN
DECLARATIVOS .............................................................................................................. 10
2.4.3.2 DESVENTAJAS DE LA PROGRAMACIÓN DECLARATIVA .................... 11
2.4.3.3 VENTAJAS DE LA PROGRAMACIÓN DECLARATIVA ............................. 11
2.5 PROGRAMACIÓN LÓGICA ............................................................................................ 11
2.6 PROGRAMACIÓN FUNCIONAL .................................................................................... 11
3. CONCLUSIONES ...................................................................................................................... 12
4. REFERNCIAS ............................................................................................................................ 14

1
Resumen.
Un lenguaje de programación es un lenguaje que puede ser utilizado para controlar el
comportamiento de una máquina, particularmente una computadora. Consiste en un conjunto de
reglas sintácticas y semánticas que definen su estructura y el significado de sus elementos,
respectivamente [3]
Lo primero que el programador debe hacer para programar es:
 Identificar

el problema, luego elaborar el algoritmo

o secuencias de pasos a seguir

para la solución del mismo.
Viene a tallar aquí una controversia de comprensión e interpretación entre el lenguaje
máquina y el
este aparato

lenguaje humano.Quizás nos preguntemos ¿qué hace el programador para que
obedezca a los comandos ante cualquier manipulación de algún hardware?

La respuesta es simple como el lenguaje maquina es distinta al del humano esta necesita de
un traductor

e interprete.

Para que la computadora ejecute las instrucciones del programador,
traductor

se requiere

de un

que es el que trasforma el lenguaje humano al lenguaje maquina (lenguaje binario

unos y ceros).

2
Palabras claves
Lenguajes de programación.
Ensamblador.
Compilador.
Traductor.
Interprete.
OOP (Programación Orientada a Objetos)
Caracteres (conjunto de símbolos o letras)
Lenguaje maquina (lenguaje natural de la computadora)
Paradigma declarativo

3
1

INTRODUCCIÓN

El objetivo de este trabajo monográfico es
humano

identificar los procesos

entre el lenguaje

y el de la maquina; del mismo modo clasificarlos.

Los programadores escriben instrucciones en diversos lenguajes de programación, algunos de los
cuales los comprende directamente la computadora, mientras que otros requieren pasos
intermedios de traducción[1]. Es decir

; así como los seres humanos ; empleamos para

comunicarse diferentes idiomas y para comprender mejor necesitamos de una persona experta
en el idioma de nuestro emisor que va a desempeñar el papel de un

traductor.

Un lenguaje de programación es un conjunto limitado de palabras y de símbolos que
representan procedimientos, cálculos, decisiones y otras operaciones que pueden ejecutar una
computadora[2]. Prosiguiendo con el ejemplo ya mencionado para que exista

una eficiente

comunicación y entendimiento existen diferentes y estrictas reglas que determinan el estilo
de un idioma a como también

la forma de escritura.Lo mismo ocurre con los lenguajes de

programación, se requiere un conjunto de pasos y procedimientos para alcanzar un fin en
común ,el que la computadora ejecute las instrucciones correctamente .
En el transcurso de este trabajo monográfico para su buen entendimiento acerca de
los lenguajes de programación abordaremos lo siguiente: un breve pero preciso concepto
de los lenguajes de programación, historia y evolución en el tiempo, el lenguaje máquina , los
lenguajes ensambladores, lenguajes de alto

nivel ,lenguajes

interpretados

,

lenguajes

compilados,Lenguajes de programación Declarativos , Imperativos y orientada a objetos.
Del mismo modo le mostraremos la lista de la gama de lenguajes de programación existentes
y a qué nivel pertenecen; si al primer, segundo o tercer nivel.
Esperamos - que lo que está ya expuesto en esta monografía -amigo(a) lector(a),
la ampliación y el conocimiento de los lenguajes de programación.

4

le sirva en
2. MARCO TEÓRICO
2.1 DEFINICION DE LENGUAJE DE PROGRAMACION.
a) Notación para escribir programas [4]
b) Un lenguaje de programación es un lenguaje que puede ser utilizado para controlar el
comportamiento de una máquina, particularmente una computadora. Consiste en un conjunto de
reglas sintácticas y semánticas que definen su estructura y el significado de sus elementos,
respectivamente [3]. Es decir la computadora es un cerebro superficial, diferente al del

ser

humano .Esta posee un lenguaje un lenguaje natural para comunicarse compuesto por un
conjunto de reglas como ya lo hemos mencionado.
c) Un lenguaje de programación es un conjunto limitado de palabras y de símbolos que representan
procedimientos[2]
Al referirse a limitado
algoritmo posee y

nos

centramos en la cantidad estricta de caracteres

va a depender de estos procesos para que

que

el procesador ejecute

cada
la

instrucción correctamente.

2.2 HISTORIA DE LOS LENGUAJES DE PROGRAMACIÓN
|

Los primeros lenguajes de programación surgen debido a las dificultades de la

programación directa en código máquina o con ensambladores básicos.[5]
Los

lenguajes de programación nacen por la dificultad

computadora entienda las ordenes

para hacer que la

mediante el lenguaje binario y se comienza a introducir

códigos compuestos con palabras en inglés y números llamados ensambladores ; a continuación
podremos notar cómo evolucionan estos mismos:
El que se considera en la práctica como el primer lenguaje de alto nivel es Fortran,
creado por el equipo de John W. Backus en IBM. Vio la luz a mediados de 1954 y aunque se
recibió con escepticismo entre la comunidad de desarrolladores de entonces (que preferían seguir
utilizando ensamblador), pronto probó su utilidad y su adopción se extendió ampliamente. [6]
Era

eficaz para

realizar

cálculos. Poco

después apareció

el

cobol que se destinó

fundamentalmente a la gestión comercial no fueron los únicos lenguajes , durante 30 años se
han desarrollado hasta 400 lenguajes de programación [7]
En 1980 se crea uno de los lenguajes más utilizados desde entonces: C++, una
modificación de C hecha por Bjarne Stroustrup. Se le considera el lenguaje de programación
más popular de la historia y muchos de los programas más conocidos y usados están escritos en
él, como por ejemplo MS Office o Firefox. De entre los lenguajes aparecidos en esta década,
también cabe destacar la creación por parte de Larry Wall de Perl en 1987, el cual coge
características de otros lenguajes como C o Lisp.[6]
5
En los noventa hacen su aparición también un buen número de lenguajes que son muy
utilizados en la actualidad, como Python (1991), Ruby (1993) o Java (1995). Éste último llamó
mucho la atención por ser capaz de correr en diferentes equipos y sistemas operativos a través de
su máquina virtual, encargada de ejecutar el bytecode resultante de compilar el código Java.[6]
Aunque con la entrada en el nuevo siglo (y milenio) la aparición de nuevos lenguajes se
ha visto reducida, eso no quiere decir que no se haya producido. Por ejemplo, tenemos C# y
Visual Basic .NET (ambos de Microsoft) o, más recientemente (en el 2009), Go, desarrollado por
Google.[6] y lanzado en noviembre del 2009.
No quisiera finalizar este artículo sin hacer mención de un aspecto bastante curioso de los
lenguajes de programación: sus nombres. Y es que bautizar una creación no siempre es una tarea
fácil. Muchas veces simplemente se optó por un acrónimo más o menos sonoro, o unas siglas que
sonasen bien a las que luego poner un significado. Pero en otros casos, las decisiones son
tomadas… de otra manera.[6]
De los mencionados en este texto, podemos encontrarnos con que Fortran es una
contracción de TheIBM Mathematical Formula Translating System, quedándose tan sólo con el
For de Formula y el tran de Translating. Por su parte, COBOL es el acrónimo de COmmon
Business-Oriented Language, debido a que estaba orientado a negocios, finanzas e instituciones
gubernamentales.[6]
C sin duda es el epítome de la simplicidad. ¿El porqué de su nombre? Porque muchas de
sus características provenían de un lenguaje anterior llamado… Sí: B. Pura lógica.[6]
Nombres prácticos, que reflejan lo nombrado. Pero… ¿Lo hacen también otros como
Python? Pues sí: Python proviene de Monty Python, el conocido grupo de humoristas
británicos. ¿Y qué tienen que ver estos con un lenguaje para programar? Fácil: los desarrolladores
del lenguaje tenían como objetivo que usar este lenguaje fuese divertido.[6]
En el caso de Perl, su creador quería un nombre de connotaciones positivas, por lo
tanto lo sacó de la parábola de la perla, del evangelio de San Mateo, que dice: “El Reino de los
Cielos es semejante a un mercader que busca perlas preciosas. Pero resultó que ya había un
lenguaje llamado PEARL, así que ni corto ni perezoso simplemente alteró el nombre y terminó
con el que conocemos: Perl, que no significa absolutamente nada (por muchos acrónimos que le
achaquen después).[6]

6
2.3

TIPOS DE LENGUAJES

2.3.1LENGUAJES DE MÁQUINA.
Anteriormente

el programador tenía que programar en lenguaje máquina, Lo cual

era

tedioso y no se limitaba a presentar errores.
Fue desde entonces que se necesitó de un lenguaje entendible para el programador , para la
cual se tuvo que utilizar algunas

palabras en inglés para representar

las operaciones

elementales; que mediante un proceso se reduce al lenguaje maquina (ceros y unos).
Son lenguajes utilizados para describir programas de computadoras que pueden ser entendibles
por ellas. [6]
Es decir utilizan una cadena de numero binarios (ceros y unos ) que resulta al hombre difícil
de entender , por eso se necesitan lenguajes que necesitan simplificar este proceso naciendo de
este modo los lenguajes ensambladores.
El lenguaje máquina de una computadora consta de cadenas de números binarios (ceros y unos) y
es el único que “entienden” directamente los procesadores. Todas las instrucciones preparadas en
cualquier lenguaje de máquina tienen por lo menos dos partes.
El primero es el comando y el segundo es el operando ambos contribuyen para que el lenguaje
maquina funcione bien. Pero este proceso era tedioso y demoraba meses para realizarse.

2.3.2

LENGUAJES ENSAMBLADORES
Imagen 1: notamos el proceso del lenguaje ensamblador.

http://www.rena.edu.ve/cuartaEtapa/Informatica/Imagenes/T13Dib02.gif

Los lenguajes ensambladores son mucho más fáciles de entender que los lenguajes de máquina
Son los que permiten que una máquina

pueda

convertir las instrucciones en lenguaje

ensamblador del programador en su propio código de máquina. Una de las ventajas de estos
7
lenguajes es sobre los lenguajes de máquina. Es que Ahorran tiempo y requieren menos atención
a detalles, son más fáciles de modificar que los lenguajes anteriores.[2]
2.3.3

LENGUAJES DE ALTO NIVEL

Los lenguajes de alto nivel no necesitan ser modificados. Ya que estos son independientes de la
máquina se pueden instalar en cualquier computadora.Son de uso mucho más fácil, ya que en
ellos un solo comando o instrucción puede equivaler a millares es código máquina.

2.3.3.1 Ventajas:
 Son más fáciles de aprender que los lenguajes ensambladores.
 Se pueden escribir más rápidamente.
 Permiten tener mejor documentación.
 Son más fáciles de mantener.
 Un programador que sepa escribir programas en uno de estos lenguajes no está limitado a
utilizar un solo tipo de máquina. [2]
Presentamos a continuación algunos lenguajes de programación:
ADA
BASIC
COBOL
FORTRAN
C
Modula-2
Pascal
Java

2.3.4

LENGUAJES COMPILADOS

Los compiladores son aquellos cuya función es traducir un programa escrito en un determinado
lenguaje a un idioma que la computadora entienda (lenguaje máquina con código binario).Son
llamados también lenguajes traductores porque su única función es traducir programas.[2]
Es decir estos compiladores

se percataran estrictamente en los caracteres o signos de la

sintaxis de cada lenguaje y determinara si existen errores o si ejecuta con total normalidad
dicha instrucción.
Es necesario entonces percatarse muy bien de la funcionalidad de cada caracter para programar
exitosamente.

8
2.3.5

LENGUAJES INTERPRETADOS

A diferencia de los lenguajes compilados que se encargan de traducir lenguajes, estos lenguajes se
encargan de interpretar un programa.[2]
Es decir el programador
datos que se
llamándolo

solo carga

el programa fuente en la computadora junto con los

va a procesar ,y dentra a tallar la presencia de un intérprete
así

de simple ,

un

convertidor analizante

almacenado en el disco duro.

9

incluido

es decir ;

permanentemente

o
2.4

PARADIGMAS

2.4.2

¿Qué es un paradigma de programación?

Cada uno de estos paradigmas se caracteriza por un modelo formal distinto de lo que constituye
unCálculo.El conjunto de cálculos realizables es igual en los tres casos (los que se pueden hacer
con máquinas de Turing)
2.4.3

LENGUAJES DE PROGRAMACIÓN DECLARATIVOS

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.[2]
Por ejemplo: deseo que la maquina mediante una instrucción me muestre

la cantidad de

empleados dentro de una empresa, pero de la edad que le solicite.
Para ser más específico

se jacta en la descripción de un problema

y la relegación de la

solución para un determinado interprete.
La programación declarativa describe al problema, dejando de lado la interpretación específica,
para así centrarse en encontrar una solución de un intérprete no especificado.[2]

Ejemplo de programa en Prolog[5]

mcd1(x, y, r) :- y is 0, r is x
mcd1(x, y,r) :- nx is y, resto(x, y,ny),
mcd1(nx,ny,r)
mcd(x,y,r) :- abs(x,ax), abs(y,ay),
mcd1(ax,ay,r)
?- mcd(10,102,z).
2.4.3.1 CARACTERÍSTICAS DE LOS LENGUAJES DE PROGRAMACIÓN
DECLARATIVOS
Los lenguajes declarativos están orientados a buscar la solución del problema.[2]

10
Los programas están formados por un conjunto de definiciones o ecuaciones, las cuales describen
lo que debe ser calculado.[2]
Las variables sólo pueden tener asignado un solo valor a lo largo de la ejecución del programa, lo
cual significa que no debe haber asignación destructiva.[2]
Las variables sólo pueden tener asignado un solo valor a lo largo de la ejecución del programa.[2]

2.4.3.2 DESVENTAJAS DE LA PROGRAMACIÓN DECLARATIVA
La principal desventaja de la programación declarativa es que no puede resolver cualquier
problema dado, solo puede resolver problemas diseñados para el intérprete o compilador, cuanto
solo con subconjunto dado de problemas los que puede resolver.[2]
2.4.3.3 VENTAJAS DE LA PROGRAMACIÓN DECLARATIVA
Una de las ventajas más relevantes de los lenguajes de programación declarativos es que la
solución de un problema se puede realizar con un nivel de abstracción considerablemente alto, sin
entrar en detalles de implementación irrelevantes, lo que hace a las soluciones más fácil de
entender por las personas.[2]

2.5 PROGRAMACIÓN LÓGICA
Esta programación emplea la lógica como lenguaje de programación. La lógica es declarativa
porque sirve para especificar qué problema resolver. Se establece entonces que la idea esencial de
la programación lógica es: algoritmos = lógica + control. Es decir, un algoritmo se construye
especificando conocimiento en un lenguaje formal (lógica de primer orden), y el problema se
resuelve mediante un mecanismo de inferencia (control) que actúa sobre aquél.[2]
2.6 PROGRAMACIÓN FUNCIONAL

La programación funcional es un paradigma de programación declarativa basado en la utilización
de funciones matemáticas. El objetivo de la programación funcional es conseguir lenguajes
expresivos y matemáticamente elegantes.[2]
Existen dos grandes categorías de lenguajes funcionales: los funcionales puros y los híbridos.
La diferencia entre estas dos categorías es que los lenguajes híbridos son menos dogmáticos que
los lenguajes funcionales puros , tienen mayor potencia expresiva algo que no se cumple siempre
con los lenguajes hídridos.[2]
Ejemplos de lenguajes funcionales son: Lisp, Scheme, ML, Miranda, Haskell [5]
Son menos difundidos que los imperativos para el desarrollo de software comercial[5]
Ejemplo de programa en Haskell
En este lenguaje, el máximo común divisor se calcula con la función mcd[5]
mcd 0 0 = error "mcd no está definido para 0,0"
11
mcd x y = mcd1 (abs x) (abs y)
where
mcd1 x 0 = x
mcd1 x y = mcd1 y (resto x y)
creado October 11, 2011 página 1.9 / 17
LP (11-12) 1. Introducción
mcd 10 102;

3. CONCLUSIONES
Imagen 2: los lenguajes de programación

Ilustración 1http://componentespc1.wikispaces.com/file/view/diagrama-lenguaje-deprogramacion.jpg/186688635/800x515/diagrama-lenguaje-de-programacion.jpg

Los lenguajes de programación no son simplemente un detalle más del amplio mundo de
la informática, y por lo tanto deben ser vistos como el fundamento y la base del desarrollo y
avance de la computación.
12
Este estudio también permite desarrollar un sentido crítico de los lenguajes de
programación, de forma que el programador no seleccione ni emita un juicio respecto a
determinado lenguaje basado simplemente en su limitado conocimiento ni basado en la
popularidad de la que goza cierto lenguaje, sino que el programador esté capacitado para dar
razones contundentes y certeras del por qué un lenguaje es mejor que otro para determinada tarea,
qué ventajas tiene uno respecto del otro, y que así también el programador sea capaz de
seleccionar el lenguaje que más le convenga para la resolución de un problema determinado.
Esta investigación servirá para evaluar correctamente los lenguajes de programación,
determinando las ventajas y desventajas que cada uno de ellos presenta, a partir de
identificación de estos por el tipo de lenguajes de programación.

13

la
4. REFERNCIAS

[1]

P . J . DEITEL H . M . DEITEL. 2012, p. 7.www.deitel.com

[2]

J. Oswaldo and M. Guzmán, “Tipos de Lenguajes de Programación,” 2011.

[3]

Jorge A. Saavedra Gutiérrez, “LENGUAJES DE,” 2007.

[4]A. J. Sierra and O. De Java, “Tema 1 : Introducción Indice Lenguajes de programación
Modelo de Programación .,” pp. 1–27,
2007.http://trajano.us.es/~antonio/FdeT/curso2010_11/Tema_1%5B1%5D%5B1%5D.p
df
[5]C.

U.

Almagro,

“Lenguajes

de

Programación

Introducción,”2011.

http://www.google.com.pe/url?sa=t&rct=j&q=&esrc=s&source=web&cd=2&cad=rja
&ved=0CDMQFjAB&url=http%3A%2F%2Flsi.ugr.es%2Fcurena%2Fdoce%2Flp%2F
tr-11-12%2Flp-c01-impr.pdf&ei=V8R2Up7yM_LesAS
s4HwAw&usg=AFQjCNFh9KkwobK6bA9W8q0J8tI1otP1zg&bvm=bv.55819444,d.c
W

[6] gebenta. [Online]. Available: http://www.genbeta.com/genbeta/los-lenguajes-deprogramacion-diez-tecnologias-que-cambiaron-el-mundo-v.
[7]maria camila herrera, Lenguajes de programación.
http://www.youtube.com/watch?feature=player_detailpage&v=oka3nAUDFpg#t=344

14

Lenguajes de Programación

  • 1.
    UNIVERSIDAD PERUANA UNIÓN FACULTADDE INGENIERÍA Y ARQUITECTURA EAP Ingeniería de Sistemas MONOGRAFÍA Lenguajes de Programación Monografía presentada en cumplimiento parcial de la asignatura de Técnicas de Estudio e Investigación Autores Alumnos: Joel, Llacsahuache Copia Erick Montero Fachin Merly Azucena Gómez Díaz Natalia Díaz Salazar Profesora Lic. Rosa Linda Mamani Morales Morales, Noviembre de 2013
  • 2.
    TABLA DE CONTENIDO Resumen............................................................................................................................................ 2 Palabras claves ................................................................................................................................. 3 1 INTRODUCCIÓN.................................................................................................................... 4 2. MARCO TEÓRICO .................................................................................................................... 5 2.1 DEFINICION DE LENGUAJE DE PROGRAMACION. ............................................... 5 2.2 HISTORIA DE LOS LENGUAJES DE PROGRAMACIÓN........................................... 5 2.3 TIPOS DE LENGUAJES ............................................................................................... 7 2.3.1 LENGUAJES DE MÁQUINA. ...................................................................................... 7 2.3.2 LENGUAJES ENSAMBLADORES....................................................................... 7 2.3.3 LENGUAJES DE ALTO NIVEL ........................................................................... 8 2.3.3.1 Ventajas: ............................................................................................................... 8 2.3.4 LENGUAJES COMPILADOS ............................................................................... 8 2.3.5 LENGUAJES INTERPRETADOS......................................................................... 9 2.4 PARADIGMAS .............................................................................................................. 10 2.4.2 ¿Qué es un paradigma de programación? .......................................................... 10 2.4.3 LENGUAJES DE PROGRAMACIÓN DECLARATIVOS ............................... 10 2.4.3.1 CARACTERÍSTICAS DE LOS LENGUAJES DE PROGRAMACIÓN DECLARATIVOS .............................................................................................................. 10 2.4.3.2 DESVENTAJAS DE LA PROGRAMACIÓN DECLARATIVA .................... 11 2.4.3.3 VENTAJAS DE LA PROGRAMACIÓN DECLARATIVA ............................. 11 2.5 PROGRAMACIÓN LÓGICA ............................................................................................ 11 2.6 PROGRAMACIÓN FUNCIONAL .................................................................................... 11 3. CONCLUSIONES ...................................................................................................................... 12 4. REFERNCIAS ............................................................................................................................ 14 1
  • 3.
    Resumen. Un lenguaje deprogramación es un lenguaje que puede ser utilizado para controlar el comportamiento de una máquina, particularmente una computadora. Consiste en un conjunto de reglas sintácticas y semánticas que definen su estructura y el significado de sus elementos, respectivamente [3] Lo primero que el programador debe hacer para programar es:  Identificar el problema, luego elaborar el algoritmo o secuencias de pasos a seguir para la solución del mismo. Viene a tallar aquí una controversia de comprensión e interpretación entre el lenguaje máquina y el este aparato lenguaje humano.Quizás nos preguntemos ¿qué hace el programador para que obedezca a los comandos ante cualquier manipulación de algún hardware? La respuesta es simple como el lenguaje maquina es distinta al del humano esta necesita de un traductor e interprete. Para que la computadora ejecute las instrucciones del programador, traductor se requiere de un que es el que trasforma el lenguaje humano al lenguaje maquina (lenguaje binario unos y ceros). 2
  • 4.
    Palabras claves Lenguajes deprogramación. Ensamblador. Compilador. Traductor. Interprete. OOP (Programación Orientada a Objetos) Caracteres (conjunto de símbolos o letras) Lenguaje maquina (lenguaje natural de la computadora) Paradigma declarativo 3
  • 5.
    1 INTRODUCCIÓN El objetivo deeste trabajo monográfico es humano identificar los procesos entre el lenguaje y el de la maquina; del mismo modo clasificarlos. Los programadores escriben instrucciones en diversos lenguajes de programación, algunos de los cuales los comprende directamente la computadora, mientras que otros requieren pasos intermedios de traducción[1]. Es decir ; así como los seres humanos ; empleamos para comunicarse diferentes idiomas y para comprender mejor necesitamos de una persona experta en el idioma de nuestro emisor que va a desempeñar el papel de un traductor. Un lenguaje de programación es un conjunto limitado de palabras y de símbolos que representan procedimientos, cálculos, decisiones y otras operaciones que pueden ejecutar una computadora[2]. Prosiguiendo con el ejemplo ya mencionado para que exista una eficiente comunicación y entendimiento existen diferentes y estrictas reglas que determinan el estilo de un idioma a como también la forma de escritura.Lo mismo ocurre con los lenguajes de programación, se requiere un conjunto de pasos y procedimientos para alcanzar un fin en común ,el que la computadora ejecute las instrucciones correctamente . En el transcurso de este trabajo monográfico para su buen entendimiento acerca de los lenguajes de programación abordaremos lo siguiente: un breve pero preciso concepto de los lenguajes de programación, historia y evolución en el tiempo, el lenguaje máquina , los lenguajes ensambladores, lenguajes de alto nivel ,lenguajes interpretados , lenguajes compilados,Lenguajes de programación Declarativos , Imperativos y orientada a objetos. Del mismo modo le mostraremos la lista de la gama de lenguajes de programación existentes y a qué nivel pertenecen; si al primer, segundo o tercer nivel. Esperamos - que lo que está ya expuesto en esta monografía -amigo(a) lector(a), la ampliación y el conocimiento de los lenguajes de programación. 4 le sirva en
  • 6.
    2. MARCO TEÓRICO 2.1DEFINICION DE LENGUAJE DE PROGRAMACION. a) Notación para escribir programas [4] b) Un lenguaje de programación es un lenguaje que puede ser utilizado para controlar el comportamiento de una máquina, particularmente una computadora. Consiste en un conjunto de reglas sintácticas y semánticas que definen su estructura y el significado de sus elementos, respectivamente [3]. Es decir la computadora es un cerebro superficial, diferente al del ser humano .Esta posee un lenguaje un lenguaje natural para comunicarse compuesto por un conjunto de reglas como ya lo hemos mencionado. c) Un lenguaje de programación es un conjunto limitado de palabras y de símbolos que representan procedimientos[2] Al referirse a limitado algoritmo posee y nos centramos en la cantidad estricta de caracteres va a depender de estos procesos para que que el procesador ejecute cada la instrucción correctamente. 2.2 HISTORIA DE LOS LENGUAJES DE PROGRAMACIÓN | Los primeros lenguajes de programación surgen debido a las dificultades de la programación directa en código máquina o con ensambladores básicos.[5] Los lenguajes de programación nacen por la dificultad computadora entienda las ordenes para hacer que la mediante el lenguaje binario y se comienza a introducir códigos compuestos con palabras en inglés y números llamados ensambladores ; a continuación podremos notar cómo evolucionan estos mismos: El que se considera en la práctica como el primer lenguaje de alto nivel es Fortran, creado por el equipo de John W. Backus en IBM. Vio la luz a mediados de 1954 y aunque se recibió con escepticismo entre la comunidad de desarrolladores de entonces (que preferían seguir utilizando ensamblador), pronto probó su utilidad y su adopción se extendió ampliamente. [6] Era eficaz para realizar cálculos. Poco después apareció el cobol que se destinó fundamentalmente a la gestión comercial no fueron los únicos lenguajes , durante 30 años se han desarrollado hasta 400 lenguajes de programación [7] En 1980 se crea uno de los lenguajes más utilizados desde entonces: C++, una modificación de C hecha por Bjarne Stroustrup. Se le considera el lenguaje de programación más popular de la historia y muchos de los programas más conocidos y usados están escritos en él, como por ejemplo MS Office o Firefox. De entre los lenguajes aparecidos en esta década, también cabe destacar la creación por parte de Larry Wall de Perl en 1987, el cual coge características de otros lenguajes como C o Lisp.[6] 5
  • 7.
    En los noventahacen su aparición también un buen número de lenguajes que son muy utilizados en la actualidad, como Python (1991), Ruby (1993) o Java (1995). Éste último llamó mucho la atención por ser capaz de correr en diferentes equipos y sistemas operativos a través de su máquina virtual, encargada de ejecutar el bytecode resultante de compilar el código Java.[6] Aunque con la entrada en el nuevo siglo (y milenio) la aparición de nuevos lenguajes se ha visto reducida, eso no quiere decir que no se haya producido. Por ejemplo, tenemos C# y Visual Basic .NET (ambos de Microsoft) o, más recientemente (en el 2009), Go, desarrollado por Google.[6] y lanzado en noviembre del 2009. No quisiera finalizar este artículo sin hacer mención de un aspecto bastante curioso de los lenguajes de programación: sus nombres. Y es que bautizar una creación no siempre es una tarea fácil. Muchas veces simplemente se optó por un acrónimo más o menos sonoro, o unas siglas que sonasen bien a las que luego poner un significado. Pero en otros casos, las decisiones son tomadas… de otra manera.[6] De los mencionados en este texto, podemos encontrarnos con que Fortran es una contracción de TheIBM Mathematical Formula Translating System, quedándose tan sólo con el For de Formula y el tran de Translating. Por su parte, COBOL es el acrónimo de COmmon Business-Oriented Language, debido a que estaba orientado a negocios, finanzas e instituciones gubernamentales.[6] C sin duda es el epítome de la simplicidad. ¿El porqué de su nombre? Porque muchas de sus características provenían de un lenguaje anterior llamado… Sí: B. Pura lógica.[6] Nombres prácticos, que reflejan lo nombrado. Pero… ¿Lo hacen también otros como Python? Pues sí: Python proviene de Monty Python, el conocido grupo de humoristas británicos. ¿Y qué tienen que ver estos con un lenguaje para programar? Fácil: los desarrolladores del lenguaje tenían como objetivo que usar este lenguaje fuese divertido.[6] En el caso de Perl, su creador quería un nombre de connotaciones positivas, por lo tanto lo sacó de la parábola de la perla, del evangelio de San Mateo, que dice: “El Reino de los Cielos es semejante a un mercader que busca perlas preciosas. Pero resultó que ya había un lenguaje llamado PEARL, así que ni corto ni perezoso simplemente alteró el nombre y terminó con el que conocemos: Perl, que no significa absolutamente nada (por muchos acrónimos que le achaquen después).[6] 6
  • 8.
    2.3 TIPOS DE LENGUAJES 2.3.1LENGUAJESDE MÁQUINA. Anteriormente el programador tenía que programar en lenguaje máquina, Lo cual era tedioso y no se limitaba a presentar errores. Fue desde entonces que se necesitó de un lenguaje entendible para el programador , para la cual se tuvo que utilizar algunas palabras en inglés para representar las operaciones elementales; que mediante un proceso se reduce al lenguaje maquina (ceros y unos). Son lenguajes utilizados para describir programas de computadoras que pueden ser entendibles por ellas. [6] Es decir utilizan una cadena de numero binarios (ceros y unos ) que resulta al hombre difícil de entender , por eso se necesitan lenguajes que necesitan simplificar este proceso naciendo de este modo los lenguajes ensambladores. El lenguaje máquina de una computadora consta de cadenas de números binarios (ceros y unos) y es el único que “entienden” directamente los procesadores. Todas las instrucciones preparadas en cualquier lenguaje de máquina tienen por lo menos dos partes. El primero es el comando y el segundo es el operando ambos contribuyen para que el lenguaje maquina funcione bien. Pero este proceso era tedioso y demoraba meses para realizarse. 2.3.2 LENGUAJES ENSAMBLADORES Imagen 1: notamos el proceso del lenguaje ensamblador. http://www.rena.edu.ve/cuartaEtapa/Informatica/Imagenes/T13Dib02.gif Los lenguajes ensambladores son mucho más fáciles de entender que los lenguajes de máquina Son los que permiten que una máquina pueda convertir las instrucciones en lenguaje ensamblador del programador en su propio código de máquina. Una de las ventajas de estos 7
  • 9.
    lenguajes es sobrelos lenguajes de máquina. Es que Ahorran tiempo y requieren menos atención a detalles, son más fáciles de modificar que los lenguajes anteriores.[2] 2.3.3 LENGUAJES DE ALTO NIVEL Los lenguajes de alto nivel no necesitan ser modificados. Ya que estos son independientes de la máquina se pueden instalar en cualquier computadora.Son de uso mucho más fácil, ya que en ellos un solo comando o instrucción puede equivaler a millares es código máquina. 2.3.3.1 Ventajas:  Son más fáciles de aprender que los lenguajes ensambladores.  Se pueden escribir más rápidamente.  Permiten tener mejor documentación.  Son más fáciles de mantener.  Un programador que sepa escribir programas en uno de estos lenguajes no está limitado a utilizar un solo tipo de máquina. [2] Presentamos a continuación algunos lenguajes de programación: ADA BASIC COBOL FORTRAN C Modula-2 Pascal Java 2.3.4 LENGUAJES COMPILADOS Los compiladores son aquellos cuya función es traducir un programa escrito en un determinado lenguaje a un idioma que la computadora entienda (lenguaje máquina con código binario).Son llamados también lenguajes traductores porque su única función es traducir programas.[2] Es decir estos compiladores se percataran estrictamente en los caracteres o signos de la sintaxis de cada lenguaje y determinara si existen errores o si ejecuta con total normalidad dicha instrucción. Es necesario entonces percatarse muy bien de la funcionalidad de cada caracter para programar exitosamente. 8
  • 10.
    2.3.5 LENGUAJES INTERPRETADOS A diferenciade los lenguajes compilados que se encargan de traducir lenguajes, estos lenguajes se encargan de interpretar un programa.[2] Es decir el programador datos que se llamándolo solo carga el programa fuente en la computadora junto con los va a procesar ,y dentra a tallar la presencia de un intérprete así de simple , un convertidor analizante almacenado en el disco duro. 9 incluido es decir ; permanentemente o
  • 11.
    2.4 PARADIGMAS 2.4.2 ¿Qué es unparadigma de programación? Cada uno de estos paradigmas se caracteriza por un modelo formal distinto de lo que constituye unCálculo.El conjunto de cálculos realizables es igual en los tres casos (los que se pueden hacer con máquinas de Turing) 2.4.3 LENGUAJES DE PROGRAMACIÓN DECLARATIVOS 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.[2] Por ejemplo: deseo que la maquina mediante una instrucción me muestre la cantidad de empleados dentro de una empresa, pero de la edad que le solicite. Para ser más específico se jacta en la descripción de un problema y la relegación de la solución para un determinado interprete. La programación declarativa describe al problema, dejando de lado la interpretación específica, para así centrarse en encontrar una solución de un intérprete no especificado.[2] Ejemplo de programa en Prolog[5] mcd1(x, y, r) :- y is 0, r is x mcd1(x, y,r) :- nx is y, resto(x, y,ny), mcd1(nx,ny,r) mcd(x,y,r) :- abs(x,ax), abs(y,ay), mcd1(ax,ay,r) ?- mcd(10,102,z). 2.4.3.1 CARACTERÍSTICAS DE LOS LENGUAJES DE PROGRAMACIÓN DECLARATIVOS Los lenguajes declarativos están orientados a buscar la solución del problema.[2] 10
  • 12.
    Los programas estánformados por un conjunto de definiciones o ecuaciones, las cuales describen lo que debe ser calculado.[2] Las variables sólo pueden tener asignado un solo valor a lo largo de la ejecución del programa, lo cual significa que no debe haber asignación destructiva.[2] Las variables sólo pueden tener asignado un solo valor a lo largo de la ejecución del programa.[2] 2.4.3.2 DESVENTAJAS DE LA PROGRAMACIÓN DECLARATIVA La principal desventaja de la programación declarativa es que no puede resolver cualquier problema dado, solo puede resolver problemas diseñados para el intérprete o compilador, cuanto solo con subconjunto dado de problemas los que puede resolver.[2] 2.4.3.3 VENTAJAS DE LA PROGRAMACIÓN DECLARATIVA Una de las ventajas más relevantes de los lenguajes de programación declarativos es que la solución de un problema se puede realizar con un nivel de abstracción considerablemente alto, sin entrar en detalles de implementación irrelevantes, lo que hace a las soluciones más fácil de entender por las personas.[2] 2.5 PROGRAMACIÓN LÓGICA Esta programación emplea la lógica como lenguaje de programación. La lógica es declarativa porque sirve para especificar qué problema resolver. Se establece entonces que la idea esencial de la programación lógica es: algoritmos = lógica + control. Es decir, un algoritmo se construye especificando conocimiento en un lenguaje formal (lógica de primer orden), y el problema se resuelve mediante un mecanismo de inferencia (control) que actúa sobre aquél.[2] 2.6 PROGRAMACIÓN FUNCIONAL La programación funcional es un paradigma de programación declarativa basado en la utilización de funciones matemáticas. El objetivo de la programación funcional es conseguir lenguajes expresivos y matemáticamente elegantes.[2] Existen dos grandes categorías de lenguajes funcionales: los funcionales puros y los híbridos. La diferencia entre estas dos categorías es que los lenguajes híbridos son menos dogmáticos que los lenguajes funcionales puros , tienen mayor potencia expresiva algo que no se cumple siempre con los lenguajes hídridos.[2] Ejemplos de lenguajes funcionales son: Lisp, Scheme, ML, Miranda, Haskell [5] Son menos difundidos que los imperativos para el desarrollo de software comercial[5] Ejemplo de programa en Haskell En este lenguaje, el máximo común divisor se calcula con la función mcd[5] mcd 0 0 = error "mcd no está definido para 0,0" 11
  • 13.
    mcd x y= mcd1 (abs x) (abs y) where mcd1 x 0 = x mcd1 x y = mcd1 y (resto x y) creado October 11, 2011 página 1.9 / 17 LP (11-12) 1. Introducción mcd 10 102; 3. CONCLUSIONES Imagen 2: los lenguajes de programación Ilustración 1http://componentespc1.wikispaces.com/file/view/diagrama-lenguaje-deprogramacion.jpg/186688635/800x515/diagrama-lenguaje-de-programacion.jpg Los lenguajes de programación no son simplemente un detalle más del amplio mundo de la informática, y por lo tanto deben ser vistos como el fundamento y la base del desarrollo y avance de la computación. 12
  • 14.
    Este estudio tambiénpermite desarrollar un sentido crítico de los lenguajes de programación, de forma que el programador no seleccione ni emita un juicio respecto a determinado lenguaje basado simplemente en su limitado conocimiento ni basado en la popularidad de la que goza cierto lenguaje, sino que el programador esté capacitado para dar razones contundentes y certeras del por qué un lenguaje es mejor que otro para determinada tarea, qué ventajas tiene uno respecto del otro, y que así también el programador sea capaz de seleccionar el lenguaje que más le convenga para la resolución de un problema determinado. Esta investigación servirá para evaluar correctamente los lenguajes de programación, determinando las ventajas y desventajas que cada uno de ellos presenta, a partir de identificación de estos por el tipo de lenguajes de programación. 13 la
  • 15.
    4. REFERNCIAS [1] P .J . DEITEL H . M . DEITEL. 2012, p. 7.www.deitel.com [2] J. Oswaldo and M. Guzmán, “Tipos de Lenguajes de Programación,” 2011. [3] Jorge A. Saavedra Gutiérrez, “LENGUAJES DE,” 2007. [4]A. J. Sierra and O. De Java, “Tema 1 : Introducción Indice Lenguajes de programación Modelo de Programación .,” pp. 1–27, 2007.http://trajano.us.es/~antonio/FdeT/curso2010_11/Tema_1%5B1%5D%5B1%5D.p df [5]C. U. Almagro, “Lenguajes de Programación Introducción,”2011. http://www.google.com.pe/url?sa=t&rct=j&q=&esrc=s&source=web&cd=2&cad=rja &ved=0CDMQFjAB&url=http%3A%2F%2Flsi.ugr.es%2Fcurena%2Fdoce%2Flp%2F tr-11-12%2Flp-c01-impr.pdf&ei=V8R2Up7yM_LesAS s4HwAw&usg=AFQjCNFh9KkwobK6bA9W8q0J8tI1otP1zg&bvm=bv.55819444,d.c W [6] gebenta. [Online]. Available: http://www.genbeta.com/genbeta/los-lenguajes-deprogramacion-diez-tecnologias-que-cambiaron-el-mundo-v. [7]maria camila herrera, Lenguajes de programación. http://www.youtube.com/watch?feature=player_detailpage&v=oka3nAUDFpg#t=344 14