Lenguaje de programacion

13
Administración de Empresas Docente: Juan Pablo Vázquez Materia: Programación Temas: Lenguaje de Programación Estudiantes: Gabriela Naulaguari Diego Tenesaca

Transcript of Lenguaje de programacion

Page 1: Lenguaje de programacion

Administración de Empresas

Docente: Juan Pablo Vázquez

Materia: Programación

Temas: Lenguaje de Programación

Estudiantes: Gabriela Naulaguari

Diego Tenesaca

Page 2: Lenguaje de programacion

Generalidades

Un lenguaje de programación es un lenguaje formal diseñado para expresar 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 símbolos y reglas sintácticas y semánticas que definen su estructura y el significado de sus elementos y expresiones.

Mediante los programas se indica a la computadora qué tarea debe realizar y como efectuarla, pero para ello es preciso introducir estas órdenes en un lenguaje que el sistema pueda entender. En principio, el ordenador sólo entiende las instrucciones en código máquina, es decir, el específico de la computadora. Sin embargo, a partir de éstos se elaboran los llamados lenguajes de alto y bajo nivel.

Tipos de lenguaje de programación

Los lenguajes más próximos se denominan lenguajes de bajo nivel y los que se encuentran más cercanos a los programadores se denominan lenguajes de alto nivel.

Lenguajes de bajo nivel

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.

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: este lenguaje ordena a la máquina las operaciones fundamentales para su funcionamiento. Cnsiste en la combinación de 0's y 1's para formar las ordenes entendibles por el hardware de la maquina. 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 maquina y esta 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

Page 3: Lenguaje de programacion

ocupaban menos memoria. Las desventajas de este lenguaje siguen siendo prácticamente las mismas que las del lenguaje ensamblador, añdiendo la dificultad de tener que aprender un nuevo lenguaje difícil de probar y mantener.

Lenguajes de alto nivel

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.

Nota: EDD's son las abreviaturas de Estructuras Dinamicas de Datos, algo muy utilizado en todos los lenguajes de programación. Son estructuras que pueden cambiar de tamaño durante la ejecución del programa. Nos permiten crear estructuras de datos que se adapten a las necesidades reales de un programa.

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.

Estos lenguajes permiten al programador olvidarse por completo del funcionamiento interno de la maquina/s 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.

Lenguajes de Medio nivel

Se trata de un término no aceptado por todos, pero q seguramente habrás oído. Estos lenguajes se encuentran en un punto medio entre los dos anteriores. 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.

Generaciones de lenguaje de programación

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 los primeros lenguajes de alto nivel. Ej. 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 objetos, haciendo posible la reutilización d partes del código para otros programas. Ej. Visual, Natural Adabes �

Page 4: Lenguaje de programacion

Quinta generación: aquí se encuentran los lenguajes orientados a la inteligencia artificial. Estos lenguajes todavía están poco desarrollados. Ej. LISP

Compiladores

Un compilador es un programa informático que traduce un programa escrito en un lenguaje de programación a otro lenguaje de programación, o también genera aplicaciones que sean directamente utilizables en un ordenador o computadora. Un compilador lee el código fuente creado en un determinado lenguaje de programación, lo interpreta, comprueba su sintaxis y traduce a lenguaje o código máquina toda la serie de instrucciones, generando el archivo ejecutable final (programa compilado).

Un compilador es un programa que permite traducir el código fuente de un programa en lenguaje de alto nivel, a otro lenguaje de nivel inferior (típicamente lenguaje máquina) o a un lenguaje más sencillo que la computadora puede comprender mas o menos directamente. De esta manera un programador puede diseñar un programa en un lenguaje mucho más cercano a cómo piensa un ser humano,

La ejecución de un programa con compilador requiere de dos etapas:

1) Traducir el programa simbólico a código máquina

2) Ejecución y procesamiento de los datos.

Partes de un compilador

Normalmente los compiladores están divididos en dos partes:

Front End: es la parte que analiza el código fuente, comprueba su validez, genera el árbol de derivación y rellena los valores de la tabla de símbolos. Esta parte suele ser independiente de la plataforma o sistema para el cual se vaya a compilar.

Back End: es la parte que genera el código máquina, específico de una plataforma, a partir de los resultados de la fase de análisis, realizada por el Front End.

