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 lenguaje humano. Quizás nos preguntemos ¿qué hace el programador para que este aparato 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, se requiere de un traductor que es el que trasforma el lenguaje humano al lenguaje maquina (lenguaje binario unos y ceros).
Unidad 1- Historia y Evolucion de las computadoras.pdf
Lenguajes de Programación
1. 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
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 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
4. 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
5. 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
6. 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
7. 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
8. 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
9. 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
10. 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
11. 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
12. 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
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é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
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