Bien el día de hoy hablaremos un poco acerca de la clasificación de los lenguajes de programación, así que comenzamos.
Los lenguajes de programación pueden ser de uno de 3 tipos:
Lenguajes De Bajo Nivel: Los lenguajes de bajo nivel son aquellos que poseen un método muy rudimentario para dar ordenes al computador es decir es aquel en el que sus instrucciones ejercen un control directo sobre el hardware y están condicionados por la estructura física de las computadoras que lo soportan, en pocas palabras las instrucciones escritas son totalmente dependientes de la maquina y generalmente hoy siguen siendo usados para generar drivers especialmente personalizados. Los lenguajes de bajo nivel pueden ser subdivididos en:
- Lenguaje Maquina: Es el lenguaje de programación que entiende directamente la computadora. Este lenguaje de programación utiliza el sistema binario, es decir utiliza los dígitos binarios 0 y 1 para formar las ordenes entendibles por el hardware de la maquina. Este lenguaje es mucho más rápido que los lenguajes de alto nivel. La desventaja es que son bastantes difíciles de manejar y usar, además de tener códigos fuente enormes donde encontrar un fallo es casi imposible.
- Lenguaje Ensamblador: es un derivado del lenguaje maquina y esta formado por abreviaturas de letras y números llamadas mnemotécnicos. Con la aparición de este lenguaje se crearon los programas traductores para poder pasar los programas escritos en lenguaje ensamblador a lenguaje máquina. Como ventaja con respecto al código máquina es que los códigos fuentes eran más cortos y los programas creados ocupaban menos memoria. Las desventajas de este lenguaje siguen siendo prácticamente las mismas que las del lenguaje ensamblador, añadiendo la dificultad de tener que aprender un nuevo lenguaje difícil de probar y mantener.
Con el fin de pasar de lenguaje ensamblador a lenguaje de máquina, el código debe pasar por el "ensamblador". Este es un programa que toma el código de lenguaje ensamblador críptico y lo traduce a 1s y 0s. El paso de montaje es normalmente bastante rápido y produce un archivo en un formato que el ordenador puede leer y ejecutar.
Lenguajes De Nivel Medio: Se trata de un termino no aceptado por todos. Estos lenguajes se encuentran en un punto medio. Dentro de estos lenguajes podría situarse C ya que puede acceder a los registros del sistema, trabajar con direcciones de memoria, todas ellas características de lenguajes de bajo nivel y a la vez realizar operaciones de alto nivel.
Lenguajes De Alto Nivel: Son prácticamente los lenguajes de Programación que manejamos hoy en día, poseen una escritura mas natural a la vista humana, generalmente basados en palabras e instrucciones en ingles. Son independientes de la máquina, los podemos usar en cualquier computador con muy pocas modificaciones o sin ellas, son muy similares al lenguaje humano, pero precisan de un programa interprete o compilador que traduzca este lenguaje de programación de alto nivel a uno de bajo nivel como el lenguaje de máquina que la computadora pueda entender.
Están dirigidos a solucionar problemas mediante el uso de EDD' los cuales son las abreviaturas de Estructuras Dinamicas de Datos, algo muy utilizado en todos los lenguajes de programación. Son estructuras que pueden cambiar de tamaño durante la ejecución del programa. Nos permiten crear estructuras de datos que se adapten a las necesidades reales de un programa.
Estos lenguajes permiten al programador olvidarse por completo del funcionamiento interno de la maquina/s para la que están diseñando el programa. Tan solo necesitan un traductor que entiendan el código fuente como las características de la maquina.
Ahora los lenguajes de programación actuales en su mayoría son de Alto Nivel, y como hemos mencionado los lenguajes de alto nivel utilizan un programa traductor que se encarga de convertir todo el código escrito por el programador a un lenguaje de bajo nivel entendible por la maquina, a estos tipos de programas se le denomina interpretes o compiladores según sea el caso, de esta manera:
Diferencia entre un Interprete y un Compilador
Compilador: Un intérprete lee un programa de alto nivel y lo ejecuta, lo que significa que lleva a cabo lo que indica el programa. Es decir, traduce el programa poco a poco, leyendo y ejecutando cada comando. En otras palabras a medida que se escribe el código este es traducido a lenguaje maquina.
Interprete: Un compilador lee el programa y lo traduce completo antes de su ejecución. En este caso, al programa de alto nivel se le llama código fuente, y el programa traducido es llamado código objeto o programa ejecutable. Una vez que un programa ha sido compilado, puede ser ejecutado repetidamente sin necesidad de más traducción. En otras palabras el código es traducido una vez que se ha terminado de escribir por completo y no antes.
Muchos de los lenguajes modernos usan ambos tipos de programas de traducción. Estos lenguajes se traducen primero a un lenguaje de bajo nivel, llamado código de bytes, y después son interpretados por un programa denominado máquina virtual. Aunque Python usa ambos tipos de programas de traducción, usualmente se le considera un lenguaje interpretado debido a la manera en que los programadores interactúan con él.
Fuentes:
gracias wey me re sirvio para los tp
ResponderEliminar