jueves, 8 de septiembre de 2016

LENGUAJE DE PROGRAMACIÓN








“AÑO DE LA CONSOLIDACIÓN DEL MAR DE GRAU”

FACULTAD DE INGENIERÍA DE SISTEMAS
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


3 comentarios: