Definiciones En computación, es cualquier lenguaje artificial utilizado para definir adecuadamente, una secuencia de instrucciones que puedan ser interpretadas y ejecutadas en una computadora.
Conjunto de reglas, símbolos y palabras especiales usados
para construir las instrucciones de un programa.
Cada lenguaje tiene su propio léxico (conjunto de reglas que
a partir de un alfabeto, constituye un conjunto de símbolos que generan un lenguaje) y sintaxis (reglas que permiten escribir correctamente un programa). Definiciones Es un código formado por símbolos y palabras reservadas, que instruye a un computador para realizar tareas computacionales.
Un lenguaje de programación es aquel elemento dentro de la
informática, que nos permite crear programas mediante un conjunto de instrucciones, operadores y reglas de sintaxis; que pone a disposición del programador para que éste pueda comunicarse con los dispositivos hardware y software existentes.
Es el medio mediante el cual, el programador puede
desarrollar programa específico, que sirvan de comunicación entre los humanos y el computador. Ejemplos de Lenguajes de Programación más usados Características de Lenguajes de Programación Ambigüedad: Debe evitar que las sentencias se puedan interpretar de formas diferentes. Linealidad: La percepción humana se facilita cuando se encuentra una secuencia lineal de sentencias. Las grandes ramificaciones y bucles violan la linealidad del procesamiento. Expresividad: Que pueda reflejar el significado deseado por el programador. Portabilidad del código fuente: El código fuente puede ser transportado de un procesador a otro y de un compilador a otro, para ser ejecutado sin ninguna o muy pocas modificaciones. Características de Lenguajes de Programación
Disponibilidad de herramientas de desarrollo: que permitan acortar el
tiempo requerido para la generación del código fuente y puede mejorar la calidad del código. Estas herramientas incluyen: compiladores con depuradores, bibliotecas, librerías, etc. Soporte de estructuras de datos y tipos de datos, que sean lo suficientemente flexibles para su manejo. Modularidad: que permita la definición de procedimientos y funciones independientes , tal que los programas largos puedan dividirse en una serie de subtareas identificables. Eficacia: Se refiere a la traducción y ejecución rápida sobre las máquinas en donde está implementado el programa, y al uso eficaz de la memoria. Máquina
Son aquellos cuyas instrucciones son directamente entendibles
por el computador, ya que se expresan en términos del alfabeto binario formado por los símbolos 1 y 0 ( BIT).
No necesitan traducción posterior para que la CPU pueda
comprender y ejecutar el programa.
Las instrucciones son inteligibles por el computador, pero muy
difíciles de entender por el programador. Máquina Las instrucciones son inteligibles por el computador, pero muy difíciles de entender por el programador.
Código de Lenguaje Lenguaje Máquina
S= A * B 01010010000001000100101001001 X= Y + Z 00100100001001001001110001010 Print S, X 11000101000001000100111010110 : : : : Bajo Nivel Es el primer intento de sustituir el lenguaje de Máquina por uno más similar al utilizado por los humanos para comunicarse.
Para hacer más fácil el manejo del código máquina, se le asignó a
cada instrucción un mnemónico (abreviatura palabra en inglés), dando como resultado un lenguaje basado en mnemónicos (Assembler), específico para cada microprocesador.
Algunos ejemplos típicos de palabras nemotécnicas son:
ADD ► Suma DIV ► División SUB ► Resta LOAD ► Cargar acumulador MPY ► Multiplicación STORE ► Almacenar Bajo Nivel Algunos ejemplos típicos de palabras nemotécnicas son:
ADD ► Suma DIV ► División
SUB ► Resta LOAD ► Cargar acumulador MPY ► Multiplicación STORE ► Almacenar
Instrucción en lenguaje convencional Instrucción en lenguaje nemotécnico
Carga el registro A con el valor 0 START: LOAD A,O Mueva del registro A al registro B MOV B,A Incremente con D al contenido registro A LOP1: ADD A ,D Multiplique por B al contenido registro A MLT A,B Divide por B al contenido registro A DIV A,B Ventajas lenguaje de Bajo Nivel Los programas son más fáciles de leer y escribir por el uso del código mnemónico, por tanto, más fácil de programar, en comparación con lenguaje de máquina. Los programadores pueden trabajar con mayor precisión y eficiencia en lenguaje ensamblador que en lenguaje máquina. Hay una disminución considerable en el tiempo de programación y mantenimiento de los programas. Posee menos posibilidad de cometer errores. Mayor adaptación al equipo. Desventajas lenguaje de Bajo Nivel Está orientado a la máquina. Los programas no son portables; son dependientes de la máquina, ya que cada modelo de microprocesador tiene su propio lenguaje ensamblador. La formación del programador es compleja, ya que exige no solo el conocimiento de las técnicas de programación del lenguaje, sino también el conocimiento del hardware del computador, ya que se manejan directamente la posiciones de memoria, los registros del procesador, etc. Se trabaja a nivel de Microinstrucciones, es decir, su programación es elemental y al detalle. Por ello, hay dificultad en la programación y en la comprensión de los programas. Alto Nivel Son lenguajes evolucionados, es decir, son aquellos en los que las instrucciones o sentencias son escritas en palabras similares al lenguaje humano, con una aproximación al lenguaje natural, para que el programa se pueda escribir y leer de una forma más sencilla.
En general, las instrucciones se encuentran en idioma inglés, lo que
facilita la escritura y comprensión del programador.
Incluyen rutinas de uso frecuente como son las de entrada/salida,
funciones matemáticas, manejo de tablas, etc, que figuran en una especie de librería del lenguaje, de tal manera que se pueden utilizar siempre que se quieran sin necesidad de programarlas cada vez. Alto Nivel Alto Nivel Ventajas Aproximadas al lenguaje natural, para que el programa se pueda escribir y leer de una forma más sencilla. Son transportables. Son independientes de la máquina. Incluye el uso de subrutina frecuente. Disminuyen el costo de mantenimiento el programa. Alto Nivel Desventajas No son entendible directamente por el computador, por lo cual requieren ser traducidos a lenguaje de máquina. Incremento en el tiempo de traducción del programa. Incremento de la utilización de memoria interna. Incremento en el tiempo de ejecución.