“AÑO
DE LA CONSOLIDACIÓN DEL MAR DE GRAU”
ESCUELA
ACADÉMICA PROFESIONAL DE INGENIERÍA DE SISTEMAS Y TELEMÁTICA
LENGUAJE DE PROGRAMACIÓN II
“TRABAJO DE INVESIGACIÓN”
LENGUAJE DE
PROGRAMACIÓN
AUTORES
MARCHENA
HUANUIRE, Greinder Alexis
VASQUEZ
VENTURA, Liz Evelin
DOCENTE
PORRO
CHULLI, Marco Aurelio
BAGUA GRANDE -
AMAZONAS
2016
LENGUAJE DE PROGRAMACIÓN
DEFINICIÓN:
Según la definición teórica, como lenguaje se entiende a un sistema de
comunicación que posee una determinada estructura, contenido y uso. La programación es, en el vocabulario
propio de la informática, el procedimiento de escritura del código fuente de un
software. De esta manera, puede decirse que la programación le indica al
programa informático qué acción tiene que llevar a cabo y cuál es el modo de
concretarla.
Con
estas nociones en claro, podemos afirmar que un lenguaje de programación es un lenguaje formal diseñado para
realizar procesos que pueden ser llevados a cabo por máquinas como las
computadoras.
Pueden usarse para crear programas que
controlen el comportamiento físico y lógico de una máquina, para expresar
algoritmos con precisión, o como modo de comunicación humana.
Está formado por un conjunto de
instrucciones, operadores y reglas de sintaxis; que pone a
disposición del programador para que este pueda comunicarse con los
dispositivos hardware y software existentes. Al proceso por el cual se escribe,
se prueba, se depura, se compila y se mantiene el código fuente de un programa
informático se le llama programación.
Es el lenguaje de programación que se acerca
al funcionamiento de una computadora. Son lenguajes totalmente dependientes de
la máquina, es decir que el programa que se realiza con este tipo de lenguajes
no se pueden migrar o utilizar en otras máquinas.
Sus instrucciones ejercen un control directo
sobre el hardware y están condicionados por la estructura física de las
computadoras que lo soportan. El uso de la palabra bajo, en su denominación no implica que el lenguaje sea menos
potente que un lenguaje de alto nivel, sino que se refiere a la reducida
abstracción entre el lenguaje y el hardware. Por ejemplo, se utiliza este tipo
de lenguajes para programar tareas críticas de los sistemas operativos, de
aplicaciones en tiempo real o controladores de dispositivos.
Al estar prácticamente diseñados a medida del hardware, aprovechan al
máximo las características del mismo.
Dentro de este grupo se encuentran:
El lenguaje maquina: Son las cadenas binarias que pueden ser legibles de manera
directa por la computadora.
Consiste en la combinación de 0's y 1's para
formar las ordenes entendibles por el hardware de la máquina.
Este lenguaje es mucho más rápido que los
lenguajes de alto nivel.
La desventaja es que son bastantes difíciles
de manejar y usar, además de tener códigos fuente enormes donde encontrar un
fallo es casi imposible.
El lenguaje ensamblador: Es un
derivado del lenguaje máquina y está formado por abreviaturas de letras y
números llamadas mnemotécnicos. Con la aparición de este lenguaje se crearon
los programas traductores para poder pasar los programas escritos en lenguaje
ensamblador a lenguaje máquina.
Como ventaja con respecto al código máquina
es que los códigos fuentes eran más cortos y los programas creados ocupaban menos
memoria.
Las desventajas de este lenguaje siguen
siendo prácticamente las mismas que las del lenguaje ensamblador, añadiendo la
dificultad de tener que aprender un nuevo lenguaje difícil de probar y
mantener.
Lenguajes de Medio nivel
Comparte características con los lenguajes de
bajo nivel pero también con los más avanzados. Se trata de un término no
aceptado por todos, pero que seguramente habrás oído. Estos lenguajes se
encuentran en un punto medio entre los lenguajes de nivel bajo y nivel alto.
Dentro de estos lenguajes podría situarse C ya
que puede acceder a los registros del sistema, trabajar con direcciones de
memoria, todas ellas características de lenguajes de bajo nivel y a la vez
realizar operaciones de alto nivel.
Lenguajes de alto nivel
Está formado por elementos del lenguaje
humano. Son aquellos que se encuentran más cercanos al lenguaje natural que al
lenguaje máquina.
Están dirigidos a solucionar problemas
mediante el uso de EDD's.
Se tratan de lenguajes independientes de la
arquitectura del ordenador. Por lo que, en principio, un programa escrito en un
lenguaje de alto nivel, lo puedes migrar de una máquina a otra sin ningún tipo
de problema.
Dentro
de este grupo se encuentran:
Lenguaje de procedimientos: Son
lenguajes de alto nivel similares al habla humana pero requieren cierta
capacitación para su uso. Para que el lenguaje de procedimientos pueda
funcionar debe traducirse a lenguaje de máquina a fin de que la computadora lo
entienda. Para ello se han de usar programas traductores que realicen dicho
proceso. Tienen la capacidad de soportar programación estructurada.
Lenguajes orientados a problemas: Resultan más
eficaces para la resolución de un tipo de problemas a costa de una menor
eficiencia para otros. Requieren poca capacitación especial de parte del
usuario Son considerados de muy alto nivel diseñados para resolver problemas
específicos.
Incluye: lenguajes de consulta y generador de
aplicaciones.
- Lenguajes de consulta: Permiten a no programadores usar ciertos comandos de fácil comprensión para la búsqueda y generación de reportes a partir de una base de datos.
- Generador de aplicaciones: Quiere decir que cuando se diseña uno de estos lenguajes, se tiene en cuenta que su finalidad es la resolución de problemas, prescindiendo de la arquitectura del computador. Contiene varios módulos que han sido preprogramados para cumplir varias tareas.
Lenguajes de programación naturales: Son los
nuevos lenguajes que pretender aproximar el diseño y la construcción de
programas al lenguaje de las personas.
Estos lenguajes permiten al programador
olvidarse por completo del funcionamiento interno de la máquina para la que
están diseñando el programa. Tan solo necesitan un traductor que entiendan el
código fuente como las características de la máquina.
Suelen usar tipos de datos para la
programación y hay lenguajes de propósito general (cualquier tipo de
aplicación) y de propósito específico (como FORTRAN para trabajos científicos).
GENERACIONES:
La evolución de los lenguajes de programación
se puede dividir en 5 etapas o generaciones.
Primera generación: Lenguaje máquina.
Segunda generación: Se crearon los primeros lenguajes ensambladores.
Tercera generación: Se crean Lenguaje de procedimientos, los primeros lenguajes de alto nivel. Ejemplo. C, Pascal, Cobol.
Cuarta generación: Son los lenguajes capaces de generar código por si solos, son los llamados RAD, con lo cuales se pueden realizar aplicaciones sin ser un experto en el lenguaje. Aquí también se encuentran los lenguajes orientados a problemas, los lenguajes orientados a objetos, haciendo posible la reutilización de partes del código para otros programas. Ejemplo. Visual, Natural Adabes.
Quinta generación: Aquí se encuentran los lenguajes orientados a la inteligencia artificial y el lenguaje de programación natural. Estos lenguajes todavía están poco desarrollados. Ejemplo. LISP.
RESUMEN
Los lenguajes de programación están
destinados a distintos ámbitos, dependiendo de sus características que
simplifican algunas tareas y complejizan otras. Pueden estar destinados a
aplicaciones científicas, aplicaciones de negocios, inteligencia artificial,
programación de sistemas, scripting, y también disponemos de lenguajes de
propósitos especiales. Los lenguajes de programación tienen una estructura
compleja que se compone de varias partes: sintaxis, semántica, elementos del
lenguaje, nivel de abstracción, paradigma, estructuras de control para ordenar
la ejecución de los programas, tipos de datos (números, letras, etc.), y
funciones o procedimientos (unidades) que contienen un conjunto de
instrucciones, entre otras.
No hay un único tipo de lenguajes, sino que
se clasifican según las características que posean y según el paradigma y
conceptos que soporten. Para que la computadora entienda nuestras instrucciones
debe usarse un lenguaje específico conocido como código máquina, el cual la
máquina comprende fácilmente, pero que lo hace excesivamente complicado para
las personas. De hecho sólo consiste en cadenas extensas de números 0 y 1.
Para facilitar el trabajo, los primeros
operadores de computadoras decidieron hacer un traductor para reemplazar los 0
y 1 por palabras o abstracción de palabras y letras provenientes del inglés;
éste se conoce como lenguaje ensamblador. Por ejemplo, para sumar se usa la
letra A de la palabra inglesa add (sumar). La necesidad de recordar secuencias de
programación para las acciones usuales llevó a denominarlas con nombres fáciles
de memorizar y asociar: ADD (sumar), SUB (restar), MUL (multiplicar), CALL
(ejecutar subrutina), etc. Posteriormente aparecieron diferentes lenguajes de
programación, los cuales reciben su denominación porque tienen una estructura
sintáctica similar a los lenguajes escritos por los humanos, denominados
también lenguajes de alto nivel.
Mientras que una tarea tan sencilla como
sumar dos números puede necesitar varias instrucciones en lenguaje ensamblador,
en un lenguaje de alto nivel bastará una sola sentencia.
SUMMARY
Programming languages are intended for
different areas, depending on their features
to simplify some tasks and complicate others. They may be intended for
scientific applications, business applications, artificial intelligence,
systems programming, scripting, and languages also have special purposes. Programming
languages have a complex structure that consists of several parts: syntax,
semantics, language elements, level of abstraction, paradigm, control structures
for ordering the execution of programs, data types (numbers, letters, etc.),
and functions or procedures (units) containing a set of instructions, among
others.
There is no single type of languages, but are
classified as having the characteristics and according to the paradigm and
concepts that support. For the computer to understand our specific language
instructions known as machine code, which comprises the machine easily be used,
but that makes it too complicated for people. In fact only it consists of long
chains of numbers 0 and 1.
To facilitate the work, the first computer
operators decided to replace a translator for 0 and 1 by words or abstraction
of words and letters from the English; this is known as assembly language. For
example, to add the letter A of the English word add (add) is used. The need to
remember sequences of programming for the usual actions led to denominate with
easy to memorize and associate names: ADD (add), SUB (subtract), MUL
(multiply), CALL (subroutine run), etc. Later they appeared different
programming languages, which get their name because they have a similar
languages written by humans, also called high-level languages syntactic
structure.
While a simple task like adding two numbers may need several instructions
in assembly language, in a high level language will suffice a single statement.
RECOMENDACIONES
Recomendamos utilizar un lenguaje simple que
no sea orientado a objetos, ni gráficos.
Es bueno tener una idea de los tipos de
lenguaje, de lo que es un compilador y otras cosas generales.
Es mejor comenzar aprendiendo un lenguaje
riguroso, para luego explotar al máximo un lenguaje más avanzado.
CONCLUSIÓN
Como puede verse, existen lenguajes específicos para cada
tarea diferente. Muchos de ellos (Lenguajes de Programación) ya no se usan,
mientras que las nociones de otros han sido incorporadas a otros lenguajes.
Los lenguajes y las Técnicas de Programación son
importantes para la utilización de la computadora como una herramienta para
resolver problemas.
En computación, un Problema consiste en la necesidad de
transformar un grupo de datos iniciales en un grupo diferente de datos finales
(resultados). De este modo, una computadora podrá resolver un problema si
alguien desarrolla un programa que contenga las instrucciones adecuadas que
permitan transformar los datos.
Los lenguajes deben ser confiables, comprensibles, eficientes en
términos de tiempo de ejecución y consumo de espacio, y deben satisfacer las
necesidades de una comunidad, ya sean científicos, hombres de negocios o usuarios
no técnicos. Cada uno estos grupos están acostumbrado a un vocabulario
particular y una manera de ver las cosas; de este modo, existe una gran
variedad de lenguajes y muy probablemente esto continuará siendo así.
APRECIACIÓN
DEL EQUIPO
Decidirnos por un lenguaje de programación u otro es saber qué es lo que
queremos construir y qué tipo de programa o aplicación queremos desarrollar.
GLOSARIO
Nociones: Es el conocimiento vago, elemental o general
acerca de una situación, cosa o materia. significa “conocer, idea,
concepción”.
Mnemotécnicos: son “trucos” o métodos que usamos para ayudarnos a memorizar o recordar cosas. Casi todas estas estrategias se basan en asociar, de alguna forma, la información que queremos recordar con una imagen, con una palabra o con una frase.
EDD's: son las
abreviaturas de Estructuras Dinámicas de Datos, algo muy utilizado en todos los
lenguajes de programación.
REFERENCIAS
Alvares, S. (07 de Febrero de 2006). Desarrolloweb.com. Obtenido de Desarrolloweb.com: http://www.desarrolloweb.com/articulos/2358.php
Arias, M. (16 de Octubre de 2008). Editboard.com. Obtenido de Editboard.com: http://catedraprogramacion.forosactivos.net/t83-definicion-de-lenguaje-de-programacion-tipos-ejemplos
Gomez, R. A. (s.f). monografias.com. Obtenido de monografias.com: http://www.monografias.com/trabajos-pdf/lenguajes-programacion/lenguajes-programacion.shtml#ixzz4JJoyL73N
Julián Pérez Porto, M. M. (2009). Definición.DE. Obtenido de Definición.DE: http://definicion.de/lenguaje-de-programacion/
La revista informática.com. (s.f). Obtenido de La revista informática.com: http://www.larevistainformatica.com/clasificacion-de-los-lenguajes-de-programacion.html
Machuca, I. (13 de Diciembre de 2012). blogspot.pe. Obtenido de blogspot.pe: http://bloglenguajesdeprogramacion.blogspot.pe/2012/12/introduccion.html
Marco. (Septiembre de 2010). wikispaces.com. Obtenido de wikispaces.com: https://herramintasdeapredisajeenmetodologiadelaprogramacion.wikispaces.com/Lenguaje+de+procedimientos+(Tercera+Generaci%C3%B3n)
Marco. (Septiembre de 2010). wikispaces.com. Obtenido de wikispaces.com: https://herramintasdeapredisajeenmetodologiadelaprogramacion.wikispaces.com/Lenguajes+orientados+a+problemas+(4GL)
Wikipedia. (17 de Septiembre de 2015). Wikipedia.com. Obtenido de Wikipedia.com: https://es.wikipedia.org/wiki/Lenguaje_de_bajo_nivel
Wikipedia. (s.f). Wikipedia.com. Obtenido de Wikipedia.com: https://es.wikipedia.org/wiki/Lenguaje_de_programaci%C3%B3n
Z, K. (10 de Diciembre de 2012). blogspot.pe. Obtenido de blogspot.pe: http://bloglenguajesdeprogramacion.blogspot.pe/2012/12/breve-resumen-de-la-historia-de.html
Link para ver Diapositivas sobre Lenguaje de Programación
Dd