Esta división permite que el mismo Back End se utilice para generar el código máquina de varios lenguajes de programación distintos y que el mismo Front End que sirve para analizar el código fuente de un lenguaje de programación concreto sirva para generar código máquina en varias plataformas distintas.

El código que genera el Back End normalmente no se puede ejecutar directamente, sino que necesita ser enlazado por un programa enlazador (linker)

Page 5: Lenguaje de programacion

Tipos de Compiladores

Esta taxonomía de los tipos de compiladores no es excluyente, por lo que puede haber compiladores que se adscriban a varias categorías:

Compiladores cruzados: generan código para un sistema distinto del que están funcionando.

Compiladores optimizadores: realizan cambios en el código para mejorar su eficiencia, pero manteniendo la funcionalidad del programa original.

Compiladores de una sola pasada: generan el código máquina a partir de una única lectura del código fuente.

Compiladores de varias pasadas: necesitan leer el código fuente varias veces antes de poder producir el código máquina.

Compiladores JIT (Just In Time): forman parte de un intérprete y compilan partes del código según se necesitan.

Fases de Compilación

La compilación es el proceso de traducción de programas fuente o código fuente a programas objeto o código objeto.

Page 6: Lenguaje de programacion

Lenguajes de programación más utilizados

Lenguaje C

Creado en 1972 por Dennis MacAlistair Ritchie en los laboratorios Bell como evolución del anterior lenguaje B. Es un lenguaje orientado a la implementación de sistemas operativos, concretamente Unix que fue desarrollado en C.Es un lenguaje de propósito general muy utilizado cuyas principales características son:Combina características de los lenguajes de bajo nivel con los de alto nivel, lo que permite crear programas eficientes.Es un lenguaje pequeño ya que sólo ofrece sentencias de control sencillas y funciones.Permite la programación estructurada y el diseño modular lo que mejora la apariencia, comprensión y mantenimiento de los programas.Se realizan programas portables que se pueden ejecutar sin necesidad de realizar cambios en diversos ordenadores.Incluye la utilización de punteros. Un puntero es una variable que apunta (contiene) a la dirección de memoria de otra variable.Modularidad, el programa se puede dividir en módulos que se tratan de manera independiente.

Lenguaje C++

El lenguaje de programación surgió a mediados de los 80 gracias a Bjarne Stroustrup y fue desarrollado a partir del lenguaje C en los laboratorios AT&T Bell.Es un lenguaje orientado a objetos aunque también tiene las mismas características que C, como por ejemplo su eficiencia y el uso de punteros.Como es lógico, y debido a que se creó a partir de C, C++ cuenta con diversas mejoras y avances respecto de C, lo que le hace un lenguaje más completo y por ello que los programadores tienden a programar más en este lenguaje. Un programa en C++ soporta instrucciones escritas en C, pero un programa escrito en C no nos permite ejecutar instrucciones de C++, por lo que viéndolo de ésta forma resulta más cómodo programar en C++.Es un lenguaje muy popular debido a la eficiencia y robustez de sus programas.Además de ser un lenguaje orientado a objetos, también nos permite realizar programas estructurados, lo cuál nos da libertad a la hora de programar. Nos da cierta libertad debido a que no es tan estricto a la hora de escribir código como en C.Es un lenguaje compilado, es decir, compila directamente al código que entienden los ordenadores por lo que es uno de los lenguajes más rápidos.

Lenguaje Java:

Surgió en 1991 gracias a un grupo de ingenieros de Sun Microsystems como lenguaje de programación para electrodomésticos.Fue en 1995 cuando Java comenzó a utilizarse como lenguaje de programación de ordenadores.Las características más importantes de este lenguaje de programación son:

Page 7: Lenguaje de programacion

Es un lenguaje orientado a objetos. Un objeto se compone de atributos (estado del objeto) y métodos (comportamiento) que actúan sobre esos atributos. Para comprender lo que es un objeto, voy a mostrarles una analogía del mundo real: al igual que en el mundo virtual, en el mundo real los objetos tienen un estado y un comportamiento. Por ejemplo, un coche es un objeto que tiene una serie de estados o atributos (matrícula, marca, modelo, color, marchas) y una serie de comportamientos o métodos (corriendo, parado, aparcando, cambio de marcha). Todos los objetos tienen un identificador único que los diferencia del resto de objetos. En el ejemplo anterior el identificador del coche es la matrícula. Modularidad, nos permite dividir los programas en pequeños módulos denominados clases, para reducir la complejidad del problema y, en caso de producirse un fallo, éste solamente afecta al módulo donde se produjo y no a todo el programa.Es robusto, es decir, es un lenguaje de programación fiable que reacciona adecuadamente ante situaciones excepcionales.Es un lenguaje de programación portable que nos permite utilizar los programas desarrollados en java en cualquier ordenador con cualquier sistema operativo.Dinámico, podemos compilar y ejecutar los programas en tiempo real.Seguro, elimina los accesos ilegales a memoria que realizan los punteros en C.

