Primeros pasos para programar (parte 4)

Los lenguajes de programación (clasificación)

  El lenguaje es un medio que tanto seres humanos como animales utilizamos para comunicarnos entre si (¿quien lo hubiera pensado?)........ pero esta no es una clase de lengua española e.e.... vamos a hablar de un lenguaje en específico, un lenguaje formal (osea totalmente inventado por el hombre) que tiene como función escribir programas  mediante la comunicación usuario/máquina.  


  En el post anterior hablamos de los que son los editores de texto y sus anexos importantísimos: los compiladores o traductores.  Como pudimos leer, los compiladores sirven para convertir las instrucciones escritas por nosotros en lenguaje de programación, a lenguaje de máquina (sistema binario 0 y 1), para que la máquina que no sabe tu idioma  pueda entender lo que estas hablándole.


  Existen 3 tipos de lenguajes de programación: lenguaje máquina, los lenguajes de bajo nivel, y los de alto nivel.  Hay una pequeña confusión entre diversos libros que enseñan programación desde cero, puesto que varios de ellos hablan de los lenguajes de mediano nivel (que están entre el bajo y el alto nivel.. dah me pase de obvia XD) pero acá los incluiremos entre los lenguajes de alto nivel.


Lenguaje máquina (sistema binario)

  Definición formalizada de mi profesor de programación:
Representación mediante el sistema binario de la información en la memoria del computador y cuya interpretación puede ser llevada a cabo mediante  comandos de código binario para ser procesado.

  Este lenguaje es directamente inteligible por la computadora, debido a que sus instrucciones son cadenas binarias que especifican una operacion y las posiciones de memoria implicadas en la operación.  La computadora solo puede comprender un sistema de instrucciones en el que escoge 2 únicas opciones: 1(encendido/verdadero) y 0(apagado/falso).

  La única ventaja que posee programar en lenguaje de máquina es la posibilidad de cargar un programa sin necesidad de traducirlo.  Los inconvenientes superan a las ventajas no solo en número, sino en lo que implica y cuan tedioso es:
-Dificultad y lentitud en la codificación.
-Poca fiabilidad.
-Gran dificultad de verificar y poner a punto los programas.
-Solo son ejecutables en ese hadware.


Lenguaje de bajo nivel (ensamblador)

  Son mas fáciles de usar que los lenguaje máquina pero al igual que ellos dependen de la máquina en particular.  Las instrucciones del lenguaje ensamblador son conocidas como nemotécnicos o mnemotécnicos.  No puede ser ejecutado por la computadora, requiere un traductor.

  El programa original escrito en lenguaje ensamblador se denomina programa fuente, y el escrito en lenguaje máquina se conoce como programa objeto.  

  Los lenguajes ensambladores presentan la ventaja frente a los lenguaje máquina por su facilidad de codificación y su velocidad en el cálculo (en comparación con el lenguaje máquina recalco, codificar en ensamblador es un trabajo de esclavo).  Sus inconvenientes más notables son:
-Dependencia total de la máquina, lo que impide la transportabilidad de los programas.
-La formación de los programas es más compleja que la correspondiente a los lenguajes de alto nivel.


  Claro que cualquiera que se crea bravo puede intentar aprenderlo desde antes de saber otros programas más sencillos XD suerte con eso.  Les dejo el link aqui.

Lenguajes de alto nivel

  En la actualidad son los más utilizados por los programadores, están diseñados para que las personas escriban y entiendan los programas de un modo más fácil que en un lenguaje máquina o un ensamblador.


  Son totalmente independientes de la máquina, una ventaja grandísima, no dependen del diseño del hadware o de una computadora en particular.  Por tanto son portables o transportables sin mostrar inconvenientes al respecto.

Presentan las siguientes ventajas:
-El tiempo de formación de los programadores es bien corto en comparación con otros lenguajes.
-La escritura de los programas es similar a la de los lenguajes humanos por sus reglas sintácticas y palabras sencillas.
-Reduce el coste de los programas.
-Por supuesto la transportabilidad!!

Los inconvenientes son los siguientes:
-Incremento del tiempo de puesta al punto.
-No se aprovechan los recursos internos de la máquina al ser independiente de esta.
-Aumento de la ocupación de la memoria.
-Reducción de la velocidad: El tiempo de ejecución de los programas es mucho mayor.

  Al igual que los ensambladores, los de alto nivel igual necesitan ser traducidos por programas traductores.

Comentarios

Entradas populares