Diferencia entre revisiones de «Lenguaje de programación»

De MateWiki
Saltar a: navegación, buscar

Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/mat/public_html/w/includes/diff/DairikiDiff.php on line 434
(Página creada con «Los lenguajes de programación permiten escribir programas para que se ejecuten en un ordenador. Existen muchos lenguajes de programación de diferentes tipos, que presenta...»)
 
(Tipos de lenguajes de programación)
Línea 27: Línea 27:
 
INT 20h                ; llamada al MS DOS para finalizar el programa
 
INT 20h                ; llamada al MS DOS para finalizar el programa
 
   end programa|lang="asm"}}
 
   end programa|lang="asm"}}
 +
Como podemos observar es un lenguaje muy complejo, que necesita muchas líneas de código para realizar una tarea muy sencilla. Conforme la tecnología de los ordenadores fue avanzando, también cambiaron los lenguajes de programación. Se crearon lenguajes de ''alto nivel''. Un lenguaje de alto nivel es más fácil de entender por parte de los programadores, pero requiere ser traducido a lenguaje máquina para poder ser ejecutado por el ordenador. Por este motivo, los programas escritos en lenguajes de alto nivel suelen ser más lentos que los programas escritos en lenguajes de alto nivel. Aunque el tiempo de desarrollo requerido para escribir programas en lenguajes de alto nivel es mucho menor.
  
  
Conforme la tecnología de los ordenadores fue avanzando, también cambiaron los lenguajes de programación. Se crearon lenguajes de ''alto nivel''. Un lenguaje de alto nivel es más fácil de entender por parte de los programadores, pero requiere ser traducido a lenguaje máquina para poder ser ejecutado por el ordenador. Por este motivo, los programas escritos en lenguajes de alto nivel suelen ser más lentos que los programas escritos en lenguajes de alto nivel. Aunque el tiempo de desarrollo requerido para escribir programas en lenguajes de alto nivel es mucho menor. La siguiente tabla muestra un resumen de ventajas e inconvenientes de los lenguajes de alto y bajo nivel:
+
Por ejemplo, el programa equivalente al de arriba en lenguaje [[MATLAB]] sería
 +
{{#tag:source|disp('Hola mundo');|lang="matlab"}}
 +
Es decir, necesita una única línea de código. Sin embargo, el programa MATLAB necesita un intérprete para que el ordenador entienda el programa. El intérprete consume muchos recursos de la máquina, por lo que se ejecutará de manera mucho más lenta que el programa anterior, y también necesitará más memoria RAM y un procesador más potente.
 +
 
 +
 
 +
La siguiente tabla muestra un resumen de ventajas e inconvenientes de los lenguajes de alto y bajo nivel:
  
 
{| class="wikitable"
 
{| class="wikitable"

Revisión del 11:08 25 jul 2013

Los lenguajes de programación permiten escribir programas para que se ejecuten en un ordenador. Existen muchos lenguajes de programación de diferentes tipos, que presentan ventajas e inconvenientes según el tipo de programa que se vaya a desarrollar. Los lenguajes de programación cumplen las mismas reglas que otros lenguajes naturales, aunque son lenguajes artificiales.

Tipos de lenguajes de programación

Algunos lenguajes son de propósito general, y otros son más adecuados para tareas especializadas (desarrollo de aplicaciones en la web, en el escritorio, en un móvil, cálculo científico).

El ordenador es capaz de entender un lenguaje denominado lenguaje máquina o lenguaje ensamblador. En los primeros tiempos de la Informática, los programadores escribían código directamente en este lenguaje máquina. Este tipo de lenguajes eran muy complejos de usar por parte de los programadores, pero muy sencillo de ejecutar por parte del ordenador. Por este motivo, los programas escritos en lenguaje máquina se suelen ejecutar con rapidez y sin requerir muchos recursos.

Por ejemplo, el siguiente programa en ensamblador escribe el mensaje Hola mundo en la pantalla:

; ---------------------------------------------
; Programa que imprime un string en la pantalla
; ---------------------------------------------
	.model small               ; modelo de memoria
	.stack                     ; segmento del stack
	.data                      ; segmento de datos
	Cadena1 DB 'Hola Mundo.$'  ; string a imprimir (finalizado en $)
	.code                      ; segmento del código
; ---------------------------------------------
; Inicio del programa
; ---------------------------------------------	
  programa:
		MOV AX, @data           ; carga en AX la dirección del segmento de datos
		MOV DS, AX              ; mueve la dirección al registro de segmento por medio de AX
		MOV DX, offset Cadena1  ; mueve a DX la dirección del string a imprimir
		MOV AH, 9               ; AH = código de la función del MS DOS para imprimir un string en la pantalla
		INT 21h                 ; llamada al MS DOS para imprimir un string en la pantalla
		INT 20h                 ; llamada al MS DOS para finalizar el programa
  end programa

Como podemos observar es un lenguaje muy complejo, que necesita muchas líneas de código para realizar una tarea muy sencilla. Conforme la tecnología de los ordenadores fue avanzando, también cambiaron los lenguajes de programación. Se crearon lenguajes de alto nivel. Un lenguaje de alto nivel es más fácil de entender por parte de los programadores, pero requiere ser traducido a lenguaje máquina para poder ser ejecutado por el ordenador. Por este motivo, los programas escritos en lenguajes de alto nivel suelen ser más lentos que los programas escritos en lenguajes de alto nivel. Aunque el tiempo de desarrollo requerido para escribir programas en lenguajes de alto nivel es mucho menor.


Por ejemplo, el programa equivalente al de arriba en lenguaje MATLAB sería

disp('Hola mundo');

Es decir, necesita una única línea de código. Sin embargo, el programa MATLAB necesita un intérprete para que el ordenador entienda el programa. El intérprete consume muchos recursos de la máquina, por lo que se ejecutará de manera mucho más lenta que el programa anterior, y también necesitará más memoria RAM y un procesador más potente.


La siguiente tabla muestra un resumen de ventajas e inconvenientes de los lenguajes de alto y bajo nivel:

Lenguajes de alto nivel Lenguajes de bajo nivel
Ventajas Fáciles de entender y usar por los programadores. Tiempo de desarrollo corto. Fáciles de ejecutar por el ordenador. Tiempo de ejecución rápido.
Inconvenientes Requieren traducción a un lenguaje de bajo nivel. Tiempo de ejecución lento. Difíciles de entender por los programadores. Provoca problemas de mantenimiento de software. Tiempo de desarrollo largo.

En la práctica se suelen emplear mucho más los lenguajes de alto nivel. Pero esto requiere usar un programa que haga de traductor a lenguaje máquina. Existen dos clases de estos programas traductores:

  • Compiladores
  • Intérpretes

Un compilador es un programa que toma el código fuente escrito en un lenguaje de alto nivel, y lo transforma en un archivo escrito en lenguaje de bajo nivel, que es ejecutable directamente por el sistema operativo. Una vez generado el programa por parte del compilador, ya no se necesita usar el compilador cada vez que se quiera ejecutar el programa, se puede ejecutar directamente. Ésta es la principal ventaja de los compiladores.

Un intérprete es un programa que lee el código fuente escrito en un lenguaje de alto nivel, y lo ejecuta línea a línea, directamente. Es decir, no genera ningún programa nuevo escrito en lenguaje máquina. Por este motivo, es necesario usar el intérprete cada vez que queramos ejecutar el programa de alto nivel. A pesar de esta desventaja respecto a los compiladores, es más fácil depurar y revisar la ejecución de un programa con un intérprete que con un compilador.