Tema # 1 LENGUAJES DE PROGRAMACION 1.- Antecedentes. Con la aparición de la MARK I que fue la primera computadora electromecánica surgió la necesidad de crear el software (programas). Con la aparición de las computadoras de la primera generación se introdujo también el lenguaje de máquina basado en el sistema binario; este lenguaje de máquina es muy difícil para el ser humano de usar es por eso que paralelamente a la segunda generación de computadoras apareció el lenguaje ensamblador basado en códigos simbólicos, aún así seguían siendo complicados. 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, 1011 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) caracteristicas: 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: a) 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. b) 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.computadoras ENIAC. Los lenguajes de máquina utilizados en 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: compiladores e intérpretes. Programa Fuente TRADUCTOR Programa Objeto 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. 7.- Aplicaciones de los lenguajes de programación. Con la constante evolución de los lenguajes de programción, estos tienden a desarrollarse y orientarse a diferentes áreas de aplicación. Area Científica Matemática. Son aquellos lenguajes de programación diseñados a resolver problemas matemáticos: FORTRAN, APL, PASCAL Area Administrativa, Organizativa y Empresarial. Son todos los lenguajes relacionados con la actividad administrtativa dentro de las empresas y organizaciones. Ejemplo: COBOL, FOXPRO, INFORMIX, C, SNOBOL, VISUAL BASIC, DELPHI Area de investigación. Son aquellos lenguajes orientados a la Inteligencia Artificial, Sistema Expertos, Robótica. PROLOG, LISP, ADA. Los lenguajes orientados a objetos hoy en día se aplican en diferentes áreas en conjunto, y utilizan nuevos conceptos como ser: objeto, clase, herencia, polimorfismo, encapsulamiento y otros, además la mayoria de estos lenguajes presentan un entorno gráfico lo que hace que su manejo y su programación sea mas fácil para el programador novato o simplemente para el usuario. Como ejemplos de estos lenguajes podemos citar: Visual Basic, Java, Visual C, C++, Visual Foxpro, etc. PREGUNTAS DE REPASO 1.- Defina puntualmente que es un lenguaje de programación ? 2.- Cual es la clasificación para los lenguajes de programación ? 3.- Dentro de los lenguajes de alto nivel existen otros lenguajes. Cuales son? 4.- Investigue acerca de la evolución de los lenguajes. 5.- En que consiste en lenguaje procedimental?