TEMA 1 LENGUAJES DE PROGRAMACION 1.- Introducción Por los años 1950 se desarrollo el primer lenguaje denominado FORTRAN desarrollados por IBM dirigida a aplicaciones científicas y cálculos matemáticos. Mas o menos por las mismas épocas apareció el COBOL (Conmon Bussines Oriented Languaje) para aplicaciones comerciales; el LISP, el ALGOL y otros. Dentro de lo que se llama lenguajes de alto nivel fueron desarrollados una infinidad de lenguajes de programación como: PL/1, BASIC, PROLOG, PASCAL, ... , etc. 2.- Concepto de Lenguaje de Programación. Un lenguaje de programación es una notación conformada por instrucciones que son generalmente palabras en inglés, los cuales además de permitirnos comunicarnos de manera escrita con la computadora nos ayuda a realizar tareas en la computadora. 3.- Que es un procesador de lenguaje. Un procesador de lenguaje convierte a código binario las instrucciones escritas en un lenguaje de programación. El conjunto de instrucciones escritas en el lenguaje de programación se llama código fuente y el conjunto de traducciones binarias ya traducidas que la computadora puede ejecutar es el código objeto. 4. Clasificación de los lenguajes. Los estudiosos en lenguajes de programación clasifican en tres tipos: 4.1. Lenguajes de nivel máquina. Son lenguajes cuyas instrucciones son directamente entendibles por cada computador, utiliza números binarios (0 y 1). Ejemplo: 0010, 10110 Características: No necesitan traducción intermedia Cada computadora tiene su propio lenguaje de máquina específico Resulta muy lento y complicado programar 4.2. Lenguajes de bajo nivel (ensambladores) Las instrucciones se escriben en códigos alfabéticos conocidos como nemotécnicos (abreviaturas de palabras inglesas o españolas). Ejemplo: ADD a, b, c. El programa ensamblador traducirá la instrucción a código de máquina. 4.3. Lenguajes de alto nivel Las instrucciones utilizan palabras similares a los lenguajes humanos (son palabras en inglés) lo que facilita la escritura y la fácil comprensión para el programador. Ejemplo: c = a+b read (f) write (c) características: Son parecidos a nuestro lenguaje habitual y facilitan la programación La computadora no entiende directamente, necesitan emplear un traductor Los programas son transportables Los lenguajes de alto nivel se clasifican en dos grupos: Lenguajes procedimentales Se caracterizan porque son imperativos, es decir se escribe estrictamente los pasos a seguir para resolver los problemas. Ejemplo: COBOL, LOGO, PASCAL, etc. Lenguajes declarativos Dicen que hay que hacer, pero no determinan el como y cuando, dan reglas a seguir para la resolución de problemas, el mas difundido es PROLOG que está orientado a la Inteligencia Artificial. 5.- Generación de lenguajes. La generación de los lenguajes de programación se desarrolla paralelamente a la generación de computadoras y a la clasificación de los mismos. Primera Generación.- Los lenguajes de máquina utilizados en computadoras ENIAC. Segunda Generación.- Los lenguajes de bajo nivel o denominados ensambladores. Ejemplo: Assembler, Turbo Asemmbler. Tercera Generación.- Se encuentran los lenguajes de alto nivel: BASIC, FORTRAN, COBOL, PROLOG. Cuarta Generación.- Son aquellos lenguajes de programación orientado a la gestión administrativa como: INFORMIX 4GL, FOXPRO, C++. Quinta Generación.- Son los lenguajes Orientados a Objetos y a eventos, ejemplos: Visual Basic, Visual Foxpro, Delphi, etc. 6.- Traductores.- Son programas que traducen un programa escrito en lenguaje de alto nivel a código de máquina . Existen dos tipos de traductores: 6.1.- Compiladores Traduce de una vez todo un programa fuente convirtiéndolo en programa objeto listo para su ejecución. Utilizan compiladores el PASCAL, el C, el FOXPRO. 6.2.- Intérprete Traduce paso a paso, conforme va ejecutando ya a medida que el ordenador lo necesite, ejemplo: el BASIC, GOFHER. Los lenguajes orientados a objetos hoy en día se aplican en diferentes áreas en conjunto. 7.- Diseño de un programa.Para la realización de un programa óptimo el programador en lo posible debe seguir los siguientes pasos: a) Definir el problema Tiene la particularidad de establecer que es lo que se tiene, que es lo que se quiere, cuál es el problema y cual debe ser la solución. b) Análisis de la solución Esto requiere el conocimiento teórico y lógico de procedimientos que nos pueden ayudar a determinar los proceso para resolver el problema, generalmente son de tipo aritmético. c) Formulación del algoritmo Un algoritmo o pseudocódigo es una sucesión de pasos finitos que se supone que la computadora debe seguir paso a paso hasta encontrar la solución del problema, por lo tanto debe ser claro y definido en lo posible de propósito general. d) Representación del algoritmo El algoritmo se puede representar de manera gráfica a través de un diagrama de flujo utilizando símbolos especiales, también se puede representar a través de un pseudócogico. e) Codificación Consiste en transcribir el detalle del diagrama de flujo o pseudócodigo a un determinado lenguaje de programación utilizando instrucciones propias de dicho lenguaje. f) Corrida del prueba Es la ejecución y compilación del programa, y la conversión del programa fuente en programa objeto. g) Verificación y depuración del programa Depurar es encontrar errores en el programa, existen tres tipos de errores: error de compilación, de ejecución y error lógico. h) Documentación Se utiliza para identificar el propósito del programa, poner comentarios, poner anexos.