Intro a los lenguajes de prog. (ppt)

Anuncio
Lenguajes de Programación
Introducción
1. Introducción e Historia
La finalidad de un lenguaje de programación es "decirle" al ordenador qué es lo que tiene que hacer paso a paso. Esta
definición da que pensar: no parecen muy listos los ordenadores. Debido a esto es muy frecuente la expresión:
“Los ordenadores son tontos”
Necesitan de alguien que les indique lo que tienen que hacer. Y ese "alguien" es el programador. Pero una vez que
saben qué hacer y cómo, lo pueden repetir siempre que deseen, sin error posible, y a velocidades que ya quisieran los
programadores.
Desgraciadamente, el ordenador y las personas hablan idiomas diferentes: el ordenador entiende unas determinadas
secuencias de ceros y unos, llamado lenguaje o código máquina. El programador debe darle instrucciones en ese
formato. Este lenguaje o código máquina es difícil de aprender, difícil de utilizar e incluso aún más difícil de
modificar.
Se pensó que sería más útil trabajar en un lenguaje parecido o similar al lenguaje hablado, al lenguaje que usamos
diariamente. Una vez expresado el conjunto de instrucciones en ese lenguaje natural, será necesario traducir ese
lenguaje a código máquina. Pero esta labor se puede programar, y que sea el ordenador el que automáticamente haga
la traducción a lenguaje máquina. Y de esta forma surgieron los lenguajes llamados de alto nivel, y los programas
encargados de la traslación: los traductores.
Programa
Podemos definir un programa como un conjunto ordenado de instrucciones expresadas en un lenguaje de
programación.
Un lenguaje de programación, al igual que un lenguaje natural, estaría constituido por:


Un conjunto de símbolos: letras, símbolos de puntuación, etc.
Una serie de normas para la correcta combinación del anterior conjunto.
Combinando correctamente los símbolos será capaz de crear programas. Los programas serán más sencillos de escribir
cuanto más cercano sea el lenguaje de programación al lenguaje humano. En realidad son muy parecidos al lenguaje
dominante en el mundo de la informática: el inglés. Pero no se asuste, esto no es un curso de idiomas.
Evolución Histórica
Se ha comentado previamente que el primer lenguaje de programación fue el lenguaje máquina. A continuación
aparece el Lenguaje Ensamblador. En este se utilizan símbolos y códigos nemotécnicos (códigos cuyos nombres
recuerdan la acción que representan) para especificar instrucciones del código máquina. Cada instrucción del código
máquina se corresponde con una instrucción en ensamblador. Era un primer avance para simplificar las tareas de
programación.
En los años 50 comienzan a aparecer lenguajes de carácter más humano. En 1956 aparece el lenguaje FORTRAN
(FORmula TRANslation) de la mano de IBM. Este lenguaje conserva algunos vínculos con la máquina. Es un lenguaje
que aún se usa en entornos muy específicos. En 1958 aparece el lenguaje ALGOL (ALGOritmic Language). En 1959
se crea el LISP en el MIT (Instituto Tecnológico de Massachusetts), lenguaje orientado al área de Inteligencia
Artificial.
En 1960 el DoD (Departamento de Defensa de EE.UU.) crea el COBOL (Common Business Oriented Language),
lenguaje orientado a la gestión y muy utilizado en banca y empresas en general. En la década de los 60 en la
Universidad de Darmouth se desarrolla el BASIC (Beginners All-Purpose Symbolic Instruction Code), siendo éste un
lenguaje de iniciación.
En 1971 N. Wirth crea el PASCAL. Una de las principales características de este lenguaje es que es fuertemente
estructurado. Será el que nos acompañe a lo largo de este curso. En la década de los 70 Dennis Ritchie crea el
Lenguaje C. C es un lenguaje de alto y bajo nivel a la vez que ha presentado una evolución pareja a la del sistema
operativo UNIX.
A partir de ese momento la aparición de nuevos lenguajes y revisiones de los anteriores ha sido constante, sin
mencionar numerosos lenguajes de programación desarrollados específicamente para tareas muy concretas. También
han surgido todo tipo de variantes de los lenguajes anteriores con características de tipo visual o añadiendo la
programación orientada a objetos. Como posibles ejemplos tenemos Visual C, Visual Basic, C++, Pascal Orientado a
Objetos, Java.
Las herramientas visuales permiten crear aplicaciones apoyándose en rutinas ya realizadas para el manejo de
ventanas, menús desplegables, botones, etc. En el momento que se tienen claros los conceptos de programación
básicos, el salto a este tipo de programación es sencillo.
La orientación a objetos es una nueva aproximación a la hora de desarrollar una aplicación. Conceptualmente su
diseño es más complejo, pero facilita la reutilización de los programas, con lo cual se gana tiempo y dinero. De todas
formas, los conceptos de la programación estructurada y modular siguen siendo útiles en la programación orientada a
objetos.
En general todos los lenguajes de alto nivel tienen propiedades comunes: el uso de sentencias simples, existencia de
variables, expresiones, estructuras de control y funciones.
El lenguaje Pascal es quizás el más adecuado para aprender y consolidar dichos conceptos.
2. Clasificación
Vamos a realizar una primera clasificación de los Lenguajes en función de tres criterios:
1. Según su proximidad al lenguaje máquina:
o Lenguajes de bajo nivel: Son distintos para cada procesador: cada tipo de ordenador posee el suyo.
Controlan directamente los recursos hardware de la máquina. Como ejemplos tenemos el lenguaje
máquina o el ensamblador.
o Lenguajes de alto nivel: Son independientes del procesador. Son más sencillos y legibles. Para ser
ejecutados necesitan un traductor. Ejemplos: Pascal, Modula-2 o el lenguaje C.
2. Según el propósito del lenguaje:
o Lenguajes de propósito general: como el Pascal o el C.
o Lenguajes de propósito específico: por ejemplo, Cobol estaría orientado a la gestión o Fortran al
cálculo científico.
3. Según su orientación:
o Lenguajes orientados al procedimiento: son lenguajes imperativos como Pascal en los que se
describen los pasos que han de darse para resolver un determinado problema. Se explica como
resolver un problema.
o Lenguajes orientados al problema: como por ejemplo Prolog. En estos lenguajes lo que se describe es
el problema en sí; son de tipo declarativo.
En este curso se estudiará un lenguaje de alto nivel, de propósito general y orientado al procedimiento o imperativo: el
lenguaje Pascal.
Lenguajes de Alto Nivel
Los lenguajes de alto nivel buscan:



Ser un medio sencillo para expresar la solución de problemas.
Simplicidad: un conjunto reducido de operaciones básicas y un conjunto de reglas para combinar las
anteriores.
Eficiencia, de manera que permitan una traducción rápida y un código máquina eficiente.


Legibilidad, facilidad de comprensión del código, presentando la posibilidad de añadir comentarios. Todo esto
hace que sea más sencillo depurar o modificar el código, incluso por personas que no lo han realizado.
Portabilidad: los lenguajes de alto nivel son independientes de la máquina para la que se esté haciendo un
determinado desarrollo.
Veamos a continuación que elementos son necesarios para la realización de un programa.
3. Entornos de programación
Un entorno de programación es un programa o conjunto de programas que engloban todas las tareas necesarias para el
desarrollo de un programa o aplicación, que serían los siguientes:




Editor del programa.
Compilación y enlazado.
Ejecución.
Depuración.
Hay quien además incluye la creación de documentación complementaria (manual de usuario, etc.) dentro de estas
funciones.
Este tipo de entornos incorporan numerosas herramientas, utilidades, aplicaciones ya desarrolladas, ejemplos,
tutoriales, etc.
Editores
El primer elemento necesario para el desarrollo de un programa es un editor de texto. Un editor es un programa que
nos permite escribir (editar) las instrucciones del programa, y posteriormente guardar el programa en un fichero.
Cualquier editor de texto se puede utilizar para editar programas, con la única precaución de que a la hora de guardar,
salvar o almacenar el programa sólo se almacene el texto sin opciones de formato: negrita, estilos, itálica, etc.
Lo normal es utilizar un editor especialmente preparado para la programación. Estos tienen facilidades para la
corrección de errores, destacan las palabras del lenguaje en colores, y en general facilitan la labor del programador.
Traductores: compilación
Una vez editado nuestro programa, es necesario traducirlo al único lenguaje que entiende el ordenador: el código
máquina. Para ello son necesarios los traductores.
Un traductor es un programa cuyo cometido es traducir un programa escrito en lenguaje de programación (que puede
ser de alto o bajo nivel) a su correspondiente equivalente en lenguaje máquina.
Depuradores
Una vez editado y compilado el programa, es necesario ejecutarlo (run en inglés). Y no siempre funciona
correctamente.
Los depuradores son capaces de ejecutar el programa paso a paso. Esto, junto con todo un conjunto de facilidades,
posibilita la localización de errores no evidentes.
Fuente: Material extraído del sitio: www.aulamentor.es
Descargar