Lenguaje Python:

Python apareció en 1991 gracias a Guido Van Rossum. Se dice que es un lenguaje multiparadigma ya que soporta diversos tipos de paradigmas de programación como son la orientación a objetos, la programación imperativa o ,en menor medida, la programación funcional.Este lenguaje de programación es soportado por varios sistemas operativos, característica conocida como portabilidad.En cuanto al código, es un lenguaje simple y sencillo con instrucciones claras y fáciles de leer. Se utilizan clases y sentencias de control, sin embargo, no presenta encapsulación. Se pueden escribir instrucciones en código C para poder ejecutar el código de una manera más rápida, por lo que Python es compatible con instrucciones de C. También cabe destacar que es un lenguaje interpretado por lo que no es necesario compilar el código antes de ejecutarlo, lo cual reduce los tiempos de espera.Es un lenguaje tipificado que cuenta con un gran número de librerías, tipos de datos y funciones que sirven de mucha ayuda al programador y simplifican su trabajo.Uno de los aspectos más importantes es que se trata de un lenguaje libre y gratuito por lo que se pueden realizar copias del software y modificarlo como se quiera con tal de mejorarlo. Como consecuencia de ello existen diversas versiones de Python.Se utiliza con mucha frecuencia gracias a que es un lenguaje de propósito general que nos permite realizar desde cualquier tipo de programa hasta desarrollar páginas web.

Page 8: Lenguaje de programacion

Lenguaje PHP:PHP fue creado en 1995 por Rasmus Lerdorf para el desarrollo de aplicaciones web dinámicas y se puede incorporar directamente a páginas HTML. PHP es interpretado y ejecutado en el lado del servidor web y posteriormente se envía el resultado al navegador.Es un lenguaje "Open Source", es decir, es software libre al cual pueden acceder todos los usuarios.PHP fue creado a partir de C, C++, Java, Pearl y Python por lo que ,a parte de tener unas características propias, tiene una mezcla de características de los lenguajes citados anteriormente.La sintaxis es muy simple, clara y fácil de aprender ya que no es necesario definir los tipos de variables y nos permite utilizar el paradigma de la programación orientada a objetos, así como, la programación orientada a procedimientos, imperativa y reflexiva. Como consecuencia de ello, obtenemos un código sencillo, ordenado, estructurado y fácil de manejar.Al igual que el resto de lenguajes citados, es portable y nos permite utilizarlo en cualquier servidor web de cualquier sistema operativo. Como se ha comentado anteriormente, PHP fue diseñado para Microsoft y sus sistemas operativos, por lo que si se quiere utilizar en otros sistemas operativos que no sean de Microsoft es necesaria una adaptación.Es un lenguaje robusto y estable que dota de gran seguridad a las páginas web contra ataques no deseados.

Page 9: Lenguaje de programacion

Conclusión

Los lenguajes de programación son como el fundamento y la base del desarrollo y avance de la computación y de cómo podemos interpretar su simbología, además nos ayuda a comprender los conceptos básicos, clasificación, diferencias, propiedades y funcionamiento de los lenguajes de programación que es el propósito de la Investigación.Luego del desarrollo de esta investigación resulta fácil comprender los tipos y la clasificación que se les da a los lenguajes de programación en base a sus funcionalidades y características. 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 conocimiento, 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.

Page 10: Lenguaje de programacion

Bibliografía

http://www.monografias.com/trabajos38/tipos-lenguajes-programacion/tipos- lenguajes-programacion2.shtml#ixzz2hgElxmox

http://es.wikipedia.org/wiki/Lenguaje_de_programaci%C3%B3n http://www.monografias.com/trabajos14/lenguaje-programac/lenguaje-

programac.shtml#ixzz2hgCB35iL http://www.desarrolloweb.com/articulos/2358.php http://borjacasla.blogspot.com/2013/03/los-5-lenguajes-de-programacion-

mas_2795.html