Tema II. Definición de Lenguajes de Programación. Características Lenguajes de Programación Un lenguaje de programación sirve para especificar instrucciones en alto nivel (palabras en lenguaje natural) que luego serán entendidas por el computador. Son los utilizados para escribir los programas de computadora. Un algoritmo es un programa cuando el procesador encargado de su ejecución es una computadora. Los principales lenguajes utilizados son tres: • Lenguaje de máquina. • Lenguaje de bajo nivel (ensamblador). • Lenguaje de alto nivel. Los diferentes pasos o acciones de un algoritmo se expresan en os programas como instrucciones, sentencias o proposiciones. Por consiguiente, un programa consta de una secuencia de instrucciones cada una de las cuales especifica ciertas operaciones que debe ejecutar la computadora. Existen sin embargo, determinados tipos de instrucciones: Instrucciones de Entrada/Salida, aritmético-lógicas, selectivas y repetitivas. Existen muchos lenguajes de programación, entre los más conocidos están: C/C++, Python, Pascal, Delphi, Basic, Java, Perl, C#, Smalltalk, etc. Los lenguajes de programación tienen una notación especial, llamada sintaxis. Es estricta para cada lenguaje. Sintaxis En C++: if (condición) { instrucción1; instrucción2; } else { instrucción5; instrucción6; } En Pascal: if condición then begin instrucción1 instrucción2 end else condición2 begin instrucción3 instrucción4 end Semántica En C++: ‘=‘ - asignación variable=5; En Pascal: ‘=‘ – comparación if variable=5 then Generación I: Los primeros ordenadores se programaban directamente en código binario. Lenguaje de máquina. II: Lenguajes simbólicos simplifican la escritura de las instrucciones y las hacen más legibles. III: Lenguajes de alto nivel con códigos independientes de la máquina, parecidas al lenguaje humano. IV: Herramientas que permiten construir aplicaciones sencillas combinando piezas prefabricadas (librerías). Algunos proponen reservar el nombre de cuarta generación para la POO. V: Lenguajes de la inteligencia artificial. Orientación Modular: Utiliza únicamente tres instrucciones de control: un bloque secuencial de instrucciones, la instrucción condicional alternativa de la forma "IF-THEN-ELSE“ y un bucle condicional "WHILE". (teorema demostrado por Dijkstra en los años sesenta). Objetos: define los programas en términos de “clases de objetos", objetos que son entidades que combinan estado (es decir, datos) y comportamiento (esto es, procedimientos o métodos). Popularidad Hasta la fecha la mayoría de los programas implementados exitosamente están desarrollados en C/C++ o Java. Software Libre / Propietario El software libre se desarrolla gracias a la colaboración de los usuarios de una comunidad. El software propietario es desarrollado por una empresa bajo sus estándares.